aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/listlbr_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/legacy/listlbr_spec.lua')
-rw-r--r--test/functional/legacy/listlbr_spec.lua205
1 files changed, 104 insertions, 101 deletions
diff --git a/test/functional/legacy/listlbr_spec.lua b/test/functional/legacy/listlbr_spec.lua
index eb979edc69..f70d55f4a3 100644
--- a/test/functional/legacy/listlbr_spec.lua
+++ b/test/functional/legacy/listlbr_spec.lua
@@ -2,162 +2,165 @@
local helpers = require('test.functional.helpers')(after_each)
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
-local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
+local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers.expect
describe('listlbr', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
+ -- luacheck: ignore 613 (Trailing whitespaces in a string)
it('is working', function()
insert([[
dummy text]])
- execute('set wildchar=^E')
- execute('10new')
- execute('vsp')
- execute('vert resize 20')
- execute([[put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"]])
- execute('norm! zt')
- execute('set ts=4 sw=4 sts=4 linebreak sbr=+ wrap')
+ feed_command('set wildchar=^E')
+ feed_command('10new')
+ feed_command('vsp')
+ feed_command('vert resize 20')
+ feed_command([[put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"]])
+ feed_command('norm! zt')
+ feed_command('set ts=4 sw=4 sts=4 linebreak sbr=+ wrap')
source([[
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
+ 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
+ wincmd l
+ $put =printf(\"\n%s\", g:test)
+ $put =g:line
+ wincmd p
endfu
]])
- execute('let g:test="Test 1: set linebreak"')
- execute('redraw!')
- execute('let line=ScreenChar(winwidth(0))')
- execute('call DoRecordScreen()')
-
- execute('let g:test="Test 2: set linebreak + set list"')
- execute('set linebreak list listchars=')
- execute('redraw!')
- execute('let line=ScreenChar(winwidth(0))')
- execute('call DoRecordScreen()')
-
- execute('let g:test ="Test 3: set linebreak nolist"')
- execute('set nolist linebreak')
- execute('redraw!')
- execute('let line=ScreenChar(winwidth(0))')
- execute('call DoRecordScreen()')
-
- execute('let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!"')
- execute('set nolist linebreak ts=8')
- execute([[let line="1\t".repeat('a', winwidth(0)-2)]])
- execute('$put =line')
- execute('$')
- execute('norm! zt')
- execute('redraw!')
- execute('let line=ScreenChar(winwidth(0))')
- execute('call DoRecordScreen()')
- execute([[let line="_S_\t bla"]])
- execute('$put =line')
- execute('$')
- execute('norm! zt')
-
- execute('let g:test ="Test 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)"')
- execute('set cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab')
- execute('syn match ConcealVar contained /_/ conceal')
- execute('syn match All /.*/ contains=ConcealVar')
- execute('let line=ScreenChar(winwidth(0))')
- execute('call DoRecordScreen()')
- execute('set cpo&vim linebreak')
-
- execute('let g:test ="Test 6: set linebreak with visual block mode"')
- execute('let line="REMOVE: this not"')
- execute('$put =g:test')
- execute('$put =line')
- execute('let line="REMOVE: aaaaaaaaaaaaa"')
- execute('$put =line')
- execute('1/^REMOVE:')
+ feed_command('let g:test="Test 1: set linebreak"')
+ feed_command('redraw!')
+ feed_command('let line=ScreenChar(winwidth(0))')
+ feed_command('call DoRecordScreen()')
+
+ feed_command('let g:test="Test 2: set linebreak + set list"')
+ feed_command('set linebreak list listchars=')
+ feed_command('redraw!')
+ feed_command('let line=ScreenChar(winwidth(0))')
+ feed_command('call DoRecordScreen()')
+
+ feed_command('let g:test ="Test 3: set linebreak nolist"')
+ feed_command('set nolist linebreak')
+ feed_command('redraw!')
+ feed_command('let line=ScreenChar(winwidth(0))')
+ feed_command('call DoRecordScreen()')
+
+ feed_command('let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!"')
+ feed_command('set nolist linebreak ts=8')
+ feed_command([[let line="1\t".repeat('a', winwidth(0)-2)]])
+ feed_command('$put =line')
+ feed_command('$')
+ feed_command('norm! zt')
+ feed_command('redraw!')
+ feed_command('let line=ScreenChar(winwidth(0))')
+ feed_command('call DoRecordScreen()')
+ feed_command([[let line="_S_\t bla"]])
+ feed_command('$put =line')
+ feed_command('$')
+ feed_command('norm! zt')
+
+ feed_command('let g:test ="Test 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)"')
+ feed_command('set cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab')
+ feed_command('syn match ConcealVar contained /_/ conceal')
+ feed_command('syn match All /.*/ contains=ConcealVar')
+ feed_command('let line=ScreenChar(winwidth(0))')
+ feed_command('call DoRecordScreen()')
+ feed_command('set cpo&vim linebreak')
+
+ feed_command('let g:test ="Test 6: set linebreak with visual block mode"')
+ feed_command('let line="REMOVE: this not"')
+ feed_command('$put =g:test')
+ feed_command('$put =line')
+ feed_command('let line="REMOVE: aaaaaaaaaaaaa"')
+ feed_command('$put =line')
+ feed_command('1/^REMOVE:')
feed('0<C-V>jf x')
- execute('$put')
- execute('set cpo&vim linebreak')
+ feed_command('$put')
+ feed_command('set cpo&vim linebreak')
- execute('let g:test ="Test 7: set linebreak with visual block mode and v_b_A"')
- execute('$put =g:test')
+ feed_command('let g:test ="Test 7: set linebreak with visual block mode and v_b_A"')
+ feed_command('$put =g:test')
feed('Golong line: <esc>40afoobar <esc>aTARGET at end<esc>')
- execute([[exe "norm! $3B\<C-v>eAx\<Esc>"]])
- execute('set cpo&vim linebreak sbr=')
+ feed_command([[exe "norm! $3B\<C-v>eAx\<Esc>"]])
+ feed_command('set cpo&vim linebreak sbr=')
- execute('let g:test ="Test 8: set linebreak with visual char mode and changing block"')
- execute('$put =g:test')
+ feed_command('let g:test ="Test 8: set linebreak with visual char mode and changing block"')
+ feed_command('$put =g:test')
feed('Go1111-1111-1111-11-1111-1111-1111<esc>0f-lv3lc2222<esc>bgj.')
- execute('let g:test ="Test 9: using redo after block visual mode"')
- execute('$put =g:test')
+ feed_command('let g:test ="Test 9: using redo after block visual mode"')
+ feed_command('$put =g:test')
feed('Go<CR>')
feed('aaa<CR>')
feed('aaa<CR>')
feed('a<ESC>2k<C-V>2j~e.<CR>')
- execute('let g:test ="Test 10: using normal commands after block-visual"')
- execute('$put =g:test')
- execute('set linebreak')
+ feed_command('let g:test ="Test 10: using normal commands after block-visual"')
+ feed_command('$put =g:test')
+ feed_command('set linebreak')
feed('Go<cr>')
feed('abcd{ef<cr>')
feed('ghijklm<cr>')
feed('no}pqrs<esc>2k0f{<C-V><C-V>c%<esc>')
- execute('let g:test ="Test 11: using block replace mode after wrapping"')
- execute('$put =g:test')
- execute('set linebreak wrap')
+ feed_command('let g:test ="Test 11: using block replace mode after wrapping"')
+ feed_command('$put =g:test')
+ feed_command('set linebreak wrap')
feed('Go<esc>150aa<esc>yypk147|<C-V>jr0<cr>')
- execute('let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"')
- execute('set list listchars=space:_,trail:-,tab:>-,eol:$')
- execute('$put =g:test')
- execute([[let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "]])
- execute('$put =line')
- execute('$')
- execute('norm! zt')
- execute('redraw!')
- execute('let line=ScreenChar(winwidth(0))')
- execute('call DoRecordScreen()')
+ feed_command('let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"')
+ feed_command('set list listchars=space:_,trail:-,tab:>-,eol:$')
+ feed_command('$put =g:test')
+ feed_command([[let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "]])
+ feed_command('$put =line')
+ feed_command('$')
+ feed_command('norm! zt')
+ feed_command('redraw!')
+ feed_command('let line=ScreenChar(winwidth(0))')
+ feed_command('call DoRecordScreen()')
-- Assert buffer contents.
expect([[
-
+
abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP
-
+
Test 1: set linebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
-
+
Test 2: set linebreak + set list
^Iabcdef hijklmn^I
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
-
+
Test 3: set linebreak nolist
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
1 aaaaaaaaaaaaaaaaaa
-
+
Test 4: set linebreak with tab and 1 line as long as screen: should break!
1
+aaaaaaaaaaaaaaaaaa
~
~
_S_ bla
-
+
Test 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)
Sabbbbbb bla
~
@@ -173,19 +176,19 @@ describe('listlbr', function()
Test 8: set linebreak with visual char mode and changing block
1111-2222-1111-11-1111-2222-1111
Test 9: using redo after block visual mode
-
+
AaA
AaA
A
Test 10: using normal commands after block-visual
-
+
abcdpqrs
Test 11: using block replace mode after wrapping
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0aaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0aaa
Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
a aaaaaaaaaaaaaaaaaaaaaa a
-
+
Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
a_
aaaaaaaaaaaaaaaaaaaa