diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-09-27 18:51:40 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-27 18:51:40 +0800 |
commit | b65f4151d9e52a8521c0682a817c4dab9690e1e7 (patch) | |
tree | e76592f65135cf3b18e9eca05dfe71cd249b20ab /test/old | |
parent | dfa8b582a64aa22d3c57261bfcdc970b26cb58f3 (diff) | |
download | rneovim-b65f4151d9e52a8521c0682a817c4dab9690e1e7.tar.gz rneovim-b65f4151d9e52a8521c0682a817c4dab9690e1e7.tar.bz2 rneovim-b65f4151d9e52a8521c0682a817c4dab9690e1e7.zip |
vim-patch:8.2.3517: TextChanged does not trigger after TextChangedI (#25384)
Problem: TextChanged does not trigger after TextChangedI.
Solution: Store the tick separately for TextChangedI. (Christian Brabandt,
closes vim/vim#8968, closes vim/vim#8932)
https://github.com/vim/vim/commit/db3b44640d69ab27270691a3cab8d83cc93a0861
Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'test/old')
-rw-r--r-- | test/old/testdir/test_autocmd.vim | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/test/old/testdir/test_autocmd.vim b/test/old/testdir/test_autocmd.vim index b3238e8214..406de695a3 100644 --- a/test/old/testdir/test_autocmd.vim +++ b/test/old/testdir/test_autocmd.vim @@ -2442,7 +2442,7 @@ endfunc " Test TextChangedI and TextChangedP func Test_ChangedP() - throw 'Skipped: use test/functional/editor/completion_spec.lua' + throw 'Skipped: use test/functional/autocmd/textchanged_spec.lua' new call setline(1, ['foo', 'bar', 'foobar']) call test_override("char_avail", 1) @@ -2452,6 +2452,7 @@ func Test_ChangedP() let g:autocmd .= a:char endfunc + " TextChanged will not be triggered, only check that it isn't. au! TextChanged <buffer> :call TextChangedAutocmd('N') au! TextChangedI <buffer> :call TextChangedAutocmd('I') au! TextChangedP <buffer> :call TextChangedAutocmd('P') @@ -2505,7 +2506,7 @@ func SetLineOne() endfunc func Test_TextChangedI_with_setline() - CheckFunction test_override + throw 'Skipped: use test/functional/autocmd/textchanged_spec.lua' new call test_override('char_avail', 1) autocmd TextChangedI <buffer> call SetLineOne() @@ -3433,6 +3434,45 @@ func Test_autocmd_vimgrep() augroup END endfunc +" Test TextChangedI and TextChanged +func Test_Changed_ChangedI() + throw 'Skipped: use test/functional/autocmd/textchanged_spec.lua' + new + call test_override("char_avail", 1) + let [g:autocmd_i, g:autocmd_n] = ['',''] + + func! TextChangedAutocmdI(char) + let g:autocmd_{tolower(a:char)} = a:char .. b:changedtick + endfunc + + augroup Test_TextChanged + au! + au TextChanged <buffer> :call TextChangedAutocmdI('N') + au TextChangedI <buffer> :call TextChangedAutocmdI('I') + augroup END + + call feedkeys("ifoo\<esc>", 'tnix') + " TODO: Test test does not seem to trigger TextChanged autocommand, this + " requires running Vim in a terminal window. + " call assert_equal('N3', g:autocmd_n) + call assert_equal('I3', g:autocmd_i) + + call feedkeys("yyp", 'tnix') + " TODO: Test test does not seem to trigger TextChanged autocommand. + " call assert_equal('N4', g:autocmd_n) + call assert_equal('I3', g:autocmd_i) + + " CleanUp + call test_override("char_avail", 0) + au! TextChanged <buffer> + au! TextChangedI <buffer> + augroup! Test_TextChanged + delfu TextChangedAutocmdI + unlet! g:autocmd_i g:autocmd_n + + bw! +endfunc + func Test_closing_autocmd_window() let lines =<< trim END edit Xa.txt |