aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/statusline_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-01-18 15:12:45 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-01-19 10:36:29 +0800
commit295a264b65bd072bf858496e0e5de83d5b1f5ffa (patch)
treed302f3e4f3b8c5a5f152d98ccbeab1c7f4d7044f /test/functional/ui/statusline_spec.lua
parent45dc0f3454d826c42efdcd841953b5e7e613bc5e (diff)
downloadrneovim-295a264b65bd072bf858496e0e5de83d5b1f5ffa.tar.gz
rneovim-295a264b65bd072bf858496e0e5de83d5b1f5ffa.tar.bz2
rneovim-295a264b65bd072bf858496e0e5de83d5b1f5ffa.zip
fix(statusline): don't leak memory with zero-width click labels
A zero-width click label isn't assigned to any click definition, so its function name should be freed when filling click definitions.
Diffstat (limited to 'test/functional/ui/statusline_spec.lua')
-rw-r--r--test/functional/ui/statusline_spec.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/functional/ui/statusline_spec.lua b/test/functional/ui/statusline_spec.lua
index 549ebbde06..26a34f6d14 100644
--- a/test/functional/ui/statusline_spec.lua
+++ b/test/functional/ui/statusline_spec.lua
@@ -164,6 +164,16 @@ describe('statusline clicks', function()
meths.input_mouse('right', 'press', '', 0, 6, 5)
eq('0 1 r', eval("g:testvar"))
end)
+
+ it('no memory leak with zero-width click labels', function()
+ command([[
+ let &stl = '%@Test@%T%@MyClickFunc@%=%T%@Test@'
+ ]])
+ meths.input_mouse('left', 'press', '', 0, 6, 0)
+ eq('0 1 l', eval("g:testvar"))
+ meths.input_mouse('right', 'press', '', 0, 6, 39)
+ eq('0 1 r', eval("g:testvar"))
+ end)
end)
describe('global statusline', function()