mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
test(tui_spec): prevent another case of race between paste and input (#30481)
Problem: When input immediately follows end of bracketed paste, the
nvim_input may be processed before the nvim_paste.
Solution: Ensure some waiting after the end of a bracketed paste.
(cherry picked from commit 5acdc4499e
)
This commit is contained in:
parent
53e37391e8
commit
2a8d80a442
@ -973,6 +973,7 @@ describe('TUI', function()
|
||||
{3:-- TERMINAL --} |
|
||||
]])
|
||||
feed_data('\027[201~') -- End paste.
|
||||
screen:expect_unchanged()
|
||||
feed_data('\027[27u') -- ESC: go to Normal mode.
|
||||
wait_for_mode('n')
|
||||
screen:expect([[
|
||||
@ -1184,6 +1185,7 @@ describe('TUI', function()
|
||||
expect_cmdline('"stuff 1 more"')
|
||||
-- End the paste sequence.
|
||||
feed_data('\027[201~')
|
||||
expect_cmdline('"stuff 1 more"')
|
||||
feed_data(' typed')
|
||||
expect_cmdline('"stuff 1 more typed"')
|
||||
end)
|
||||
@ -1227,6 +1229,7 @@ describe('TUI', function()
|
||||
feed_data('line 7\nline 8\n')
|
||||
-- Stop paste.
|
||||
feed_data('\027[201~')
|
||||
screen:expect_unchanged()
|
||||
feed_data('\n') -- <CR> to dismiss hit-enter prompt
|
||||
expect_child_buf_lines({ 'foo', '' })
|
||||
-- Dot-repeat/redo is not modified by failed paste.
|
||||
@ -1274,6 +1277,7 @@ describe('TUI', function()
|
||||
{}
|
||||
)
|
||||
feed_data('\027[200~line A\nline B\n\027[201~')
|
||||
expect_child_buf_lines({ '' })
|
||||
feed_data('ifoo\n\027[27u')
|
||||
expect_child_buf_lines({ 'foo', '' })
|
||||
end)
|
||||
@ -1396,7 +1400,6 @@ describe('TUI', function()
|
||||
feed_data('\n')
|
||||
-- Send the "stop paste" sequence.
|
||||
feed_data('\027[201~')
|
||||
|
||||
screen:expect([[
|
||||
|
|
||||
pasted from terminal (1) |
|
||||
|
Loading…
Reference in New Issue
Block a user