| 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_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() |
| :%w! test.out |
| :qa! |
| ENDTEST |
| dummy text |