xref: /vim-8.2.3635/src/testdir/test_sleep.vim (revision d0bce504)
1" 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
27