diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-04-16 06:50:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-16 06:50:23 +0800 |
commit | b35f08ddb13220f05904904fe9abe87d3db92355 (patch) | |
tree | 3aeea252cf64d2305faa54c8e5d8a8dff000a0bb | |
parent | 603f3b36a4d543bc539a5abad8ac93a2595e3995 (diff) | |
download | rneovim-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.vim | 2 | ||||
-rw-r--r-- | test/old/testdir/test_utf8.vim | 37 |
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 |