changeset 6396:72d5a533ec87 v7.4.529

updated for version 7.4.529 Problem: No test for what 7.4.517 fixes. Solution: Adjust the tests for breakindent. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Thu, 27 Nov 2014 14:09:13 +0100
parents 7d1f870dfe73
children 7f8c4ace6f97
files src/testdir/test_breakindent.in src/testdir/test_breakindent.ok src/version.c
diffstat 3 files changed, 32 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_breakindent.in
+++ b/src/testdir/test_breakindent.in
@@ -6,18 +6,18 @@ STARTTEST
 :10new|:vsp|:vert resize 20
 :put =\"\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP\"
 :set ts=4 sw=4 sts=4 breakindent
-:fu! ScreenChar(width)
+:fu! ScreenChar(line, width)
 :	let c=''
 :	for i in range(1,a:width)
-:		let c.=nr2char(screenchar(line('.'), i))
+:		let c.=nr2char(screenchar(a:line, i))
 :	endfor
 :       let c.="\n"
 :	for i in range(1,a:width)
-:		let c.=nr2char(screenchar(line('.')+1, i))
+:		let c.=nr2char(screenchar(a:line+1, i))
 :	endfor
 :       let c.="\n"
 :	for i in range(1,a:width)
-:		let c.=nr2char(screenchar(line('.')+2, i))
+:		let c.=nr2char(screenchar(a:line+2, i))
 :	endfor
 :	return c
 :endfu
@@ -29,43 +29,43 @@ STARTTEST
 :endfu
 :set briopt=min:0
 :let g:test="Test 1: Simple breakindent"
-:let line1=ScreenChar(8)
+:let line1=ScreenChar(line('.'),8)
 :call DoRecordScreen()
 :let g:test="Test 2: Simple breakindent + sbr=>>"
 :set sbr=>>
-:let line1=ScreenChar(8)
+:let line1=ScreenChar(line('.'),8)
 :call DoRecordScreen()
 :let g:test ="Test 3: Simple breakindent + briopt:sbr"
 :set briopt=sbr,min:0 sbr=++
-:let line1=ScreenChar(8)
+:let line1=ScreenChar(line('.'),8)
 :call DoRecordScreen()
 :let g:test ="Test 4: Simple breakindent + min width: 18"
 :set sbr= briopt=min:18
-:let line1=ScreenChar(8)
+:let line1=ScreenChar(line('.'),8)
 :call DoRecordScreen()
 :let g:test =" Test 5: Simple breakindent + shift by 2"
 :set briopt=shift:2,min:0
-:let line1=ScreenChar(8)
+:let line1=ScreenChar(line('.'),8)
 :call DoRecordScreen()
 :let g:test=" Test 6: Simple breakindent + shift by -1"
 :set briopt=shift:-1,min:0
-:let line1=ScreenChar(8)
+:let line1=ScreenChar(line('.'),8)
 :call DoRecordScreen()
 :let g:test=" Test 7: breakindent + shift by +1 + nu + sbr=? briopt:sbr"
 :set briopt=shift:1,sbr,min:0 nu sbr=? nuw=4
-:let line1=ScreenChar(10)
+:let line1=ScreenChar(line('.'),10)
 :call DoRecordScreen()
 :let g:test=" Test 8: breakindent + shift:1 + nu + sbr=# list briopt:sbr"
 :set briopt=shift:1,sbr,min:0 nu sbr=# list
-:let line1=ScreenChar(10)
+:let line1=ScreenChar(line('.'),10)
 :call DoRecordScreen()
 :let g:test=" Test 9: breakindent + shift by +1 + 'nu' + sbr=# list"
 :set briopt-=sbr
-:let line1=ScreenChar(10)
+:let line1=ScreenChar(line('.'),10)
 :call DoRecordScreen()
 :let g:test=" Test 10: breakindent + shift by +1 + 'nu' + sbr=~ cpo+=n"
 :set cpo+=n sbr=~ nu nuw=4 nolist briopt=sbr,min:0
-:let line1=ScreenChar(10)
+:let line1=ScreenChar(line('.'),10)
 :call DoRecordScreen()
 :wincmd p
 :let g:test="\n Test 11: strdisplaywidth when breakindent is on"
@@ -74,6 +74,14 @@ STARTTEST
 :let width = strlen(text[1:])+indent(2)*4+strlen(&sbr)*3 " text wraps 3 times
 :$put =g:test
 :$put =printf(\"strdisplaywidth: %d == calculated: %d\", strdisplaywidth(text), width)
+:let g:str="\t\t\t\t\t{"
+:let g:test=" Test 12: breakindent + long indent"
+:wincmd p
+:set all& breakindent linebreak briopt=min:10 nu numberwidth=3 ts=4
+:$put =g:str
+zt:let line1=ScreenChar(1,10)
+:wincmd p
+:call DoRecordScreen()
 :"
 :" Test, that the string "    a\tb\tc\td\te" is correctly
 :" displayed in a 20 column wide window (see bug report
@@ -87,7 +95,7 @@ fbgjyl:let line1 = @0
 :?^\s*z
 fygjyl:let line2 = @0
 :quit!
-:$put ='Test 12: breakindent with wrapping Tab'
+:$put ='Test 13: breakindent with wrapping Tab'
 :$put =line1
 :$put =line2
 :"
--- a/src/testdir/test_breakindent.ok
+++ b/src/testdir/test_breakindent.ok
@@ -53,6 +53,12 @@ Test 4: Simple breakindent + min width: 
 
  Test 11: strdisplaywidth when breakindent is on
 strdisplaywidth: 46 == calculated: 64
-Test 12: breakindent with wrapping Tab
+					{
+
+ Test 12: breakindent + long indent
+56        
+          
+~         
+Test 13: breakindent with wrapping Tab
 d
 w
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    529,
+/**/
     528,
 /**/
     527,