0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 9.1.0334: No test for highlight behavior with 'ambiwidth'

Problem:  No test for highlight behavior with 'ambiwidth'.
Solution: Add a screendump test for 'ambiwidth' with 'cursorline'.
          (zeertzjq)

closes: #14554

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2024-04-15 19:14:38 +02:00
committed by Christian Brabandt
parent 29358d2a18
commit a59e031aa0
5 changed files with 52 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
>℃+8&#ffffff0@49
@10|$+8#4040ff13&| +8#0000000&@38
|℃+0&&@49
@10|$+0#4040ff13&| +0#0000000&@38
|~+0#4040ff13&| @48
| +0#0000000&@31|1|,|1| @10|A|l@1|

View File

@@ -0,0 +1,6 @@
>℃+8&#ffffff0| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃|
|℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃|
|℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |$+8#4040ff13&| +8#0000000&@28
|℃+0&&| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃|
|℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| |℃| @1|@+0#4040ff13&@2
| +0#0000000&@31|1|,|1| @10|T|o|p|

View File

@@ -342,7 +342,7 @@ func Test_multibyte_chars()
endfunc endfunc
" check that 'ambiwidth' does not change the meaning of \p " check that 'ambiwidth' does not change the meaning of \p
func Test_ambiwidth() func Test_regexp_ambiwidth()
set regexpengine=1 ambiwidth=single set regexpengine=1 ambiwidth=single
call assert_equal(0, match("\u00EC", '\p')) call assert_equal(0, match("\u00EC", '\p'))
set regexpengine=1 ambiwidth=double set regexpengine=1 ambiwidth=double

View File

@@ -62,6 +62,9 @@ func Test_customlist_completion()
call assert_equal('"Test3 N', getreg(':')) call assert_equal('"Test3 N', getreg(':'))
call garbagecollect(1) call garbagecollect(1)
delcommand Test1
delcommand Test2
delcommand Test3
endfunc endfunc
" Yank one 3 byte character and check the mark columns. " Yank one 3 byte character and check the mark columns.
@@ -297,6 +300,40 @@ func Test_setcellwidths_dump()
call StopVimInTerminal(buf) call StopVimInTerminal(buf)
endfunc 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() func Test_print_overlong()
" Text with more composing characters than MB_MAXBYTES. " Text with more composing characters than MB_MAXBYTES.
new new

View File

@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
334,
/**/ /**/
333, 333,
/**/ /**/