fix(paste): deal with trailing new line in chunk

This commit is contained in:
zeertzjq
2022-03-06 06:56:24 +08:00
parent fcc6f66cf2
commit a6eafc77ce
2 changed files with 48 additions and 3 deletions

View File

@@ -686,6 +686,19 @@ describe('API', function()
feed('u')
expect('')
end)
it('stream: Normal mode on empty line pasting multiple lines', function()
nvim('paste', 'aaaaaa\n', false, 1)
nvim('paste', 'bbbbbb\n', false, 2)
nvim('paste', 'cccccc\n', false, 2)
nvim('paste', 'dddddd', false, 3)
expect([[
aaaaaa
bbbbbb
cccccc
dddddd]])
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)
@@ -696,6 +709,20 @@ describe('API', function()
feed('u')
expect('||')
end)
it('stream: Normal mode not at the end of a line pasting multiple lines', function()
feed('i||<Esc>0')
nvim('paste', 'aaaaaa\n', false, 1)
nvim('paste', 'bbbbbb\n', false, 2)
nvim('paste', 'cccccc\n', false, 2)
nvim('paste', 'dddddd', false, 3)
expect([[
|aaaaaa
bbbbbb
cccccc
dddddd|]])
feed('u')
expect('||')
end)
it('stream: Normal mode at the end of a line', function()
feed('i||<Esc>')
nvim('paste', 'aaaaaa', false, 1)
@@ -706,6 +733,20 @@ describe('API', function()
feed('u')
expect('||')
end)
it('stream: Normal mode at the end of a line pasting multiple lines', function()
feed('i||<Esc>')
nvim('paste', 'aaaaaa\n', false, 1)
nvim('paste', 'bbbbbb\n', false, 2)
nvim('paste', 'cccccc\n', false, 2)
nvim('paste', 'dddddd', false, 3)
expect([[
||aaaaaa
bbbbbb
cccccc
dddddd]])
feed('u')
expect('||')
end)
it('stream: Visual mode neither end at the end of a line', function()
feed('i|xxx<CR>xxx|<Esc>hvhk')
nvim('paste', 'aaaaaa', false, 1)