diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-03-06 06:56:24 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-03-15 18:15:18 +0800 |
commit | 2601e0873ff50ed804487dff00bd27e233709beb (patch) | |
tree | b91bad241e69b129a5289178c89189a698c5b301 /test/functional/api/vim_spec.lua | |
parent | 9b1e1fbc9f795921afd25ba38be5c79dec8b04d2 (diff) | |
download | rneovim-2601e0873ff50ed804487dff00bd27e233709beb.tar.gz rneovim-2601e0873ff50ed804487dff00bd27e233709beb.tar.bz2 rneovim-2601e0873ff50ed804487dff00bd27e233709beb.zip |
fix(paste): don't move cursor past the end of pasted text in Normal mode
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r-- | test/functional/api/vim_spec.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index 384e8d11f2..3d57953a11 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -665,6 +665,43 @@ describe('API', function() feed('u') -- Undo. expect(expected1) end) + it('stream: Insert mode', function() + feed('i') + nvim('paste', 'aaaaaa', false, 1) + nvim('paste', 'bbbbbb', false, 2) + nvim('paste', 'cccccc', false, 2) + nvim('paste', 'dddddd', false, 3) + expect('aaaaaabbbbbbccccccdddddd') + end) + it('stream: Normal mode on empty line', function() + nvim('paste', 'aaaaaa', false, 1) + nvim('paste', 'bbbbbb', false, 2) + nvim('paste', 'cccccc', false, 2) + nvim('paste', 'dddddd', false, 3) + expect('aaaaaabbbbbbccccccdddddd') + feed('u') + expect('') + end) + it('stream: Normal mode not at the end of a line', function() + feed('i||<Esc>0') + nvim('paste', 'aaaaaa', false, 1) + nvim('paste', 'bbbbbb', false, 2) + nvim('paste', 'cccccc', false, 2) + nvim('paste', 'dddddd', false, 3) + expect('|aaaaaabbbbbbccccccdddddd|') + feed('u') + expect('||') + end) + it('stream: Normal mode at the end of a line', function() + feed('i||<Esc>') + nvim('paste', 'aaaaaa', false, 1) + nvim('paste', 'bbbbbb', false, 2) + nvim('paste', 'cccccc', false, 2) + nvim('paste', 'dddddd', false, 3) + expect('||aaaaaabbbbbbccccccdddddd') + feed('u') + expect('||') + end) it('non-streaming', function() -- With final "\n". nvim('paste', 'line 1\nline 2\nline 3\n', true, -1) |