aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-04-16 06:50:23 +0800
committerGitHub <noreply@github.com>2024-04-16 06:50:23 +0800
commitb35f08ddb13220f05904904fe9abe87d3db92355 (patch)
tree3aeea252cf64d2305faa54c8e5d8a8dff000a0bb
parent603f3b36a4d543bc539a5abad8ac93a2595e3995 (diff)
downloadrneovim-b35f08ddb13220f05904904fe9abe87d3db92355.tar.gz
rneovim-b35f08ddb13220f05904904fe9abe87d3db92355.tar.bz2
rneovim-b35f08ddb13220f05904904fe9abe87d3db92355.zip
vim-patch:9.1.0334: No test for highlight behavior with 'ambiwidth' (#28354)
Problem: No test for highlight behavior with 'ambiwidth'. Solution: Add a screendump test for 'ambiwidth' with 'cursorline'. (zeertzjq) closes: vim/vim#14554 https://github.com/vim/vim/commit/a59e031aa0bdc5cc3d1f4ed719126bf1a1b858ce
-rw-r--r--test/old/testdir/test_regexp_utf8.vim2
-rw-r--r--test/old/testdir/test_utf8.vim37
2 files changed, 38 insertions, 1 deletions
diff --git a/test/old/testdir/test_regexp_utf8.vim b/test/old/testdir/test_regexp_utf8.vim
index 97f48a0c09..728a88fa0f 100644
--- a/test/old/testdir/test_regexp_utf8.vim
+++ b/test/old/testdir/test_regexp_utf8.vim
@@ -372,7 +372,7 @@ func Test_multibyte_chars()
endfunc
" check that 'ambiwidth' does not change the meaning of \p
-func Test_ambiwidth()
+func Test_regexp_ambiwidth()
set regexpengine=1 ambiwidth=single
call assert_equal(0, match("\u00EC", '\p'))
set regexpengine=1 ambiwidth=double
diff --git a/test/old/testdir/test_utf8.vim b/test/old/testdir/test_utf8.vim
index dd7b2c5a09..63a291f1de 100644
--- a/test/old/testdir/test_utf8.vim
+++ b/test/old/testdir/test_utf8.vim
@@ -62,6 +62,9 @@ func Test_customlist_completion()
call assert_equal('"Test3 N', getreg(':'))
call garbagecollect(1)
+ delcommand Test1
+ delcommand Test2
+ delcommand Test3
endfunc
" Yank one 3 byte character and check the mark columns.
@@ -297,6 +300,40 @@ func Test_setcellwidths_dump()
call StopVimInTerminal(buf)
endfunc
+" For some reason this test causes Test_customlist_completion() to fail on CI,
+" so run it as the last test.
+func Test_zz_ambiwidth_hl_dump()
+ CheckRunVimInTerminal
+
+ let lines =<< trim END
+ call setline(1, [repeat("\u2103", 60), repeat("\u2103", 60)])
+ set ambiwidth=single cursorline list display=lastline
+ END
+ call writefile(lines, 'XAmbiwidthHl', 'D')
+ let buf = RunVimInTerminal('-S XAmbiwidthHl', {'rows': 6, 'cols': 50})
+ call VerifyScreenDump(buf, 'Test_ambiwidth_hl_dump_1', {})
+
+ call term_sendkeys(buf, ":set ambiwidth=double\<CR>")
+ call term_sendkeys(buf, ":echo\<CR>")
+ call VerifyScreenDump(buf, 'Test_ambiwidth_hl_dump_2', {})
+
+ call term_sendkeys(buf, ":set ambiwidth=single\<CR>")
+ call term_sendkeys(buf, ":echo\<CR>")
+ call VerifyScreenDump(buf, 'Test_ambiwidth_hl_dump_1', {})
+
+ if 0 " Enable after #14539 is fixed
+ call term_sendkeys(buf, ":call setcellwidths([[0x2103, 0x2103, 2]])\<CR>")
+ call term_sendkeys(buf, ":echo\<CR>")
+ call VerifyScreenDump(buf, 'Test_ambiwidth_hl_dump_2', {})
+
+ call term_sendkeys(buf, ":call setcellwidths([[0x2103, 0x2103, 1]])\<CR>")
+ call term_sendkeys(buf, ":echo\<CR>")
+ call VerifyScreenDump(buf, 'Test_ambiwidth_hl_dump_1', {})
+ endif
+
+ call StopVimInTerminal(buf)
+endfunc
+
func Test_print_overlong()
" Text with more composing characters than MB_MAXBYTES.
new