1" 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 33 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 46