diff options
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) |