aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-01-10 21:18:12 +0800
committerGitHub <noreply@github.com>2023-01-10 21:18:12 +0800
commit9b1112cf48238260b170b8763b18a02a58159c2a (patch)
treea4a1c50014b7e1f4d373aa5648054b4cfb879baa /test
parent870ca1de52b240926b88f01afa697cd9b119bdac (diff)
downloadrneovim-9b1112cf48238260b170b8763b18a02a58159c2a.tar.gz
rneovim-9b1112cf48238260b170b8763b18a02a58159c2a.tar.bz2
rneovim-9b1112cf48238260b170b8763b18a02a58159c2a.zip
fix(statuscolumn): fix crashes and clang/PVS warnings (#21725)
Diffstat (limited to 'test')
-rw-r--r--test/functional/api/vim_spec.lua7
-rw-r--r--test/functional/ui/statuscolumn_spec.lua25
2 files changed, 31 insertions, 1 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 98bfb83dbd..aa2f46bb59 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -3126,7 +3126,12 @@ describe('API', function()
eq('E539: Illegal character <}>',
pcall_err(meths.eval_statusline, '%{%}', {}))
end)
- it('supports %S item', function()
+ it('supports various items', function()
+ eq({ str = '0', width = 1 },
+ meths.eval_statusline('%l', { maxwidth = 5 }))
+ command('set readonly')
+ eq({ str = '[RO]', width = 4 },
+ meths.eval_statusline('%r', { maxwidth = 5 }))
local screen = Screen.new(80, 24)
screen:attach()
command('set showcmd')
diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua
index cdc2cb8746..912c139ae4 100644
--- a/test/functional/ui/statuscolumn_spec.lua
+++ b/test/functional/ui/statuscolumn_spec.lua
@@ -293,6 +293,31 @@ describe('statuscolumn', function()
{2: }{1: │ }aaaaaa |
|
]])
+ -- Up to 9 signs in a line
+ command('set signcolumn=auto:9 foldcolumn=auto')
+ command('sign place 5 line=6 name=piet1 buffer=1')
+ command('sign place 6 line=6 name=piet2 buffer=1')
+ command('sign place 7 line=6 name=piet1 buffer=1')
+ command('sign place 8 line=6 name=piet2 buffer=1')
+ command('sign place 9 line=6 name=piet1 buffer=1')
+ command('sign place 10 line=6 name=piet2 buffer=1')
+ command('sign place 11 line=6 name=piet1 buffer=1')
+ screen:expect([[
+ {2: }{1: 4│>> }aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ {2: }{1: │ }aaaaaaaaaaaaaaaaaaaa |
+ {2: }{1: 3│}{0:>!}{1: }aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ {2: }{1: │ }aaaaaaaaaaaaaaaaaaaa |
+ {2: }{1: 2│>>}{0:>!}{1:>>}{0:>!}{1:>>}{0:>!}{1:>>}{0:>!}{1:>> }aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ {2: }{1: │ }aaaaaaaaaaaaaaaaaaaa |
+ {2: }{1: 1│ }aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ {2: }{1: │ }aaaaaaaaaaaaaaaaaaaa |
+ {2:+}{1: 0│ }{3:^+-- 1 line: aaaaaaaaaaaaaaaaa}|
+ {2: }{1: 1│ }aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ {2: }{1: │ }aaaaaaaaaaaaaaaaaaaa |
+ {2: }{1: 2│ }aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ {2: }{1: │ }aaaaaaaaaaaaaaaaaaaa |
+ |
+ ]])
end)
it('works with \'statuscolumn\' clicks', function()