This repository was archived by the owner on Apr 18, 2022. It is now read-only.
Description I removed the last 2 tests here because they relied on system time and would intermittently fail. Need to figure out a better way to test FakeTime.
Deno . test ( "FakeTime ticks forward when advanceRate is set" , async ( ) => {
let time : FakeTime = new FakeTime ( null , { advanceRate : 1 } ) ;
let start : number = Date . now ( ) ;
try {
assertEquals ( Date . now ( ) , start ) ;
await delay ( 11 ) ;
assertEquals ( Date . now ( ) , start + 10 ) ;
await delay ( 6 ) ;
assertEquals ( Date . now ( ) , start + 10 ) ;
await delay ( 16 ) ;
assertEquals ( Date . now ( ) , start + 30 ) ;
time . restore ( ) ;
time = new FakeTime ( null , { advanceRate : 1000 } ) ;
start = Date . now ( ) ;
assertEquals ( Date . now ( ) , start ) ;
await delay ( 11 ) ;
assertEquals ( Date . now ( ) , start + 10000 ) ;
await delay ( 6 ) ;
assertEquals ( Date . now ( ) , start + 10000 ) ;
await delay ( 16 ) ;
assertEquals ( Date . now ( ) , start + 30000 ) ;
} finally {
time . restore ( ) ;
}
} ) ;
Deno . test ( "FakeTime ticks forward at advanceFrequency when advanceRate is set" , async ( ) => {
let time : FakeTime = new FakeTime (
null ,
{ advanceRate : 1 , advanceFrequency : 15 } ,
) ;
let start : number = Date . now ( ) ;
try {
assertEquals ( Date . now ( ) , start ) ;
await delay ( 16 ) ;
assertEquals ( Date . now ( ) , start + 15 ) ;
await delay ( 11 ) ;
assertEquals ( Date . now ( ) , start + 15 ) ;
await delay ( 21 ) ;
assertEquals ( Date . now ( ) , start + 45 ) ;
time . restore ( ) ;
time = new FakeTime ( null , { advanceRate : 1000 , advanceFrequency : 15 } ) ;
start = Date . now ( ) ;
assertEquals ( Date . now ( ) , start ) ;
await delay ( 16 ) ;
assertEquals ( Date . now ( ) , start + 15000 ) ;
await delay ( 11 ) ;
assertEquals ( Date . now ( ) , start + 15000 ) ;
await delay ( 21 ) ;
assertEquals ( Date . now ( ) , start + 45000 ) ;
} finally {
time . restore ( ) ;
}
} ) ;
Reactions are currently unavailable
I removed the last 2 tests here because they relied on system time and would intermittently fail. Need to figure out a better way to test FakeTime.
mock/time_test.ts
Lines 303 to 360 in a22be7f