diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-01-19 11:00:00 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-19 11:00:00 +0800 |
commit | 42e9a09a44f4203a96aabbbe2382ae9bb46096d4 (patch) | |
tree | 99f5a737c12c744d767703f49f0a20c2e5630def /test/functional | |
parent | 45dc0f3454d826c42efdcd841953b5e7e613bc5e (diff) | |
parent | 01ddc097474627f35cc34fb7015dd26505e2ddcc (diff) | |
download | rneovim-42e9a09a44f4203a96aabbbe2382ae9bb46096d4.tar.gz rneovim-42e9a09a44f4203a96aabbbe2382ae9bb46096d4.tar.bz2 rneovim-42e9a09a44f4203a96aabbbe2382ae9bb46096d4.zip |
Merge pull request #21879 from zeertzjq/stl-click-zero-len
Fix statusline memory leaks with click labels
Diffstat (limited to 'test/functional')
-rw-r--r-- | test/functional/ui/statusline_spec.lua | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/functional/ui/statusline_spec.lua b/test/functional/ui/statusline_spec.lua index 549ebbde06..1c184ff27d 100644 --- a/test/functional/ui/statusline_spec.lua +++ b/test/functional/ui/statusline_spec.lua @@ -164,6 +164,24 @@ 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) + + it('no memory leak with truncated click labels', function() + command([[ + 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")) + end) end) describe('global statusline', function() |