diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/ex_cmds.lua | 2 | ||||
| -rw-r--r-- | src/nvim/testdir/test_sleep.vim | 26 | 
2 files changed, 27 insertions, 1 deletions
| diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index 069d5d461b..e9046da800 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -2455,7 +2455,7 @@ module.cmds = {    },    {      command='sleep', -    flags=bit.bor(RANGE, COUNT, EXTRA, TRLBAR, CMDWIN), +    flags=bit.bor(BANG, RANGE, COUNT, EXTRA, TRLBAR, CMDWIN),      addr_type='ADDR_OTHER',      func='ex_sleep',    }, diff --git a/src/nvim/testdir/test_sleep.vim b/src/nvim/testdir/test_sleep.vim new file mode 100644 index 0000000000..f71855fd4b --- /dev/null +++ b/src/nvim/testdir/test_sleep.vim @@ -0,0 +1,26 @@ +" Test for sleep and sleep! commands + +func! s:get_time_ms() +  let timestr = reltimestr(reltime()) +  let dotidx = stridx(timestr, '.') +  let sec = str2nr(timestr[:dotidx]) +  let msec = str2nr(timestr[dotidx + 1:]) +  return (sec * 1000) + (msec / 1000) +endfunc + +func! s:assert_takes_longer(cmd, time_ms) +  let start = s:get_time_ms() +  execute a:cmd +  let end = s:get_time_ms() +  call assert_true(end - start >=# a:time_ms) +endfun + +func! Test_sleep_bang() +  call s:assert_takes_longer('sleep 50m', 50) +  call s:assert_takes_longer('sleep! 50m', 50) +  call s:assert_takes_longer('sl 50m', 50) +  call s:assert_takes_longer('sl! 50m', 50) +  call s:assert_takes_longer('1sleep', 1000) +endfunc + +" vim: shiftwidth=2 sts=2 expandtab | 
