From 87c208a43ff688f849ab174b0aaa6e0e03d3fb50 Mon Sep 17 00:00:00 2001 From: Lucas Hoffmann Date: Fri, 15 May 2015 19:03:49 +0200 Subject: tests: Migrate legacy test 88. --- test/functional/legacy/088_conceal_tabs_spec.lua | 117 +++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 test/functional/legacy/088_conceal_tabs_spec.lua (limited to 'test/functional') diff --git a/test/functional/legacy/088_conceal_tabs_spec.lua b/test/functional/legacy/088_conceal_tabs_spec.lua new file mode 100644 index 0000000000..78cdf433fb --- /dev/null +++ b/test/functional/legacy/088_conceal_tabs_spec.lua @@ -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 mode, can't be used + -- with :normal because it moves the cursor to the command line. Thanks to + -- ZyX for the idea to use an mapping. + execute('let positions = []') + execute([[nnoremap 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) -- cgit From 925c020a1b33bc40f4c0fe3448973164bc1728f8 Mon Sep 17 00:00:00 2001 From: Lucas Hoffmann Date: Sun, 21 Jun 2015 01:37:05 +0200 Subject: tests: Modernize legacy test 88. --- test/functional/legacy/088_conceal_tabs_spec.lua | 98 ++++++++---------------- 1 file changed, 33 insertions(+), 65 deletions(-) (limited to 'test/functional') 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 mode, can't be used - -- with :normal because it moves the cursor to the command line. Thanks to - -- ZyX for the idea to use an mapping. - execute('let positions = []') - execute([[nnoremap 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) -- cgit From 316d38d98c67c0d6312d55304743ee9b376c8dbc Mon Sep 17 00:00:00 2001 From: Lucas Hoffmann Date: Sat, 6 Feb 2016 08:25:24 +0100 Subject: tests: Update migrated legacy test 88 for patch 7.4.639. The patch was merged into master at d25a59f4. --- test/functional/legacy/088_conceal_tabs_spec.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/functional') diff --git a/test/functional/legacy/088_conceal_tabs_spec.lua b/test/functional/legacy/088_conceal_tabs_spec.lua index 23ed95fecb..c78f4e5c3e 100644 --- a/test/functional/legacy/088_conceal_tabs_spec.lua +++ b/test/functional/legacy/088_conceal_tabs_spec.lua @@ -81,5 +81,16 @@ describe('cursor and column position with conceal and tabulators', function() execute('set lbr') feed('$') expect_pos(9, 26) + execute('set list listchars=tab:>-') + feed('0') + expect_pos(9, 1) + feed('W') + expect_pos(9, 9) + feed('W') + expect_pos(9, 17) + feed('W') + expect_pos(9, 25) + feed('$') + expect_pos(9, 26) end) end) -- cgit