diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2024-01-03 02:09:18 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2024-01-03 02:09:29 +0100 |
commit | 04f2f864e270e772c6326cefdf24947f0130e492 (patch) | |
tree | 46f83f909b888a66c741032ab955afc6eab84292 /test/functional/ui/statusline_spec.lua | |
parent | 59d117ec99b6037cb9fad5bbfb6d0b18f5012927 (diff) | |
download | rneovim-04f2f864e270e772c6326cefdf24947f0130e492.tar.gz rneovim-04f2f864e270e772c6326cefdf24947f0130e492.tar.bz2 rneovim-04f2f864e270e772c6326cefdf24947f0130e492.zip |
refactor: format test/*
Diffstat (limited to 'test/functional/ui/statusline_spec.lua')
-rw-r--r-- | test/functional/ui/statusline_spec.lua | 186 |
1 files changed, 103 insertions, 83 deletions
diff --git a/test/functional/ui/statusline_spec.lua b/test/functional/ui/statusline_spec.lua index a88c03f565..873f529097 100644 --- a/test/functional/ui/statusline_spec.lua +++ b/test/functional/ui/statusline_spec.lua @@ -12,7 +12,7 @@ local exec_lua = helpers.exec_lua local eval = helpers.eval local sleep = helpers.sleep -local mousemodels = { "extend", "popup", "popup_setpos" } +local mousemodels = { 'extend', 'popup', 'popup_setpos' } for _, model in ipairs(mousemodels) do describe('statusline clicks with mousemodel=' .. model, function() @@ -22,8 +22,8 @@ for _, model in ipairs(mousemodels) do clear() screen = Screen.new(40, 8) screen:set_default_attr_ids({ - [0] = {bold = true, foreground = Screen.colors.Blue}; -- NonText - [1] = {bold = true, reverse = true}; -- StatusLine + [0] = { bold = true, foreground = Screen.colors.Blue }, -- NonText + [1] = { bold = true, reverse = true }, -- StatusLine }) screen:attach() command('set laststatus=2 mousemodel=' .. model) @@ -39,76 +39,84 @@ for _, model in ipairs(mousemodels) do end) it('works', function() - meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) + meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) meths.input_mouse('left', 'press', '', 0, 6, 16) - eq('', eval("g:testvar")) + eq('', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 29) - eq('', eval("g:testvar")) + eq('', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 17) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 17) - eq('0 2 l', eval("g:testvar")) + eq('0 2 l', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 17) - eq('0 3 l', eval("g:testvar")) + eq('0 3 l', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 17) - eq('0 4 l', eval("g:testvar")) + eq('0 4 l', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 28) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 28) - eq('0 2 r', eval("g:testvar")) + eq('0 2 r', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 28) - eq('0 3 r', eval("g:testvar")) + eq('0 3 r', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 28) - eq('0 4 r', eval("g:testvar")) + eq('0 4 r', eval('g:testvar')) end) it('works with control characters and highlight', function() - meths.set_option_value('statusline', '\t%#NonText#\1%0@MyClickFunc@\t\1%T\t%##\1', {}) - screen:expect{grid=[[ + meths.set_option_value('statusline', '\t%#NonText#\1%0@MyClickFunc@\t\1%T\t%##\1', {}) + screen:expect { + grid = [[ ^ | {0:~ }|*5 {1:^I}{0:^A^I^A^I}{1:^A }| | - ]]} + ]], + } meths.input_mouse('right', 'press', '', 0, 6, 3) - eq('', eval("g:testvar")) + eq('', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 8) - eq('', eval("g:testvar")) + eq('', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 4) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 7) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) end) it('works for winbar', function() - meths.set_option_value('winbar', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) + meths.set_option_value('winbar', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) meths.input_mouse('left', 'press', '', 0, 0, 17) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 0, 17) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) end) it('works for winbar in floating window', function() - meths.open_win(0, true, { width=30, height=4, relative='editor', row=1, col=5, - border = "single" }) - meths.set_option_value('winbar', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', - { scope = 'local' }) + meths.open_win( + 0, + true, + { width = 30, height = 4, relative = 'editor', row = 1, col = 5, border = 'single' } + ) + meths.set_option_value( + 'winbar', + 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', + { scope = 'local' } + ) meths.input_mouse('left', 'press', '', 0, 2, 23) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) end) it('works when there are multiple windows', function() command('split') - meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) - meths.set_option_value('winbar', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) + meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) + meths.set_option_value('winbar', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) meths.input_mouse('left', 'press', '', 0, 0, 17) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 4, 17) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) meths.input_mouse('middle', 'press', '', 0, 3, 17) - eq('0 1 m', eval("g:testvar")) + eq('0 1 m', eval('g:testvar')) meths.input_mouse('left', 'press', '', 0, 6, 17) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) end) it('works with Lua function', function() @@ -117,79 +125,89 @@ for _, model in ipairs(mousemodels) do vim.g.testvar = string.format("%d %d %s", minwid, clicks, button) end ]]) - meths.set_option_value('statusline', 'Not clicky stuff %0@v:lua.clicky_func@Clicky stuff%T', {}) + meths.set_option_value( + 'statusline', + 'Not clicky stuff %0@v:lua.clicky_func@Clicky stuff%T', + {} + ) meths.input_mouse('left', 'press', '', 0, 6, 17) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) end) it('ignores unsupported click items', function() command('tabnew | tabprevious') - meths.set_option_value('statusline', '%2TNot clicky stuff%T', {}) + meths.set_option_value('statusline', '%2TNot clicky stuff%T', {}) meths.input_mouse('left', 'press', '', 0, 6, 0) eq(1, meths.get_current_tabpage().id) - meths.set_option_value('statusline', '%2XNot clicky stuff%X', {}) + meths.set_option_value('statusline', '%2XNot clicky stuff%X', {}) meths.input_mouse('left', 'press', '', 0, 6, 0) eq(2, #meths.list_tabpages()) end) it("right click works when statusline isn't focused #18994", function() - meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) + meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) meths.input_mouse('right', 'press', '', 0, 6, 17) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 17) - eq('0 2 r', eval("g:testvar")) + eq('0 2 r', eval('g:testvar')) end) - it("works with modifiers #18994", function() - meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) + it('works with modifiers #18994', function() + meths.set_option_value('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T', {}) -- Note: alternate between left and right mouse buttons to avoid triggering multiclicks meths.input_mouse('left', 'press', 'S', 0, 6, 17) - eq('0 1 l(s )', eval("g:testvar")) + eq('0 1 l(s )', eval('g:testvar')) meths.input_mouse('right', 'press', 'S', 0, 6, 17) - eq('0 1 r(s )', eval("g:testvar")) + eq('0 1 r(s )', eval('g:testvar')) meths.input_mouse('left', 'press', 'A', 0, 6, 17) - eq('0 1 l( a )', eval("g:testvar")) + eq('0 1 l( a )', eval('g:testvar')) meths.input_mouse('right', 'press', 'A', 0, 6, 17) - eq('0 1 r( a )', eval("g:testvar")) + eq('0 1 r( a )', eval('g:testvar')) meths.input_mouse('left', 'press', 'AS', 0, 6, 17) - eq('0 1 l(s a )', eval("g:testvar")) + eq('0 1 l(s a )', eval('g:testvar')) meths.input_mouse('right', 'press', 'AS', 0, 6, 17) - eq('0 1 r(s a )', eval("g:testvar")) + eq('0 1 r(s a )', eval('g:testvar')) meths.input_mouse('left', 'press', 'T', 0, 6, 17) - eq('0 1 l( m)', eval("g:testvar")) + eq('0 1 l( m)', eval('g:testvar')) meths.input_mouse('right', 'press', 'T', 0, 6, 17) - eq('0 1 r( m)', eval("g:testvar")) + eq('0 1 r( m)', eval('g:testvar')) meths.input_mouse('left', 'press', 'TS', 0, 6, 17) - eq('0 1 l(s m)', eval("g:testvar")) + eq('0 1 l(s m)', eval('g:testvar')) meths.input_mouse('right', 'press', 'TS', 0, 6, 17) - eq('0 1 r(s m)', eval("g:testvar")) + eq('0 1 r(s m)', eval('g:testvar')) meths.input_mouse('left', 'press', 'C', 0, 6, 17) - eq('0 1 l( c )', eval("g:testvar")) + eq('0 1 l( c )', eval('g:testvar')) -- <C-RightMouse> is for tag jump end) - it("works for global statusline with vertical splits #19186", function() + it('works for global statusline with vertical splits #19186', function() command('set laststatus=3') - meths.set_option_value('statusline', '%0@MyClickFunc@Clicky stuff%T %= %0@MyClickFunc@Clicky stuff%T', {}) + meths.set_option_value( + 'statusline', + '%0@MyClickFunc@Clicky stuff%T %= %0@MyClickFunc@Clicky stuff%T', + {} + ) command('vsplit') - screen:expect{grid=[[ + screen:expect { + grid = [[ ^ │ | {0:~ }│{0:~ }|*5 {1:Clicky stuff Clicky stuff}| | - ]]} + ]], + } -- clickable area on the right meths.input_mouse('left', 'press', '', 0, 6, 35) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 35) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) -- clickable area on the left meths.input_mouse('left', 'press', '', 0, 6, 5) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 5) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) end) it('no memory leak with zero-width click labels', function() @@ -197,9 +215,9 @@ for _, model in ipairs(mousemodels) do let &stl = '%@Test@%T%@MyClickFunc@%=%T%@Test@' ]]) meths.input_mouse('left', 'press', '', 0, 6, 0) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) meths.input_mouse('right', 'press', '', 0, 6, 39) - eq('0 1 r', eval("g:testvar")) + eq('0 1 r', eval('g:testvar')) end) it('no memory leak with truncated click labels', function() @@ -207,7 +225,7 @@ for _, model in ipairs(mousemodels) do let &stl = '%@MyClickFunc@foo%X' .. repeat('a', 40) .. '%<t%@Test@bar%X%@Test@baz' ]]) meths.input_mouse('left', 'press', '', 0, 6, 2) - eq('0 1 l', eval("g:testvar")) + eq('0 1 l', eval('g:testvar')) end) end) end @@ -220,11 +238,11 @@ describe('global statusline', function() screen = Screen.new(60, 16) screen:attach() screen:set_default_attr_ids({ - [1] = {bold = true, foreground = Screen.colors.Blue}; - [2] = {bold = true, reverse = true}; - [3] = {bold = true}; - [4] = {reverse = true}; - [5] = {bold = true, foreground = Screen.colors.Fuchsia}; + [1] = { bold = true, foreground = Screen.colors.Blue }, + [2] = { bold = true, reverse = true }, + [3] = { bold = true }, + [4] = { reverse = true }, + [5] = { bold = true, foreground = Screen.colors.Fuchsia }, }) command('set laststatus=3') command('set ruler') @@ -470,8 +488,8 @@ it('statusline is redrawn with :resize from <Cmd> mapping #19629', function() clear() local screen = Screen.new(40, 8) screen:set_default_attr_ids({ - [0] = {bold = true, foreground = Screen.colors.Blue}, -- NonText - [1] = {bold = true, reverse = true}, -- StatusLine + [0] = { bold = true, foreground = Screen.colors.Blue }, -- NonText + [1] = { bold = true, reverse = true }, -- StatusLine }) screen:attach() exec([[ @@ -499,9 +517,9 @@ it('showcmdloc=statusline does not show if statusline is too narrow', function() clear() local screen = Screen.new(40, 8) screen:set_default_attr_ids({ - [0] = {bold = true, foreground = Screen.colors.Blue}, -- NonText - [1] = {bold = true, reverse = true}, -- StatusLine - [2] = {reverse = true}, -- StatusLineNC + [0] = { bold = true, foreground = Screen.colors.Blue }, -- NonText + [1] = { bold = true, reverse = true }, -- StatusLine + [2] = { reverse = true }, -- StatusLineNC }) screen:attach() command('set showcmd') @@ -630,13 +648,13 @@ it('ruler is redrawn in cmdline with redrawstatus #22804', function() ]]) end) -it("shows correct ruler in cmdline with no statusline", function() +it('shows correct ruler in cmdline with no statusline', function() clear() local screen = Screen.new(30, 8) screen:set_default_attr_ids { - [1] = {bold = true, foreground = Screen.colors.Blue}, -- NonText - [2] = {bold = true, reverse = true}, -- StatusLine - [3] = {reverse = true}, -- StatusLineNC + [1] = { bold = true, foreground = Screen.colors.Blue }, -- NonText + [2] = { bold = true, reverse = true }, -- StatusLine + [3] = { reverse = true }, -- StatusLineNC } screen:attach() -- Use long ruler to check 'ruler' with 'rulerformat' set has correct width. @@ -688,15 +706,17 @@ it('uses "stl" and "stlnc" fillchars even if they are the same #19803', function local screen = Screen.new(53, 4) screen:attach() screen:set_default_attr_ids({ - [1] = {bold = true, foreground = Screen.colors.Blue}, -- NonText + [1] = { bold = true, foreground = Screen.colors.Blue }, -- NonText }) command('hi clear StatusLine') command('hi clear StatusLineNC') command('vsplit') - screen:expect{grid=[[ + screen:expect { + grid = [[ ^ │ | {1:~ }│{1:~ }| [No Name] [No Name] | | - ]]} + ]], + } end) |