comparison src/testdir/test_timers.vim @ 9933:7f38e72a9d65 v7.4.2240

commit https://github.com/vim/vim/commit/f267f8bdf777073e392ada5b31d837c7b6090eb4 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 22 21:40:29 2016 +0200 patch 7.4.2240 Problem: Tests using the sleep time can be flaky. Solution: Use reltime() if available. (Partly by Shane Harper)
author Christian Brabandt <cb@256bit.org>
date Mon, 22 Aug 2016 21:45:06 +0200
parents 3ee84d270ea7
children 9772b04372f4
comparison
equal deleted inserted replaced
9932:1aabb9543319 9933:7f38e72a9d65
17 func Test_oneshot() 17 func Test_oneshot()
18 let g:val = 0 18 let g:val = 0
19 let timer = timer_start(50, 'MyHandler') 19 let timer = timer_start(50, 'MyHandler')
20 let slept = WaitFor('g:val == 1') 20 let slept = WaitFor('g:val == 1')
21 call assert_equal(1, g:val) 21 call assert_equal(1, g:val)
22 call assert_inrange(30, 100, slept) 22 if has('reltime')
23 call assert_inrange(50, 100, slept)
24 else
25 call assert_inrange(20, 100, slept)
26 endif
23 endfunc 27 endfunc
24 28
25 func Test_repeat_three() 29 func Test_repeat_three()
26 let g:val = 0 30 let g:val = 0
27 let timer = timer_start(50, 'MyHandler', {'repeat': 3}) 31 let timer = timer_start(50, 'MyHandler', {'repeat': 3})
28 let slept = WaitFor('g:val == 3') 32 let slept = WaitFor('g:val == 3')
29 call assert_equal(3, g:val) 33 call assert_equal(3, g:val)
30 call assert_inrange(80, 200, slept) 34 if has('reltime')
35 call assert_inrange(150, 200, slept)
36 else
37 call assert_inrange(80, 200, slept)
38 endif
31 endfunc 39 endfunc
32 40
33 func Test_repeat_many() 41 func Test_repeat_many()
34 let g:val = 0 42 let g:val = 0
35 let timer = timer_start(50, 'MyHandler', {'repeat': -1}) 43 let timer = timer_start(50, 'MyHandler', {'repeat': -1})
46 endfunction 54 endfunction
47 55
48 call timer_start(50, s:meow.bite) 56 call timer_start(50, s:meow.bite)
49 let slept = WaitFor('g:val == 1') 57 let slept = WaitFor('g:val == 1')
50 call assert_equal(1, g:val) 58 call assert_equal(1, g:val)
51 call assert_inrange(30, 100, slept) 59 if has('reltime')
60 call assert_inrange(50, 100, slept)
61 else
62 call assert_inrange(20, 100, slept)
63 endif
52 endfunc 64 endfunc
53 65
54 func Test_retain_partial() 66 func Test_retain_partial()
55 call timer_start(50, function('MyHandlerWithLists', [['a']])) 67 call timer_start(50, function('MyHandlerWithLists', [['a']]))
56 call test_garbagecollect_now() 68 call test_garbagecollect_now()
107 let info = timer_info(id) 119 let info = timer_info(id)
108 call assert_equal(0, info[0]['paused']) 120 call assert_equal(0, info[0]['paused'])
109 121
110 let slept = WaitFor('g:val == 1') 122 let slept = WaitFor('g:val == 1')
111 call assert_equal(1, g:val) 123 call assert_equal(1, g:val)
112 call assert_inrange(0, 10, slept) 124 if has('reltime')
125 call assert_inrange(0, 30, slept)
126 else
127 call assert_inrange(0, 10, slept)
128 endif
113 endfunc 129 endfunc
114 130
115 " vim: shiftwidth=2 sts=2 expandtab 131 " vim: shiftwidth=2 sts=2 expandtab