blob: 0cce4c23a5ccb6fb231da3ca5c163dc55b8aab53 [file] [log] [blame]
Bram Moolenaarb5647f72014-07-16 17:01:53 +02001Test for linebreak and list option (non-utf8)
Bram Moolenaar86b17e92014-07-02 20:00:47 +02002
3STARTTEST
4:so small.vim
5:if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
6:10new|:vsp|:vert resize 20
Bram Moolenaarb5647f72014-07-16 17:01:53 +02007:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
Bram Moolenaar86b17e92014-07-02 20:00:47 +02008:norm! zt
9:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
10:fu! ScreenChar(width)
11: let c=''
12: for j in range(1,4)
13: for i in range(1,a:width)
14: let c.=nr2char(screenchar(j, i))
15: endfor
16: let c.="\n"
17: endfor
18: return c
19:endfu
20:fu! DoRecordScreen()
21: wincmd l
22: $put =printf(\"\n%s\", g:test)
23: $put =g:line
24: wincmd p
25:endfu
26:let g:test="Test 1: set linebreak"
27:redraw!
28:let line=ScreenChar(winwidth(0))
29:call DoRecordScreen()
30:let g:test="Test 2: set linebreak + set list"
31:set linebreak list listchars=
32:redraw!
33:let line=ScreenChar(winwidth(0))
34:call DoRecordScreen()
Bram Moolenaarb5647f72014-07-16 17:01:53 +020035:let g:test ="Test 3: set linebreak nolist"
Bram Moolenaar86b17e92014-07-02 20:00:47 +020036:set nolist linebreak
37:redraw!
38:let line=ScreenChar(winwidth(0))
39:call DoRecordScreen()
Bram Moolenaarb5647f72014-07-16 17:01:53 +020040:let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!"
Bram Moolenaar86b17e92014-07-02 20:00:47 +020041:set nolist linebreak ts=8
42:let line="1\t".repeat('a', winwidth(0)-2)
43:$put =line
44:$
45:norm! zt
46:redraw!
47:let line=ScreenChar(winwidth(0))
48:call DoRecordScreen()
49:%w! test.out
50:qa!
51ENDTEST
52dummy text