tests: Migrate legacy test 88.

This commit is contained in:
Lucas Hoffmann
2015-05-15 19:03:49 +02:00
parent a40a4e2431
commit 87c208a43f
4 changed files with 117 additions and 129 deletions

View File

@@ -32,7 +32,6 @@ SCRIPTS := \
test69.out \
test73.out \
test79.out \
test88.out \
test_listlbr.out \
test_breakindent.out \
test_close_count.out \

View File

@@ -1,99 +0,0 @@
vim: set ft=vim
Tests for correct display (cursor column position) with +conceal and
tabulators.
STARTTEST
:so small.vim
:if !has('conceal')
e! test.ok
wq! test.out
:endif
:" Conceal settings.
:set conceallevel=2
:set concealcursor=nc
:syntax match test /|/ conceal
:" Save current cursor position. Only works in <expr> mode, can't be used
:" with :normal because it moves the cursor to the command line. Thanks to ZyX
:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
:let positions = []
:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
:" Start test.
/^start:
:normal ztj
GGk
:" We should end up in the same column when running these commands on the two
:" lines.
:normal ft
GGk
:normal $
GGk
:normal 0j
GGk
:normal ft
GGk
:normal $
GGk
:normal 0j0j
GGk
:" Same for next test block.
:normal ft
GGk
:normal $
GGk
:normal 0j
GGk
:normal ft
GGk
:normal $
GGk
:normal 0j0j
GGk
:" And check W with multiple tabs and conceals in a line.
:normal W
GGk
:normal W
GGk
:normal W
GGk
:normal $
GGk
:normal 0j
GGk
:normal W
GGk
:normal W
GGk
:normal W
GGk
:normal $
GGk
:set lbr
:normal $
GGk
:set list listchars=tab:>-
:normal 0
GGk
:normal W
GGk
:normal W
GGk
:normal W
GGk
:normal $
GGk
:" Display result.
:call append('$', 'end:')
:call append('$', positions)
:/^end/,$wq! test.out
ENDTEST
start:
.concealed. text
|concealed| text
.concealed. text
|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|

View File

@@ -1,29 +0,0 @@
end:
2:1
2:17
2:20
3:1
3:17
3:20
5:8
5:25
5:28
6:8
6:25
6:28
8:1
8:9
8:17
8:25
8:27
9:1
9:9
9:17
9:25
9:26
9:26
9:1
9:9
9:17
9:25
9:26

View File

@@ -0,0 +1,117 @@
-- Tests for correct display (cursor column position) with +conceal and
-- tabulators.
local helpers = require('test.functional.helpers')
local feed, insert, eq, eval = helpers.feed, helpers.insert, helpers.eq, helpers.eval
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
describe('cursor and column position with conceal and tabulators', function()
setup(clear)
it('are working', function()
insert([[
start:
.concealed. text
|concealed| text
.concealed. text
|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|]])
-- Conceal settings.
execute('set conceallevel=2')
execute('set concealcursor=nc')
execute('syntax match test /|/ conceal')
-- Save current cursor position. Only works in <expr> mode, can't be used
-- with :normal because it moves the cursor to the command line. Thanks to
-- ZyX <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
execute('let positions = []')
execute([[nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"]])
-- Start test.
execute('/^start:')
feed('ztj')
feed('GG')
-- We should end up in the same column when running these commands on the
-- two lines.
execute('normal ft')
feed('GG')
feed('$')
feed('GG')
feed('0j')
feed('GG')
execute('normal ft')
feed('GG')
feed('$')
feed('GG')
feed('j0j')
feed('GG')
-- Same for next test block.
execute('normal ft')
feed('GG')
feed('$')
feed('GG')
feed('0j')
feed('GG')
execute('normal ft')
feed('GG')
feed('$')
feed('GG')
feed('0j0j')
feed('GG')
-- And check W with multiple tabs and conceals in a line.
feed('W')
feed('GG')
feed('W')
feed('GG')
feed('W')
feed('GG')
feed('$')
feed('GG')
feed('0j')
feed('GG')
feed('W')
feed('GG')
feed('W')
feed('GG')
feed('W')
feed('GG')
feed('$')
feed('GG')
execute('set lbr')
feed('$')
feed('GG')
-- Display result.
execute([[call append('$', 'end:')]])
execute([[call append('$', positions)]])
execute('0,/^end/-1 d')
-- Assert buffer contents.
expect([[
end:
2:1
2:17
2:20
3:1
3:17
3:20
5:8
5:25
5:28
6:8
6:25
6:28
8:1
8:9
8:17
8:25
8:27
9:1
9:9
9:17
9:25
9:26
9:26]])
end)
end)