view src/testdir/test_sleep.vim @ 33601:28605af12602 v9.0.2044

patch 9.0.2044: Vim9: exceptions confuse defered functions Commit: https://github.com/vim/vim/commit/0672595fd50e9ae668676a40e28ebf66d7f52392 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Wed Oct 18 11:47:37 2023 +0200 patch 9.0.2044: Vim9: exceptions confuse defered functions Problem: Vim9: exceptions confuse defered functions Solution: save and restore exception state when calling defered functions closes: #13364 closes: #13372 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Wed, 18 Oct 2023 12:00:05 +0200
parents 98774a275d6d
children
line wrap: on
line source

" Test for sleep and sleep! commands

func! s:get_time_ms()
  return float2nr(reltimefloat(reltime()) * 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)
  call s:assert_takes_longer('normal 1gs', 1000)
endfunc

" vim: shiftwidth=2 sts=2 expandtab