-- Tests for (protocol-driven) ui2, intended to replace the legacy message grid UI. local n = require('test.functional.testnvim')() local Screen = require('test.functional.ui.screen') local clear, exec, exec_lua, feed = n.clear, n.exec, n.exec_lua, n.feed describe('cmdline2', function() local screen before_each(function() clear() screen = Screen.new() screen:add_extra_attr_ids({ [100] = { foreground = Screen.colors.Magenta1, bold = true }, }) exec_lua(function() require('vim._extui').enable({}) end) end) it("no crash for invalid grid after 'cmdheight' OptionSet", function() exec('tabnew | tabprev') feed(':set ch=0') screen:expect([[ {5: }{100:2}{5: [No Name] }{24: [No Name] }{2: }{24:X}| | {1:~ }|*11 {16::}{15:set} {16:ch}{15:=}0^ | ]]) feed('') exec('tabnext') screen:expect([[ {24: [No Name] }{5: }{100:2}{5: [No Name] }{2: }{24:X}| ^ | {1:~ }|*11 {16::}{15:set} {16:ch}{15:=}0 | ]]) exec('tabnext') screen:expect([[ {5: }{100:2}{5: [No Name] }{24: [No Name] }{2: }{24:X}| ^ | {1:~ }|*12 ]]) n.assert_alive() end) end)