blob: 7ef51e5b5d881769347fa68298ff178d66d47c1c [file] [log] [blame]
Bram Moolenaar975b5272016-03-15 23:10:59 +01001" Test for timers
2
3if !has('timers')
4 finish
5endif
6
7func MyHandler(timer)
8 let s:val += 1
9endfunc
10
11func Test_oneshot()
12 let s:val = 0
13 let timer = timer_start(50, 'MyHandler')
14 sleep 200m
15 call assert_equal(1, s:val)
16endfunc
17
18func Test_repeat_three()
19 let s:val = 0
20 let timer = timer_start(50, 'MyHandler', {'repeat': 3})
21 sleep 500m
22 call assert_equal(3, s:val)
23endfunc
24
25func Test_repeat_many()
26 let s:val = 0
27 let timer = timer_start(50, 'MyHandler', {'repeat': -1})
28 sleep 200m
29 call timer_stop(timer)
30 call assert_true(s:val > 1)
31 call assert_true(s:val < 5)
32endfunc
Bram Moolenaar92e35ef2016-03-26 18:20:41 +010033
34func Test_with_partial_callback()
35 let s:val = 0
36 let s:meow = {}
37 function s:meow.bite(...)
38 let s:val += 1
39 endfunction
40
41 call timer_start(50, s:meow.bite)
42 sleep 200m
43 call assert_equal(1, s:val)
44endfunc
45" vim: ts=2 sw=0 et