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