aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/window_spec.lua
diff options
context:
space:
mode:
authorSean Dewar <seandewar@users.noreply.github.com>2023-07-24 14:19:01 +0100
committerSean Dewar <seandewar@users.noreply.github.com>2023-07-26 20:44:46 +0100
commit472271199e483d3f23d62c272b20c5290eec5474 (patch)
tree9965e5a35f07a77365d48148c251a52afd2b4d8c /test/functional/api/window_spec.lua
parent5d921e28c1cc33eced22bbfa823460ca241e3dc1 (diff)
downloadrneovim-472271199e483d3f23d62c272b20c5290eec5474.tar.gz
rneovim-472271199e483d3f23d62c272b20c5290eec5474.tar.bz2
rneovim-472271199e483d3f23d62c272b20c5290eec5474.zip
feat(api): allow win_hide to close cmdwin or non-previous windows
This aligns its behaviour better with `nvim_win_close`. Note that `:hide` is actually incapable of closing the cmdwin, unlike `:close` and `:quit`, so this is a bit of a difference in behaviour.
Diffstat (limited to 'test/functional/api/window_spec.lua')
-rw-r--r--test/functional/api/window_spec.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/functional/api/window_spec.lua b/test/functional/api/window_spec.lua
index 74aaae0c6f..00896a97d8 100644
--- a/test/functional/api/window_spec.lua
+++ b/test/functional/api/window_spec.lua
@@ -615,6 +615,24 @@ describe('API/win', function()
eq({oldwin}, meths.list_wins())
eq({oldbuf}, meths.list_bufs())
end)
+ it('in the cmdwin', function()
+ feed('q:')
+ -- Can close the cmdwin.
+ meths.win_hide(0)
+ eq('', funcs.getcmdwintype())
+
+ local old_win = meths.get_current_win()
+ local other_win = meths.open_win(0, false, {
+ relative='win', row=3, col=3, width=12, height=3
+ })
+ feed('q:')
+ -- Cannot close the previous window.
+ eq('E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
+ pcall_err(meths.win_hide, old_win))
+ -- Can close other windows.
+ meths.win_hide(other_win)
+ eq(false, meths.win_is_valid(other_win))
+ end)
end)
describe('text_height', function()