neovim/test/functional/legacy/066_visual_block_tab_spec.lua
Thiago de Arruda 3e83e44792 input: Ignore invalid "<" key sequences
Ignoring invalid key sequences simplifies input handling in UIs. The only
downside is having to use "<lt>" everytime a "<" is needed on functional tests.
2015-01-13 11:54:51 -03:00

65 lines
1.7 KiB
Lua

-- vim: set foldmethod=marker foldmarker=[[,]] :
-- Test for visual block shift and tab characters.
local helpers = require('test.functional.helpers')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, expect = helpers.execute, helpers.expect
describe('visual block shift and tab characters', function()
setup(clear)
it('is working', function()
insert([[
one two three
one two three
one two three
one two three
one two three
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz]])
feed('gg')
feed([[fe<C-v>4jR<esc>ugvr1:'<lt>,'>yank A<cr>]])
execute('/^abcdefgh')
feed('<C-v>4jI <esc>j<lt><lt>11|D')
feed('j7|a <esc>')
feed('j7|a <esc>')
feed('j7|a <esc>4k13|<C-v>4j<lt>')
execute('$-5,$yank A')
execute([[$-4,$s/\s\+//g]])
feed('<C-v>4kI <esc>j<lt><lt>')
feed('j7|a <esc>')
feed('j7|a <esc>')
feed('j7|a <esc>4k13|<C-v>4j3<lt>')
execute('$-4,$yank A')
-- Put @a and clean empty lines
execute('%d')
execute('0put a')
execute('$d')
-- Assert buffer contents.
expect([[
on1 two three
on1 two three
on1 two three
on1 two three
on1 two three
abcdefghijklmnopqrstuvwxyz
abcdefghij
abc defghijklmnopqrstuvwxyz
abc defghijklmnopqrstuvwxyz
abc defghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghij
abc defghijklmnopqrstuvwxyz
abc defghijklmnopqrstuvwxyz
abc defghijklmnopqrstuvwxyz]])
end)
end)