vim-patch:8.2.0912: a few test cases for CJK formatting are disabled

Problem:    A few test cases for CJK formatting are disabled.
Solution:   Fix the tests and enable them. (closes vim/vim#6212)
11f1ffd182
This commit is contained in:
Jan Edmund Lazo 2020-10-23 00:52:29 -04:00
parent 2894649c2e
commit 78ec28bca8
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15

View File

@ -1,36 +1,39 @@
scriptencoding utf-8 scriptencoding utf-8
func Run_cjk_linebreak_after() func Run_cjk_linebreak_after(rigorous)
set textwidth=12 set textwidth=12
for punct in [ for punct in [
\ '!', '%', ')', ',', ':', ';', '>', '?', ']', '}', '', '”', '†', '‡', \ '!', '%', ')', ',', ':', ';', '>', '?', ']', '}', '', '”', '†', '‡',
\ '…', '‰', '‱', '‼', '⁇', '⁈', '⁉', '℃', '℉', '、', '。', '〉', '》', \ '…', '‰', '‱', '‼', '⁇', '⁈', '⁉', '℃', '℉', '、', '。', '〉', '》',
\ '」', '』', '】', '', '〗', '〙', '〛', '', '', '', '', '', \ '」', '』', '】', '', '〗', '〙', '〛', '', '', '', '', '',
\ '', '', '', ''] \ '', '', '', '']
call setline('.', '这是一个测试'.punct.'试试 CJK 行禁则补丁。') call setline('.', '这是一个测试' .. punct.'试试 CJK 行禁则补丁。')
normal gqq normal gqq
call assert_equal('这是一个测试'.punct, getline(1)) if a:rigorous
call assert_equal('这是一个测', getline(1))
else
call assert_equal('这是一个测试' .. punct, getline(1))
endif
%d_ %d_
endfor endfor
endfunc endfunc
func Test_cjk_linebreak_after() func Test_cjk_linebreak_after()
set formatoptions=croqn2mB1j set formatoptions=croqn2mB1j
call Run_cjk_linebreak_after() call Run_cjk_linebreak_after(0)
endfunc endfunc
" TODO: this test fails func Test_cjk_linebreak_after_rigorous()
"func Test_cjk_linebreak_after_rigorous() set formatoptions=croqn2mB1j]
" set formatoptions=croqn2mB1j] call Run_cjk_linebreak_after(1)
" call Run_cjk_linebreak_after() endfunc
"endfunc
func Run_cjk_linebreak_before() func Run_cjk_linebreak_before()
set textwidth=12 set textwidth=12
for punct in [ for punct in [
\ '(', '<', '[', '`', '{', '', '“', '〈', '《', '「', '『', '【', '', \ '(', '<', '[', '`', '{', '', '“', '〈', '《', '「', '『', '【', '',
\ '〖', '〘', '〚', '', '', ''] \ '〖', '〘', '〚', '', '', '']
call setline('.', '这是个测试'.punct.'试试 CJK 行禁则补丁。') call setline('.', '这是个测试' .. punct.'试试 CJK 行禁则补丁。')
normal gqq normal gqq
call assert_equal('这是个测试', getline(1)) call assert_equal('这是个测试', getline(1))
%d_ %d_
@ -47,13 +50,16 @@ func Test_cjk_linebreak_before_rigorous()
call Run_cjk_linebreak_before() call Run_cjk_linebreak_before()
endfunc endfunc
func Run_cjk_linebreak_nobetween() func Run_cjk_linebreak_nobetween(rigorous)
" …… must not start a line " …… must not start a line
call setline('.', '这是个测试……试试 CJK 行禁则补丁。') call setline('.', '这是个测试……试试 CJK 行禁则补丁。')
set textwidth=12 ambiwidth=double set textwidth=12 ambiwidth=double
normal gqq normal gqq
" TODO: this fails if a:rigorous
" call assert_equal('这是个测试……', getline(1)) call assert_equal('这是个测', getline(1))
else
call assert_equal('这是个测试……', getline(1))
endif
%d_ %d_
call setline('.', '这是一个测试……试试 CJK 行禁则补丁。') call setline('.', '这是一个测试……试试 CJK 行禁则补丁。')
@ -71,21 +77,21 @@ endfunc
func Test_cjk_linebreak_nobetween() func Test_cjk_linebreak_nobetween()
set formatoptions=croqn2mB1j set formatoptions=croqn2mB1j
call Run_cjk_linebreak_nobetween() call Run_cjk_linebreak_nobetween(0)
endfunc endfunc
func Test_cjk_linebreak_nobetween_rigorous() func Test_cjk_linebreak_nobetween_rigorous()
set formatoptions=croqn2mB1j] set formatoptions=croqn2mB1j]
call Run_cjk_linebreak_nobetween() call Run_cjk_linebreak_nobetween(1)
endfunc endfunc
func Test_cjk_linebreak_join_punct() func Test_cjk_linebreak_join_punct()
for punct in ['——', '〗', '', '。', '……'] for punct in ['——', '〗', '', '。', '……']
call setline(1, '文本文本'.punct) call setline(1, '文本文本' .. punct)
call setline(2, 'English') call setline(2, 'English')
set formatoptions=croqn2mB1j set formatoptions=croqn2mB1j
normal ggJ normal ggJ
call assert_equal('文本文本'.punct.'English', getline(1)) call assert_equal('文本文本' .. punct.'English', getline(1))
%d_ %d_
endfor endfor
endfunc endfunc