aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/prompt_buffer_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-01-18 07:23:48 +0800
committerGitHub <noreply@github.com>2024-01-18 07:23:48 +0800
commit8a07ca6c4baf9a72476df4b1851aa33165b4f9c5 (patch)
tree1b4578d206ed6328dee89efc75b9a00be940713b /test/functional/legacy/prompt_buffer_spec.lua
parent780dd88b68b7a4d97c8b7ec6a8d33ab523ab04dd (diff)
downloadrneovim-8a07ca6c4baf9a72476df4b1851aa33165b4f9c5.tar.gz
rneovim-8a07ca6c4baf9a72476df4b1851aa33165b4f9c5.tar.bz2
rneovim-8a07ca6c4baf9a72476df4b1851aa33165b4f9c5.zip
vim-patch:9.1.0040: issue with prompt buffer and hidden buffer (#27071)
Problem: Modifying a hidden buffer still interferes with prompt buffer mode changes. Solution: Save and restore b_prompt_insert. (zeertzjq) closes: vim/vim#13875 Modifying hidden buffer still interferes with prompt buffer mode changes https://github.com/vim/vim/commit/f267847017976ab85117bdf75b45e769836f8d69
Diffstat (limited to 'test/functional/legacy/prompt_buffer_spec.lua')
-rw-r--r--test/functional/legacy/prompt_buffer_spec.lua18
1 files changed, 15 insertions, 3 deletions
diff --git a/test/functional/legacy/prompt_buffer_spec.lua b/test/functional/legacy/prompt_buffer_spec.lua
index 59a9283868..e4810feedb 100644
--- a/test/functional/legacy/prompt_buffer_spec.lua
+++ b/test/functional/legacy/prompt_buffer_spec.lua
@@ -219,7 +219,7 @@ describe('prompt buffer', function()
eq({ mode = 'i', blocking = false }, api.nvim_get_mode())
end)
- -- oldtest: Test_prompt_close_modify_hidden()
+ -- oldtest: Test_prompt_leave_modify_hidden()
it('modifying hidden buffer does not prevent prompt buffer mode change', function()
source([[
file hidden
@@ -228,14 +228,26 @@ describe('prompt buffer', function()
new prompt
set buftype=prompt
+ inoremap <buffer> w <Cmd>wincmd w<CR>
inoremap <buffer> q <Cmd>bwipe!<CR>
- autocmd BufWinLeave prompt call setbufline('hidden', 1, 'Test')
+ autocmd BufLeave prompt call appendbufline('hidden', '$', 'Leave')
+ autocmd BufEnter prompt call appendbufline('hidden', '$', 'Enter')
+ autocmd BufWinLeave prompt call appendbufline('hidden', '$', 'Close')
]])
feed('a')
eq({ mode = 'i', blocking = false }, api.nvim_get_mode())
+ feed('w')
+ eq({ mode = 'n', blocking = false }, api.nvim_get_mode())
+ feed('<C-W>w')
+ eq({ mode = 'i', blocking = false }, api.nvim_get_mode())
feed('q')
eq({ mode = 'n', blocking = false }, api.nvim_get_mode())
command('bwipe!')
- expect('Test')
+ expect([[
+
+ Leave
+ Enter
+ Leave
+ Close]])
end)
end)