mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-18 20:09:08 +02:00
ff7be7696c
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
31 lines
786 B
TypeScript
31 lines
786 B
TypeScript
import timer from './timer';
|
|
|
|
function timeout(fn, ms): Promise<void> {
|
|
return new Promise((resolve) =>
|
|
setTimeout(() => {
|
|
fn();
|
|
resolve();
|
|
}, ms),
|
|
);
|
|
}
|
|
|
|
test('should calculate the correct time in seconds', () => {
|
|
expect(timer.seconds([1, 0])).toBe(1);
|
|
expect(timer.seconds([0, 1e6])).toBe(0.001);
|
|
expect(timer.seconds([1, 1e6])).toBe(1.001);
|
|
expect(timer.seconds([1, 552])).toBe(1.000000552);
|
|
});
|
|
|
|
test('timer should track the time', async () => {
|
|
jest.useFakeTimers('modern');
|
|
const tt = timer.new();
|
|
let diff;
|
|
timeout(() => {
|
|
diff = tt();
|
|
}, 20);
|
|
jest.advanceTimersByTime(20);
|
|
expect(diff).toBeGreaterThan(0.0019);
|
|
expect(diff).toBeLessThan(0.05);
|
|
jest.useRealTimers();
|
|
});
|