view src/testdir/test_listlbr.in @ 6645:0a859da6714b v7.4.648

updated for version 7.4.648 Problem: Tests broken on MS-Windows. Solution: Delete wrong copy line. (Ken Takata)
author Bram Moolenaar <bram@vim.org>
date Fri, 27 Feb 2015 22:12:34 +0100
parents 0a4efa3d2019
children 8ebcd7f1ff5b
line wrap: on
line source

Test for linebreak and list option (non-utf8)

STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | endif
:10new|:vsp|:vert resize 20
:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
: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"
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:let g:test="Test 2: set linebreak + set list"
:set linebreak list listchars=
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:let g:test ="Test 3: set linebreak nolist"
:set nolist linebreak
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
: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
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:let line="_S_\t bla"
:$put =line
:$
:norm! zt
:let g:test ="Test 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)"
:set cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
:syn match ConcealVar contained /_/ conceal
:syn match All /.*/ contains=ConcealVar
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:set cpo&vim linebreak
:let g:test ="Test 6: set linebreak with visual block mode"
:let line="REMOVE: this not"
:$put =line
:let line="REMOVE: aaaaaaaaaaaaa"
:$put =line
:1/^REMOVE:
0jf x:$put
:%w! test.out
:qa!
ENDTEST
dummy text