diff options
author | Lucas Hoffmann <l-m-h@web.de> | 2015-06-21 01:37:05 +0200 |
---|---|---|
committer | Lucas Hoffmann <l-m-h@web.de> | 2016-03-09 23:55:13 +0100 |
commit | 925c020a1b33bc40f4c0fe3448973164bc1728f8 (patch) | |
tree | 9074e93ee54a4cbb2bb16c25d42b4418cdd42625 | |
parent | 87c208a43ff688f849ab174b0aaa6e0e03d3fb50 (diff) | |
download | rneovim-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.lua | 98 |
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) |