aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/diagnostic_spec.lua
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2023-12-13 09:26:39 -0600
committerGregory Anders <greg@gpanders.com>2023-12-13 09:30:13 -0600
commit29d5ff6ac4eade7996d14eec60a31ec6328a165d (patch)
tree64c5117b3b42b3400507e089fd68b45b1b7d3cc2 /test/functional/lua/diagnostic_spec.lua
parent8122470f8310ae34bcd5e436e8474f9255eb16f2 (diff)
downloadrneovim-29d5ff6ac4eade7996d14eec60a31ec6328a165d.tar.gz
rneovim-29d5ff6ac4eade7996d14eec60a31ec6328a165d.tar.bz2
rneovim-29d5ff6ac4eade7996d14eec60a31ec6328a165d.zip
fix(diagnostic): check for sign namespace instead of sign group
Diffstat (limited to 'test/functional/lua/diagnostic_spec.lua')
-rw-r--r--test/functional/lua/diagnostic_spec.lua57
1 files changed, 36 insertions, 21 deletions
diff --git a/test/functional/lua/diagnostic_spec.lua b/test/functional/lua/diagnostic_spec.lua
index e867ed32b0..76963cc69e 100644
--- a/test/functional/lua/diagnostic_spec.lua
+++ b/test/functional/lua/diagnostic_spec.lua
@@ -1495,32 +1495,47 @@ end)
]])
end)
- it('sets signs', function()
- local result = exec_lua [[
- vim.diagnostic.config({
- signs = true,
- })
+ it('sets and clears signs #26193 #26555', function()
+ do
+ local result = exec_lua [[
+ vim.diagnostic.config({
+ signs = true,
+ })
- local diagnostics = {
- make_error('Error', 1, 1, 1, 2),
- make_warning('Warning', 3, 3, 3, 3),
- }
+ local diagnostics = {
+ make_error('Error', 1, 1, 1, 2),
+ make_warning('Warning', 3, 3, 3, 3),
+ }
- vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, diagnostics)
+ vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, diagnostics)
- local ns = vim.diagnostic.get_namespace(diagnostic_ns)
- local sign_ns = ns.user_data.sign_ns
+ local ns = vim.diagnostic.get_namespace(diagnostic_ns)
+ local sign_ns = ns.user_data.sign_ns
- local signs = vim.api.nvim_buf_get_extmarks(diagnostic_bufnr, sign_ns, 0, -1, {type ='sign', details = true})
- local result = {}
- for _, s in ipairs(signs) do
- result[#result + 1] = { lnum = s[2] + 1, name = s[4].sign_hl_group }
- end
- return result
- ]]
+ local signs = vim.api.nvim_buf_get_extmarks(diagnostic_bufnr, sign_ns, 0, -1, {type ='sign', details = true})
+ local result = {}
+ for _, s in ipairs(signs) do
+ result[#result + 1] = { lnum = s[2] + 1, name = s[4].sign_hl_group }
+ end
+ return result
+ ]]
+
+ eq({2, 'DiagnosticSignError'}, {result[1].lnum, result[1].name})
+ eq({4, 'DiagnosticSignWarn'}, {result[2].lnum, result[2].name})
+ end
- eq({2, 'DiagnosticSignError'}, {result[1].lnum, result[1].name})
- eq({4, 'DiagnosticSignWarn'}, {result[2].lnum, result[2].name})
+ do
+ local result = exec_lua [[
+ vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, {})
+
+ local ns = vim.diagnostic.get_namespace(diagnostic_ns)
+ local sign_ns = ns.user_data.sign_ns
+
+ return vim.api.nvim_buf_get_extmarks(diagnostic_bufnr, sign_ns, 0, -1, {type ='sign', details = true})
+ ]]
+
+ eq({}, result)
+ end
end)
end)