# HG changeset patch # User Bram Moolenaar # Date 1405522913 -7200 # Node ID 50575818a97fa4777e52272f5ffc769179d76a8d # Parent 6d4b12eb13d40f9af7790040dda114c35759e03d updated for version 7.4.370 Problem: Linebreak test fails when encoding is not utf-8. (Danek Duvall) Solution: Split the test in a single byte one and a utf-8 one. (Christian Brabandt) diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak --- a/src/testdir/Make_amiga.mak +++ b/src/testdir/Make_amiga.mak @@ -39,6 +39,7 @@ SCRIPTS = test1.out test3.out test4.out test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out @@ -167,5 +168,6 @@ test107.out: test107.in test_autoformat_join.out: test_autoformat_join.in test_breakindent.out: test_breakindent.in test_listlbr.out: test_listlbr.in +test_listlbr_utf8.out: test_listlbr_utf8.in test_eval.out: test_eval.in test_options.out: test_options.in diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -38,6 +38,7 @@ SCRIPTS = test3.out test4.out test5.out test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak --- a/src/testdir/Make_ming.mak +++ b/src/testdir/Make_ming.mak @@ -58,6 +58,7 @@ SCRIPTS = test3.out test4.out test5.out test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -40,6 +40,7 @@ SCRIPTS = test1.out test3.out test4.out test_autoformat_join.out \ test_eval.out \ test_breakindent.out \ + test_listlbr_utf8.out \ test_listlbr.out \ test_options.out diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -99,6 +99,7 @@ SCRIPT = test1.out test2.out test3.out test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out diff --git a/src/testdir/Makefile b/src/testdir/Makefile --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -36,6 +36,7 @@ SCRIPTS = test1.out test2.out test3.out test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out diff --git a/src/testdir/test_listlbr.in b/src/testdir/test_listlbr.in --- a/src/testdir/test_listlbr.in +++ b/src/testdir/test_listlbr.in @@ -1,10 +1,10 @@ -Test for linebreak and list option +Test for linebreak and list option (non-utf8) STARTTEST :so small.vim :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif :10new|:vsp|:vert resize 20 -:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" +:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \" :norm! zt :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap :fu! ScreenChar(width) @@ -32,22 +32,12 @@ STARTTEST :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() -:let g:test ="Test 3: set linebreak + set list + fancy listchars" -:exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" -:redraw! -:let line=ScreenChar(winwidth(0)) -:call DoRecordScreen() -:let g:test ="Test 4: set linebreak nolist" +:let g:test ="Test 3: set linebreak nolist" :set nolist linebreak :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() -:let g:test ="Test 5: set nolinebreak list" -:set list nolinebreak -:redraw! -:let line=ScreenChar(winwidth(0)) -:call DoRecordScreen() -:let g:test ="Test 6: set linebreak with tab and 1 line as long as screen: should break!" +:let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!" :set nolist linebreak ts=8 :let line="1\t".repeat('a', winwidth(0)-2) :$put =line diff --git a/src/testdir/test_listlbr.ok b/src/testdir/test_listlbr.ok --- a/src/testdir/test_listlbr.ok +++ b/src/testdir/test_listlbr.ok @@ -1,38 +1,26 @@ - abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP + abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP Test 1: set linebreak abcdef +hijklmn -+pqrstuvwxyz 1060ABC ++pqrstuvwxyz_1060ABC +DEFGHIJKLMNOP Test 2: set linebreak + set list ^Iabcdef hijklmn^I -+pqrstuvwxyz 1060ABC ++pqrstuvwxyz_1060ABC +DEFGHIJKLMNOP -Test 3: set linebreak + set list + fancy listchars -▕———abcdef -+hijklmn▕——— -+pqrstuvwxyz␣1060ABC -+DEFGHIJKLMNOPˑ¶ - -Test 4: set linebreak nolist +Test 3: set linebreak nolist abcdef +hijklmn -+pqrstuvwxyz 1060ABC ++pqrstuvwxyz_1060ABC +DEFGHIJKLMNOP - -Test 5: set nolinebreak list -▕———abcdef hijklmn▕— -+pqrstuvwxyz␣1060ABC -+DEFGHIJKLMNOPˑ¶ -¶ 1 aaaaaaaaaaaaaaaaaa -Test 6: set linebreak with tab and 1 line as long as screen: should break! +Test 4: set linebreak with tab and 1 line as long as screen: should break! 1 +aaaaaaaaaaaaaaaaaa ~ diff --git a/src/testdir/test_listlbr_utf8.in b/src/testdir/test_listlbr_utf8.in new file mode 100644 --- /dev/null +++ b/src/testdir/test_listlbr_utf8.in @@ -0,0 +1,41 @@ +Test for linebreak and list option in utf-8 mode + +STARTTEST +:so small.vim +:if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif +:so mbyte.vim +:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif +:10new|:vsp|:vert resize 20 +:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" +:norm! zt +:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap +:fu! ScreenChar(width) +: let c='' +: for j in range(1,4) +: for i in range(1,a:width) +: let c.=nr2char(screenchar(j, i)) +: endfor +: let c.="\n" +: endfor +: return c +:endfu +:fu! DoRecordScreen() +: wincmd l +: $put =printf(\"\n%s\", g:test) +: $put =g:line +: wincmd p +:endfu +:let g:test ="Test 1: set linebreak + set list + fancy listchars" +:exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" +:redraw! +:let line=ScreenChar(winwidth(0)) +:call DoRecordScreen() +:let g:test ="Test 2: set nolinebreak list" +:set list nolinebreak +:redraw! +:let line=ScreenChar(winwidth(0)) +:call DoRecordScreen() +:%w! test.out +:qa! +ENDTEST +dummy text diff --git a/src/testdir/test_listlbr_utf8.ok b/src/testdir/test_listlbr_utf8.ok new file mode 100644 --- /dev/null +++ b/src/testdir/test_listlbr_utf8.ok @@ -0,0 +1,14 @@ + + abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP + +Test 1: set linebreak + set list + fancy listchars +▕———abcdef ++hijklmn▕——— ++pqrstuvwxyz␣1060ABC ++DEFGHIJKLMNOPˑ¶ + +Test 2: set nolinebreak list +▕———abcdef hijklmn▕— ++pqrstuvwxyz␣1060ABC ++DEFGHIJKLMNOPˑ¶ +¶ diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 370, +/**/ 369, /**/ 368,