changeset 6062:50575818a97f v7.4.370

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)
author Bram Moolenaar <bram@vim.org>
date Wed, 16 Jul 2014 17:01:53 +0200
parents 6d4b12eb13d4
children 616723e9f486
files src/testdir/Make_amiga.mak src/testdir/Make_dos.mak src/testdir/Make_ming.mak src/testdir/Make_os2.mak src/testdir/Make_vms.mms src/testdir/Makefile src/testdir/test_listlbr.in src/testdir/test_listlbr.ok src/testdir/test_listlbr_utf8.in src/testdir/test_listlbr_utf8.ok src/version.c
diffstat 11 files changed, 74 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
--- 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 
 ~                   
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
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ˑ¶    
--- 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,