]> granicus.if.org Git - vim/commitdiff
patch 8.2.0912: a few test cases for CJK formatting are disabled v8.2.0912
authorBram Moolenaar <Bram@vim.org>
Sat, 6 Jun 2020 13:23:26 +0000 (15:23 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 6 Jun 2020 13:23:26 +0000 (15:23 +0200)
Problem:    A few test cases for CJK formatting are disabled.
Solution:   Fix the tests and enable them. (closes #6212)

src/testdir/test_cjk_linebreak.vim
src/version.c

index 7a1cedeeaca5747fdd736c748cef4a0548fe6220..dfaa8fa1af2c286aa2f356839ab41594b08b893d 100644 (file)
@@ -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
index f724445ee056d5498b689ecec2369afe71ea9a67..ea3f6a4e1cb8d7be8e97bd3c0e366dd5c0983684 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    912,
 /**/
     911,
 /**/