xref: /vim-8.2.3635/src/testdir/test_sleep.vim (revision 6fd367a9)
1e2edc2edSBram Moolenaar" Test for sleep and sleep! commands
2e2edc2edSBram Moolenaar
3e2edc2edSBram Moolenaarfunc! s:get_time_ms()
4e2edc2edSBram Moolenaar  let timestr = reltimestr(reltime())
5e2edc2edSBram Moolenaar  let dotidx = stridx(timestr, '.')
6e2edc2edSBram Moolenaar  let sec = str2nr(timestr[:dotidx])
7e2edc2edSBram Moolenaar  let msec = str2nr(timestr[dotidx + 1:])
8e2edc2edSBram Moolenaar  return (sec * 1000) + (msec / 1000)
9e2edc2edSBram Moolenaarendfunc
10e2edc2edSBram Moolenaar
11e2edc2edSBram Moolenaarfunc! s:assert_takes_longer(cmd, time_ms)
12e2edc2edSBram Moolenaar  let start = s:get_time_ms()
13e2edc2edSBram Moolenaar  execute a:cmd
14e2edc2edSBram Moolenaar  let end = s:get_time_ms()
15e2edc2edSBram Moolenaar  call assert_true(end - start >=# a:time_ms)
16e2edc2edSBram Moolenaarendfun
17e2edc2edSBram Moolenaar
18e2edc2edSBram Moolenaarfunc! Test_sleep_bang()
19e2edc2edSBram Moolenaar  call s:assert_takes_longer('sleep 50m', 50)
20e2edc2edSBram Moolenaar  call s:assert_takes_longer('sleep! 50m', 50)
21e2edc2edSBram Moolenaar  call s:assert_takes_longer('sl 50m', 50)
22e2edc2edSBram Moolenaar  call s:assert_takes_longer('sl! 50m', 50)
23e2edc2edSBram Moolenaar  call s:assert_takes_longer('1sleep', 1000)
24*6fd367a9SBram Moolenaar  call s:assert_takes_longer('normal 1gs', 1000)
25e2edc2edSBram Moolenaarendfunc
26e2edc2edSBram Moolenaar
27e2edc2edSBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
28