diff options
author | Gregory Anders <greg@gpanders.com> | 2023-12-13 09:26:39 -0600 |
---|---|---|
committer | Gregory Anders <greg@gpanders.com> | 2023-12-13 09:30:13 -0600 |
commit | 29d5ff6ac4eade7996d14eec60a31ec6328a165d (patch) | |
tree | 64c5117b3b42b3400507e089fd68b45b1b7d3cc2 /test/functional/lua/diagnostic_spec.lua | |
parent | 8122470f8310ae34bcd5e436e8474f9255eb16f2 (diff) | |
download | rneovim-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.lua | 57 |
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) |