blob: a428f380b0d042ca9047cbfa59fb1a38c3590c50 [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)
Bram Moolenaar6fd367a2021-03-13 13:14:04 +010024 call s:assert_takes_longer('normal 1gs', 1000)
Bram Moolenaare2edc2e2021-01-16 20:21:23 +010025endfunc
26
27" vim: shiftwidth=2 sts=2 expandtab