diff options
author | Lucas Hoffmann <l-m-h@web.de> | 2015-05-15 19:03:49 +0200 |
---|---|---|
committer | Lucas Hoffmann <l-m-h@web.de> | 2016-03-09 23:54:26 +0100 |
commit | 87c208a43ff688f849ab174b0aaa6e0e03d3fb50 (patch) | |
tree | ca13d75292d1f793eb1af756afd72e7f59d1b422 | |
parent | a40a4e2431ccae5f2855df1ffdbf1c94de681886 (diff) | |
download | rneovim-87c208a43ff688f849ab174b0aaa6e0e03d3fb50.tar.gz rneovim-87c208a43ff688f849ab174b0aaa6e0e03d3fb50.tar.bz2 rneovim-87c208a43ff688f849ab174b0aaa6e0e03d3fb50.zip |
tests: Migrate legacy test 88.
-rw-r--r-- | src/nvim/testdir/Makefile | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test88.in | 99 | ||||
-rw-r--r-- | src/nvim/testdir/test88.ok | 29 | ||||
-rw-r--r-- | test/functional/legacy/088_conceal_tabs_spec.lua | 117 |
4 files changed, 117 insertions, 129 deletions
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index 63ca4cf6c4..ec236e72b4 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -32,7 +32,6 @@ SCRIPTS := \ test69.out \ test73.out \ test79.out \ - test88.out \ test_listlbr.out \ test_breakindent.out \ test_close_count.out \ diff --git a/src/nvim/testdir/test88.in b/src/nvim/testdir/test88.in deleted file mode 100644 index 9e43f703e9..0000000000 --- a/src/nvim/testdir/test88.in +++ /dev/null @@ -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| diff --git a/src/nvim/testdir/test88.ok b/src/nvim/testdir/test88.ok deleted file mode 100644 index 12949f274a..0000000000 --- a/src/nvim/testdir/test88.ok +++ /dev/null @@ -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 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 <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) |