aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/cmdline_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/ui/cmdline_spec.lua')
-rw-r--r--test/functional/ui/cmdline_spec.lua34
1 files changed, 33 insertions, 1 deletions
diff --git a/test/functional/ui/cmdline_spec.lua b/test/functional/ui/cmdline_spec.lua
index dc29b765bd..a8cc8e00f0 100644
--- a/test/functional/ui/cmdline_spec.lua
+++ b/test/functional/ui/cmdline_spec.lua
@@ -984,14 +984,46 @@ it('tabline is not redrawn in Ex mode #24122', function()
end)
describe("cmdline height", function()
+ before_each(clear)
+
it("does not crash resized screen #14263", function()
- clear()
local screen = Screen.new(25, 10)
screen:attach()
command('set cmdheight=9999')
screen:try_resize(25, 5)
assert_alive()
end)
+
+ it('unchanged when trying to restore window sizes', function()
+ command('set showtabline=0 cmdheight=2 laststatus=0')
+ feed('q:') -- Closing cmdwin tries to restore sizes
+ command('set cmdheight=1 | quit')
+ eq(1, eval('&cmdheight'))
+
+ command('set showtabline=2 cmdheight=3')
+ feed('q:')
+ command('set showtabline=0 | quit')
+ eq(3, eval('&cmdheight'))
+
+ command('set cmdheight=1 laststatus=2')
+ feed('q:')
+ command('set laststatus=0 | quit')
+ eq(1, eval('&cmdheight'))
+
+ command('set laststatus=2')
+ feed('q:')
+ command('set laststatus=1 | quit')
+ eq(1, eval('&cmdheight'))
+
+ command('set laststatus=2 | belowright vsplit | wincmd _')
+ local restcmds = eval('winrestcmd()')
+ feed('q:')
+ command('set laststatus=1 | quit')
+ -- As we have 2 windows, &ls = 1 should still have a statusline on the last
+ -- window. As such, the number of available rows hasn't changed and the window
+ -- sizes should be restored.
+ eq(restcmds, eval('winrestcmd()'))
+ end)
end)
describe('cmdheight=0', function()