aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/statusline_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-01-03 02:09:18 +0100
committerJustin M. Keyes <justinkz@gmail.com>2024-01-03 02:09:29 +0100
commit04f2f864e270e772c6326cefdf24947f0130e492 (patch)
tree46f83f909b888a66c741032ab955afc6eab84292 /test/functional/ui/statusline_spec.lua
parent59d117ec99b6037cb9fad5bbfb6d0b18f5012927 (diff)
downloadrneovim-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.lua186
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)