directus

Форк
0
/
stall.test.ts 
40 строк · 949.0 Байт
1
import { afterAll, beforeAll, expect, test, vi, type MockInstance } from 'vitest';
2
import { stall } from './stall.js';
3

4
let performanceNowSpy: MockInstance;
5

6
beforeAll(() => {
7
	vi.useFakeTimers();
8

9
	// fake timers doesn't fake performance.now(), so this is used to mock it
10
	performanceNowSpy = vi.spyOn(performance, 'now').mockReturnValue(0);
11
});
12

13
afterAll(() => {
14
	vi.useRealTimers();
15
});
16

17
const STALL_TIME = 100;
18

19
test('does not stall if elapsed time has already past the stall time', () => {
20
	const startTime = performance.now();
21

22
	// intentionally advance past the stall time first
23
	performanceNowSpy.mockReturnValueOnce(1000);
24

25
	stall(STALL_TIME, startTime);
26

27
	expect(vi.getTimerCount()).toBe(0);
28
});
29

30
test('should stall for a set amount of time', () => {
31
	const startTime = performance.now();
32

33
	stall(STALL_TIME, startTime);
34

35
	expect(vi.getTimerCount()).toBe(1);
36

37
	vi.advanceTimersByTime(STALL_TIME);
38

39
	expect(vi.getTimerCount()).toBe(0);
40
});
41

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.