Bram Moolenaar | 975b527 | 2016-03-15 23:10:59 +0100 | [diff] [blame] | 1 | " Test for timers |
| 2 | |
| 3 | if !has('timers') |
| 4 | finish |
| 5 | endif |
| 6 | |
| 7 | func MyHandler(timer) |
| 8 | let s:val += 1 |
| 9 | endfunc |
| 10 | |
| 11 | func Test_oneshot() |
| 12 | let s:val = 0 |
| 13 | let timer = timer_start(50, 'MyHandler') |
| 14 | sleep 200m |
| 15 | call assert_equal(1, s:val) |
| 16 | endfunc |
| 17 | |
| 18 | func 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) |
| 23 | endfunc |
| 24 | |
| 25 | func 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) |
| 32 | endfunc |
Bram Moolenaar | 92e35ef | 2016-03-26 18:20:41 +0100 | [diff] [blame] | 33 | |
| 34 | func 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) |
| 44 | endfunc |
| 45 | " vim: ts=2 sw=0 et |