neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

test_sleep.vim (773B)


      1 " Test for sleep and sleep! commands
      2 
      3 func! 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)
      9 endfunc
     10 
     11 func! 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)
     16 endfun
     17 
     18 func! 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)
     24  call s:assert_takes_longer('normal 1gs', 1000)
     25 endfunc
     26 
     27 " vim: shiftwidth=2 sts=2 expandtab