aboutsummaryrefslogtreecommitdiff
path: root/test/old
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-09-27 18:51:40 +0800
committerGitHub <noreply@github.com>2023-09-27 18:51:40 +0800
commitb65f4151d9e52a8521c0682a817c4dab9690e1e7 (patch)
treee76592f65135cf3b18e9eca05dfe71cd249b20ab /test/old
parentdfa8b582a64aa22d3c57261bfcdc970b26cb58f3 (diff)
downloadrneovim-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.vim44
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