diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/testdir/test_escaped_glob.vim | 17 | ||||
| -rw-r--r-- | src/nvim/testdir/test_timers.vim | 35 |
2 files changed, 44 insertions, 8 deletions
diff --git a/src/nvim/testdir/test_escaped_glob.vim b/src/nvim/testdir/test_escaped_glob.vim index eaeac28d61..aad3a1e835 100644 --- a/src/nvim/testdir/test_escaped_glob.vim +++ b/src/nvim/testdir/test_escaped_glob.vim @@ -2,8 +2,6 @@ " characters. function SetUp() - " make sure glob() doesn't use the shell - set shell=doesnotexist " consistent sorting of file names set nofileignorecase endfunction @@ -14,20 +12,23 @@ function Test_glob() " filenames. Disable the test on non-Unix systems for now. return endif - call assert_equal("", glob('Xxx\{')) - call assert_equal("", glob('Xxx\$')) + + " Execute these commands in the sandbox, so that using the shell fails. + " Setting 'shell' to an invalid name causes a memory leak. + sandbox call assert_equal("", glob('Xxx\{')) + sandbox call assert_equal("", glob('Xxx\$')) w! Xxx{ " } to fix highlighting w! Xxx\$ - call assert_equal("Xxx{", glob('Xxx\{')) - call assert_equal("Xxx$", glob('Xxx\$')) + sandbox call assert_equal("Xxx{", glob('Xxx\{')) + sandbox call assert_equal("Xxx$", glob('Xxx\$')) call delete('Xxx{') call delete('Xxx$') endfunction function Test_globpath() - call assert_equal(expand("sautest/autoload/globone.vim\nsautest/autoload/globtwo.vim"), + sandbox call assert_equal(expand("sautest/autoload/globone.vim\nsautest/autoload/globtwo.vim"), \ globpath('sautest/autoload', 'glob*.vim')) - call assert_equal([expand('sautest/autoload/globone.vim'), expand('sautest/autoload/globtwo.vim')], + sandbox call assert_equal([expand('sautest/autoload/globone.vim'), expand('sautest/autoload/globtwo.vim')], \ globpath('sautest/autoload', 'glob*.vim', 0, 1)) endfunction diff --git a/src/nvim/testdir/test_timers.vim b/src/nvim/testdir/test_timers.vim index 82afeb76c8..da61751bf4 100644 --- a/src/nvim/testdir/test_timers.vim +++ b/src/nvim/testdir/test_timers.vim @@ -172,6 +172,41 @@ func Test_stop_all_in_callback() call assert_equal(0, len(info)) endfunc +func FeedkeysCb(timer) + call feedkeys("hello\<CR>", 'nt') +endfunc + +func InputCb(timer) + call timer_start(10, 'FeedkeysCb') + let g:val = input('?') + call Resume() +endfunc + +func Test_input_in_timer() + let g:val = '' + call timer_start(10, 'InputCb') + call Standby(1000) + call assert_equal('hello', g:val) +endfunc + +func FuncWithCaughtError(timer) + let g:call_count += 1 + try + doesnotexist + catch + " nop + endtry +endfunc + +func Test_timer_catch_error() + let g:call_count = 0 + let timer = timer_start(10, 'FuncWithCaughtError', {'repeat': 4}) + " Timer will not be stopped. + call WaitFor('g:call_count == 4') + sleep 50m + call assert_equal(4, g:call_count) +endfunc + func FeedAndPeek(timer) call test_feedinput('a') call getchar(1) |