aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Hoffmann <l-m-h@web.de>2015-06-21 01:37:05 +0200
committerLucas Hoffmann <l-m-h@web.de>2016-03-09 23:55:13 +0100
commit925c020a1b33bc40f4c0fe3448973164bc1728f8 (patch)
tree9074e93ee54a4cbb2bb16c25d42b4418cdd42625
parent87c208a43ff688f849ab174b0aaa6e0e03d3fb50 (diff)
downloadrneovim-925c020a1b33bc40f4c0fe3448973164bc1728f8.tar.gz
rneovim-925c020a1b33bc40f4c0fe3448973164bc1728f8.tar.bz2
rneovim-925c020a1b33bc40f4c0fe3448973164bc1728f8.zip
tests: Modernize legacy test 88.
-rw-r--r--test/functional/legacy/088_conceal_tabs_spec.lua98
1 files changed, 33 insertions, 65 deletions
diff --git a/test/functional/legacy/088_conceal_tabs_spec.lua b/test/functional/legacy/088_conceal_tabs_spec.lua
index 78cdf433fb..23ed95fecb 100644
--- a/test/functional/legacy/088_conceal_tabs_spec.lua
+++ b/test/functional/legacy/088_conceal_tabs_spec.lua
@@ -2,8 +2,12 @@
-- 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
+local feed, insert, clear, execute =
+ helpers.feed, helpers.insert, helpers.clear, helpers.execute
+
+local expect_pos = function(row, col)
+ return helpers.eq({row, col}, helpers.eval('[screenrow(), screencol()]'))
+end
describe('cursor and column position with conceal and tabulators', function()
setup(clear)
@@ -24,94 +28,58 @@ describe('cursor and column position with conceal and tabulators', function()
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')
+ expect_pos(2, 1)
-- We should end up in the same column when running these commands on the
-- two lines.
- execute('normal ft')
- feed('GG')
+ feed('ft')
+ expect_pos(2, 17)
feed('$')
- feed('GG')
+ expect_pos(2, 20)
feed('0j')
- feed('GG')
- execute('normal ft')
- feed('GG')
+ expect_pos(3, 1)
+ feed('ft')
+ expect_pos(3, 17)
feed('$')
- feed('GG')
+ expect_pos(3, 20)
feed('j0j')
- feed('GG')
+ expect_pos(5, 8)
-- Same for next test block.
- execute('normal ft')
- feed('GG')
+ feed('ft')
+ expect_pos(5, 25)
feed('$')
- feed('GG')
+ expect_pos(5, 28)
feed('0j')
- feed('GG')
- execute('normal ft')
- feed('GG')
+ expect_pos(6, 8)
+ feed('ft')
+ expect_pos(6, 25)
feed('$')
- feed('GG')
+ expect_pos(6, 28)
feed('0j0j')
- feed('GG')
+ expect_pos(8, 1)
-- And check W with multiple tabs and conceals in a line.
feed('W')
- feed('GG')
+ expect_pos(8, 9)
feed('W')
- feed('GG')
+ expect_pos(8, 17)
feed('W')
- feed('GG')
+ expect_pos(8, 25)
feed('$')
- feed('GG')
+ expect_pos(8, 27)
feed('0j')
- feed('GG')
+ expect_pos(9, 1)
feed('W')
- feed('GG')
+ expect_pos(9, 9)
feed('W')
- feed('GG')
+ expect_pos(9, 17)
feed('W')
- feed('GG')
+ expect_pos(9, 25)
feed('$')
- feed('GG')
+ expect_pos(9, 26)
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]])
+ expect_pos(9, 26)
end)
end)