Skip to content

Commit 55bf0ae

Browse files
committed
test: use-interval
1 parent a75fbd1 commit 55bf0ae

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import useInterval from '..'
2+
3+
// import {} from '@vue/test-utils'
4+
5+
describe('useInterval', () => {
6+
vitest.useFakeTimers()
7+
vitest.spyOn(global, 'clearInterval')
8+
9+
it('interval should work', () => {
10+
const callback = vitest.fn()
11+
useInterval(callback, 20)
12+
expect(callback).not.toBeCalled()
13+
vitest.advanceTimersByTime(70)
14+
expect(callback).toHaveBeenCalledTimes(3)
15+
})
16+
17+
it('interval should stop', () => {
18+
const callback = vitest.fn()
19+
20+
useInterval(callback, undefined)
21+
vitest.advanceTimersByTime(50)
22+
expect(callback).toHaveBeenCalledTimes(0)
23+
24+
useInterval(callback, -2)
25+
vitest.advanceTimersByTime(50)
26+
expect(callback).toHaveBeenCalledTimes(0)
27+
})
28+
29+
it('immediate in options should work', () => {
30+
const callback = vitest.fn()
31+
useInterval(callback, 20, { immediate: true })
32+
33+
expect(callback).toBeCalled()
34+
expect(callback).toHaveBeenCalledTimes(1)
35+
vitest.advanceTimersByTime(50)
36+
expect(callback).toHaveBeenCalledTimes(3)
37+
})
38+
})

0 commit comments

Comments
 (0)