commit 5de2ae2bced9732904801b37eb46c4b8e6484b81
parent 2a3561819e0e80150986779cee87659b7c92d0c1
Author: Mathias Fussenegger <f.mathias@zignar.net>
Date: Fri, 2 Aug 2024 10:36:17 +0200
refactor(lsp): add test case for default diagnostic severity
See https://github.com/microsoft/language-server-protocol/pull/1978
If the severity is not specified by the server, error should be used.
This was already the case because it matches the vim.diagnostic default.
This only adds a test case for it.
Diffstat:
1 file changed, 28 insertions(+), 0 deletions(-)
diff --git a/test/functional/plugin/lsp/diagnostic_spec.lua b/test/functional/plugin/lsp/diagnostic_spec.lua
@@ -317,6 +317,34 @@ describe('vim.lsp.diagnostic', function()
eq('Pull Diagnostic', diags[1].message)
end)
+ it('severity defaults to error if missing', function()
+ ---@type vim.Diagnostic[]
+ local diagnostics = exec_lua([[
+ vim.lsp.diagnostic.on_diagnostic(nil,
+ {
+ kind = 'full',
+ items = {
+ {
+ range = make_range(4, 4, 4, 4),
+ message = "bad!",
+ }
+ }
+ },
+ {
+ params = {
+ textDocument = { uri = fake_uri },
+ },
+ uri = fake_uri,
+ client_id = client_id,
+ },
+ {}
+ )
+ return vim.diagnostic.get(diagnostic_bufnr)
+ ]])
+ eq(1, #diagnostics)
+ eq(1, diagnostics[1].severity)
+ end)
+
it('allows configuring the virtual text via vim.lsp.with', function()
local expected_spacing = 10
local extmarks = exec_lua(