1- import { VirtualTimeScheduler } from 'rxjs' ;
2- import { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler' ;
1+ import { TestScheduler } from 'rxjs/testing' ;
32
43export function fakeTime ( callback : ( ...args : any [ ] ) => any ) {
54 if ( callback . length === 0 ) {
@@ -11,31 +10,21 @@ export function fakeTime(callback: (...args: any[]) => any) {
1110
1211 if ( callback . length === 1 ) {
1312 return function ( ) {
14- const virtualScheduler = new VirtualTimeScheduler ( ) ;
15- AsyncScheduler . delegate = virtualScheduler ;
13+ /* istanbul ignore next */
14+ const testScheduler = new TestScheduler ( ( ) => { } ) ;
1615
17- function customFlush ( ) {
18- virtualScheduler . flush ( ) ;
19- }
20- const originalReturnedValue = callback ( customFlush ) ;
21-
22- AsyncScheduler . delegate = undefined ;
23-
24- return originalReturnedValue ;
16+ return testScheduler . run ( ( { flush } ) => {
17+ return callback ( flush ) ;
18+ } ) ;
2519 } ;
2620 }
2721
2822 return function ( done : ( ) => void ) {
29- const virtualScheduler = new VirtualTimeScheduler ( ) ;
30- AsyncScheduler . delegate = virtualScheduler ;
31-
32- function customFlush ( ) {
33- virtualScheduler . flush ( ) ;
34- }
35- const originalReturnedValue = callback ( customFlush , done ) ;
36-
37- AsyncScheduler . delegate = undefined ;
23+ /* istanbul ignore next */
24+ const testScheduler = new TestScheduler ( ( ) => { } ) ;
3825
39- return originalReturnedValue ;
26+ return testScheduler . run ( ( { flush } ) => {
27+ return callback ( flush , done ) ;
28+ } ) ;
4029 } ;
4130}
0 commit comments