changeset 20719:ef2a4a650c67 v8.2.0912

patch 8.2.0912: a few test cases for CJK formatting are disabled Commit: https://github.com/vim/vim/commit/11f1ffd18282c44ca4b74cf7cf336da6d09e396d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 6 15:23:26 2020 +0200 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 https://github.com/vim/vim/issues/6212)
author Bram Moolenaar <Bram@vim.org>
date Sat, 06 Jun 2020 15:30:04 +0200
parents e1302b66410b
children 9160c85995fc
files src/testdir/test_cjk_linebreak.vim src/version.c
diffstat 2 files changed, 25 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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,