diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-03-09 15:00:41 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-03-09 15:00:41 -0700 |
commit | 7a7f497b483cd65e340064f23ed1c73425ecba0a (patch) | |
tree | d5c99ea22a1e10300d06165f8ac96df6b0dc59e1 /test/functional/legacy/prompt_buffer_spec.lua | |
parent | 1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (diff) | |
parent | ade1b12f49c3b3914c74847d791eb90ea90b56b7 (diff) | |
download | rneovim-7a7f497b483cd65e340064f23ed1c73425ecba0a.tar.gz rneovim-7a7f497b483cd65e340064f23ed1c73425ecba0a.tar.bz2 rneovim-7a7f497b483cd65e340064f23ed1c73425ecba0a.zip |
Merge remote-tracking branch 'upstream/master' into aucmd_textputpost
Diffstat (limited to 'test/functional/legacy/prompt_buffer_spec.lua')
-rw-r--r-- | test/functional/legacy/prompt_buffer_spec.lua | 165 |
1 files changed, 76 insertions, 89 deletions
diff --git a/test/functional/legacy/prompt_buffer_spec.lua b/test/functional/legacy/prompt_buffer_spec.lua index 5c3f8a6f8c..e4810feedb 100644 --- a/test/functional/legacy/prompt_buffer_spec.lua +++ b/test/functional/legacy/prompt_buffer_spec.lua @@ -4,8 +4,9 @@ local feed = helpers.feed local source = helpers.source local clear = helpers.clear local command = helpers.command +local expect = helpers.expect local poke_eventloop = helpers.poke_eventloop -local meths = helpers.meths +local api = helpers.api local eq = helpers.eq local neq = helpers.neq @@ -57,14 +58,10 @@ describe('prompt buffer', function() ]]) screen:expect([[ cmd: ^ | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) end @@ -76,7 +73,7 @@ describe('prompt buffer', function() -- oldtest: Test_prompt_basic() it('works', function() source_script() - feed("hello\n") + feed('hello\n') screen:expect([[ cmd: hello | Command: "hello" | @@ -84,22 +81,13 @@ describe('prompt buffer', function() cmd: ^ | [Prompt] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) - feed("exit\n") + feed('exit\n') screen:expect([[ ^other buffer | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | + ~ |*8 | ]]) end) @@ -107,69 +95,46 @@ describe('prompt buffer', function() -- oldtest: Test_prompt_editing() it('editing', function() source_script() - feed("hello<BS><BS>") + feed('hello<BS><BS>') screen:expect([[ cmd: hel^ | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) - feed("<Left><Left><Left><BS>-") + feed('<Left><Left><Left><BS>-') screen:expect([[ cmd: -^hel | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) - feed("<C-O>lz") + feed('<C-O>lz') screen:expect([[ cmd: -hz^el | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) - feed("<End>x") + feed('<End>x') screen:expect([[ cmd: -hzelx^ | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) - feed("<C-U>exit\n") + feed('<C-U>exit\n') screen:expect([[ ^other buffer | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | + ~ |*8 | ]]) end) @@ -177,43 +142,33 @@ describe('prompt buffer', function() -- oldtest: Test_prompt_switch_windows() it('switch windows', function() source_script() - feed("<C-O>:call SwitchWindows()<CR>") - screen:expect{grid=[[ + feed('<C-O>:call SwitchWindows()<CR>') + screen:expect { + grid = [[ cmd: | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | ^other buffer | - ~ | - ~ | - ~ | + ~ |*3 | - ]]} - feed("<C-O>:call SwitchWindows()<CR>") + ]], + } + feed('<C-O>:call SwitchWindows()<CR>') screen:expect([[ cmd: ^ | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 -- INSERT -- | ]]) - feed("<Esc>") + feed('<Esc>') screen:expect([[ cmd:^ | - ~ | - ~ | - ~ | + ~ |*3 [Prompt] [+] | other buffer | - ~ | - ~ | - ~ | + ~ |*3 | ]]) end) @@ -226,12 +181,12 @@ describe('prompt buffer', function() call timer_start(0, {-> nvim_buf_set_lines(s:buf, -1, -1, 0, ['walrus'])}) ]] poke_eventloop() - eq({ mode = 'i', blocking = false }, meths.get_mode()) + eq({ mode = 'i', blocking = false }, api.nvim_get_mode()) end) -- oldtest: Test_prompt_appending_while_hidden() it('accessing hidden prompt buffer does not start insert mode', function() - local prev_win = meths.get_current_win() + local prev_win = api.nvim_get_current_win() source([[ new prompt set buftype=prompt @@ -251,16 +206,48 @@ describe('prompt buffer', function() endfunc ]]) feed('asomething<CR>') - eq('something', meths.get_var('entered')) - neq(prev_win, meths.get_current_win()) + eq('something', api.nvim_get_var('entered')) + neq(prev_win, api.nvim_get_current_win()) feed('exit<CR>') - eq(prev_win, meths.get_current_win()) - eq({ mode = 'n', blocking = false }, meths.get_mode()) + eq(prev_win, api.nvim_get_current_win()) + eq({ mode = 'n', blocking = false }, api.nvim_get_mode()) command('call DoAppend()') - eq({ mode = 'n', blocking = false }, meths.get_mode()) + eq({ mode = 'n', blocking = false }, api.nvim_get_mode()) feed('i') - eq({ mode = 'i', blocking = false }, meths.get_mode()) + eq({ mode = 'i', blocking = false }, api.nvim_get_mode()) command('call DoAppend()') - eq({ mode = 'i', blocking = false }, meths.get_mode()) + eq({ mode = 'i', blocking = false }, api.nvim_get_mode()) + end) + + -- oldtest: Test_prompt_leave_modify_hidden() + it('modifying hidden buffer does not prevent prompt buffer mode change', function() + source([[ + file hidden + set bufhidden=hide + enew + new prompt + set buftype=prompt + + inoremap <buffer> w <Cmd>wincmd w<CR> + inoremap <buffer> q <Cmd>bwipe!<CR> + 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([[ + + Leave + Enter + Leave + Close]]) end) end) |