summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-06 15:23:26 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-06 15:23:26 +0200
commit11f1ffd18282c44ca4b74cf7cf336da6d09e396d (patch)
treeecc4fdd87be7781318ad5ef1bc41ef759dbc19a4
parent9b7cce28d568f0622d77c6c9878c2d4770c3b164 (diff)
downloadvim-git-11f1ffd18282c44ca4b74cf7cf336da6d09e396d.tar.gz
patch 8.2.0912: a few test cases for CJK formatting are disabledv8.2.0912
Problem: A few test cases for CJK formatting are disabled. Solution: Fix the tests and enable them. (closes #6212)
-rw-r--r--src/testdir/test_cjk_linebreak.vim40
-rw-r--r--src/version.c2
2 files changed, 25 insertions, 17 deletions
diff --git a/src/testdir/test_cjk_linebreak.vim b/src/testdir/test_cjk_linebreak.vim
index 7a1cedeea..dfaa8fa1a 100644
--- a/src/testdir/test_cjk_linebreak.vim
+++ b/src/testdir/test_cjk_linebreak.vim
@@ -1,36 +1,39 @@
scriptencoding utf-8
-func Run_cjk_linebreak_after()
+func Run_cjk_linebreak_after(rigorous)
set textwidth=12
for punct in [
\ '!', '%', ')', ',', ':', ';', '>', '?', ']', '}', '’', '”', '†', '‡',
\ '…', '‰', '‱', '‼', '⁇', '⁈', '⁉', '℃', '℉', '、', '。', '〉', '》',
\ '」', '』', '】', '〕', '〗', '〙', '〛', '!', ')', ',', '.', ':',
\ ';', '?', ']', '}']
- call setline('.', '这是一个测试'.punct.'试试 CJK 行禁则补丁。')
+ call setline('.', '这是一个测试' .. punct.'试试 CJK 行禁则补丁。')
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_
endfor
endfunc
func Test_cjk_linebreak_after()
set formatoptions=croqn2mB1j
- call Run_cjk_linebreak_after()
+ call Run_cjk_linebreak_after(0)
endfunc
-" TODO: this test fails
-"func Test_cjk_linebreak_after_rigorous()
-" set formatoptions=croqn2mB1j]
-" call Run_cjk_linebreak_after()
-"endfunc
+func Test_cjk_linebreak_after_rigorous()
+ set formatoptions=croqn2mB1j]
+ call Run_cjk_linebreak_after(1)
+endfunc
func Run_cjk_linebreak_before()
set textwidth=12
for punct in [
\ '(', '<', '[', '`', '{', '‘', '“', '〈', '《', '「', '『', '【', '〔',
\ '〖', '〘', '〚', '(', '[', '{']
- call setline('.', '这是个测试'.punct.'试试 CJK 行禁则补丁。')
+ call setline('.', '这是个测试' .. punct.'试试 CJK 行禁则补丁。')
normal gqq
call assert_equal('这是个测试', getline(1))
%d_
@@ -47,13 +50,16 @@ func Test_cjk_linebreak_before_rigorous()
call Run_cjk_linebreak_before()
endfunc
-func Run_cjk_linebreak_nobetween()
+func Run_cjk_linebreak_nobetween(rigorous)
" …… must not start a line
call setline('.', '这是个测试……试试 CJK 行禁则补丁。')
set textwidth=12 ambiwidth=double
normal gqq
- " TODO: this fails
- " call assert_equal('这是个测试……', getline(1))
+ if a:rigorous
+ call assert_equal('这是个测', getline(1))
+ else
+ call assert_equal('这是个测试……', getline(1))
+ endif
%d_
call setline('.', '这是一个测试……试试 CJK 行禁则补丁。')
@@ -71,21 +77,21 @@ endfunc
func Test_cjk_linebreak_nobetween()
set formatoptions=croqn2mB1j
- call Run_cjk_linebreak_nobetween()
+ call Run_cjk_linebreak_nobetween(0)
endfunc
func Test_cjk_linebreak_nobetween_rigorous()
set formatoptions=croqn2mB1j]
- call Run_cjk_linebreak_nobetween()
+ call Run_cjk_linebreak_nobetween(1)
endfunc
func Test_cjk_linebreak_join_punct()
for punct in ['——', '〗', ',', '。', '……']
- call setline(1, '文本文本'.punct)
+ call setline(1, '文本文本' .. punct)
call setline(2, 'English')
set formatoptions=croqn2mB1j
normal ggJ
- call assert_equal('文本文本'.punct.'English', getline(1))
+ call assert_equal('文本文本' .. punct.'English', getline(1))
%d_
endfor
endfunc
diff --git a/src/version.c b/src/version.c
index f724445ee..ea3f6a4e1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 912,
+/**/
911,
/**/
910,