From 3ca0343fb99b7f7412fca73be6f94df252b6f0a3 Mon Sep 17 00:00:00 2001 From: erw7 Date: Thu, 23 May 2019 01:47:56 +0900 Subject: vim-patch:8.1.0032: BS in prompt buffer starts new line Problem: BS in prompt buffer starts new line. Solution: Do not allows BS over the prompt. Make term_sendkeys() handle special keys. Add a test. https://github.com/vim/vim/commit/6b810d92a9cd9378ab46ea0db07079cb789f9faa --- test/functional/legacy/prompt_buffer_spec.lua | 80 +++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 6 deletions(-) (limited to 'test/functional/legacy') diff --git a/test/functional/legacy/prompt_buffer_spec.lua b/test/functional/legacy/prompt_buffer_spec.lua index 749e65a985..d494bb5a81 100644 --- a/test/functional/legacy/prompt_buffer_spec.lua +++ b/test/functional/legacy/prompt_buffer_spec.lua @@ -28,6 +28,11 @@ describe('prompt buffer', function() call append(line("$") - 1, 'Result: "' . a:text .'"') endfunc ]]) + feed_command("set noshowmode | set laststatus=0") + feed_command("call setline(1, 'other buffer')") + feed_command("new") + feed_command("set buftype=prompt") + feed_command("call prompt_setcallback(bufnr(''), function('TextEntered'))") end) after_each(function() @@ -35,11 +40,6 @@ describe('prompt buffer', function() end) it('works', function() - feed_command("set noshowmode | set laststatus=0") - feed_command("call setline(1, 'other buffer')") - feed_command("new") - feed_command("set buftype=prompt") - feed_command("call prompt_setcallback(bufnr(''), function('TextEntered'))") screen:expect([[ ^ | ~ | @@ -52,7 +52,7 @@ describe('prompt buffer', function() ~ | | ]]) - feed_command("startinsert") + feed("i") feed("hello\n") screen:expect([[ % hello | @@ -81,4 +81,72 @@ describe('prompt buffer', function() ]]) end) + it('editing', function() + screen:expect([[ + ^ | + ~ | + ~ | + ~ | + [Scratch] | + other buffer | + ~ | + ~ | + ~ | + | + ]]) + feed("i") + feed("hello") + screen:expect([[ + % hel^ | + ~ | + ~ | + ~ | + [Scratch] | + other buffer | + ~ | + ~ | + ~ | + | + ]]) + feed("-") + screen:expect([[ + % -^hel | + ~ | + ~ | + ~ | + [Scratch] | + other buffer | + ~ | + ~ | + ~ | + | + ]]) + feed("x") + screen:expect([[ + % -helx^ | + ~ | + ~ | + ~ | + [Scratch] | + other buffer | + ~ | + ~ | + ~ | + | + ]]) + feed("exit\n") + screen:expect([[ + ^other buffer | + ~ | + ~ | + ~ | + ~ | + ~ | + ~ | + ~ | + ~ | + | + ]]) + end) + end) -- cgit