blob: f71855fd4bce948c7642a1625530b8807b0ebb9f [file] [log] [blame]
Bram Moolenaare2edc2e2021-01-16 20:21:23 +01001" Test for sleep and sleep! commands
2
3func! s:get_time_ms()
4 let timestr = reltimestr(reltime())
5 let dotidx = stridx(timestr, '.')
6 let sec = str2nr(timestr[:dotidx])
7 let msec = str2nr(timestr[dotidx + 1:])
8 return (sec * 1000) + (msec / 1000)
9endfunc
10
11func! s:assert_takes_longer(cmd, time_ms)
12 let start = s:get_time_ms()
13 execute a:cmd
14 let end = s:get_time_ms()
15 call assert_true(end - start >=# a:time_ms)
16endfun
17
18func! Test_sleep_bang()
19 call s:assert_takes_longer('sleep 50m', 50)
20 call s:assert_takes_longer('sleep! 50m', 50)
21 call s:assert_takes_longer('sl 50m', 50)
22 call s:assert_takes_longer('sl! 50m', 50)
23 call s:assert_takes_longer('1sleep', 1000)
24endfunc
25
26" vim: shiftwidth=2 sts=2 expandtab