mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
9de30a7b1c
The zoneless scheduler callback was executed in the root zone rather than simply in `runOutsideAngular` to allow us to land the hybrid mode change detection (scheduler always enabled, even for zones) without breaking a ton of existing `fakeAsync` tests that could/would fail with the "timer(s) still in queue" error. However, this caused another problem: when a test executes inside `fakeAsync`, it cannot flush the scheduled time. A similar problem exists with event and run coalescing (#56767). This change would allow `fakeAsync` to flush the zoneless-scheduled change detections and minimize breaking existing tests by flushing pending timers at the end of the test, which actually now matches what's done internally. PR Close #56932