aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/ui/statuscolumn_spec.lua36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua
index d9385ef221..0a253455ad 100644
--- a/test/functional/ui/statuscolumn_spec.lua
+++ b/test/functional/ui/statuscolumn_spec.lua
@@ -557,4 +557,40 @@ describe('statuscolumn', function()
|
]])
end)
+
+ it("has correct width with custom sign column when (un)placing signs", function()
+ screen:try_resize(screen._width, 6)
+ exec_lua([[
+ vim.cmd.norm('gg')
+ vim.o.signcolumn = 'no'
+ vim.fn.sign_define('sign', { text = 'ss' })
+ _G.StatusCol = function()
+ local s = vim.fn.sign_getplaced(1)[1].signs
+ local sign = ''
+ if #s > 0 then
+ sign = vim.v.lnum == 5 and 'ss' or ' '
+ end
+ return vim.v.lnum .. '%=' .. sign
+ end
+ vim.o.statuscolumn = "%!v:lua.StatusCol()"
+ vim.fn.sign_place(0, '', 'sign', 1, { lnum = 5 })
+ ]])
+ screen:expect([[
+ 1 ^aaaaa |
+ 2 aaaaa |
+ 3 aaaaa |
+ 4 aaaaa |
+ 5 ssaaaaa |
+ |
+ ]])
+ command('sign unplace 1')
+ screen:expect([[
+ 1 ^aaaaa |
+ 2 aaaaa |
+ 3 aaaaa |
+ 4 aaaaa |
+ 5 aaaaa |
+ |
+ ]])
+ end)
end)