diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-07-21 19:44:47 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-07-21 19:44:47 +0200 |
commit | 7591116acffc45b5880c49244646651badac1629 (patch) | |
tree | 16e4659d7fb41d8cad4944fd9905a09c04d0d895 /src/testdir | |
parent | f56c95fdad5af521887f8cd7bc15729b5355231d (diff) | |
download | vim-git-7591116acffc45b5880c49244646651badac1629.tar.gz |
patch 8.2.1260: there is no good test for CursorHoldv8.2.1260
Problem: There is no good test for CursorHold.
Solution: Add a test. Remove duplicated test. (Yegappan Lakshmanan,
closes #6503
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_autocmd.vim | 29 | ||||
-rw-r--r-- | src/testdir/test_buffer.vim | 9 | ||||
-rw-r--r-- | src/testdir/test_normal.vim | 18 |
3 files changed, 29 insertions, 27 deletions
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index c167ed951..70fbe01c0 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -19,6 +19,35 @@ func Test_vim_did_enter() " becomes one. endfunc +" Test for the CursorHold autocmd +func Test_CursorHold_autocmd() + CheckRunVimInTerminal + call writefile(['one', 'two', 'three'], 'Xfile') + let before =<< trim END + set updatetime=10 + au CursorHold * call writefile([line('.')], 'Xoutput', 'a') + END + call writefile(before, 'Xinit') + let buf = RunVimInTerminal('-S Xinit Xfile', {}) + call term_wait(buf) + call term_sendkeys(buf, "gg") + call term_wait(buf) + sleep 50m + call term_sendkeys(buf, "j") + call term_wait(buf) + sleep 50m + call term_sendkeys(buf, "j") + call term_wait(buf) + sleep 50m + call StopVimInTerminal(buf) + + call assert_equal(['1', '2', '3'], readfile('Xoutput')[-3:-1]) + + call delete('Xinit') + call delete('Xoutput') + call delete('Xfile') +endfunc + if has('timers') func ExitInsertMode(id) diff --git a/src/testdir/test_buffer.vim b/src/testdir/test_buffer.vim index c8f6c5a69..e54b6338c 100644 --- a/src/testdir/test_buffer.vim +++ b/src/testdir/test_buffer.vim @@ -67,15 +67,6 @@ func Test_bunload_with_offset() call assert_fails('1,4bunload', 'E16:') call assert_fails(',100bunload', 'E16:') - " Use a try-catch for this test. When assert_fails() is used for this - " test, the command fails with E515: instead of E90: - let caught_E90 = 0 - try - $bunload - catch /E90:/ - let caught_E90 = 1 - endtry - call assert_equal(1, caught_E90) call assert_fails('$bunload', 'E90:') endfunc diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim index 68aae534e..58c9ece68 100644 --- a/src/testdir/test_normal.vim +++ b/src/testdir/test_normal.vim @@ -2506,24 +2506,6 @@ func Test_normal47_visual_buf_wipe() set nomodified endfunc -func Test_normal47_autocmd() - " disabled, does not seem to be possible currently - throw "Skipped: not possible to test cursorhold autocmd while waiting for input in normal_cmd" - new - call append(0, repeat('-',20)) - au CursorHold * call feedkeys('2l', '') - 1 - set updatetime=20 - " should delete 12 chars (d12l) - call feedkeys('d1', '!') - call assert_equal('--------', getline(1)) - - " clean up - au! CursorHold - set updatetime=4000 - bw! -endfunc - func Test_normal48_wincmd() new exe "norm! \<c-w>c" |