From d27214331815324ea5762b5aa22996b9019085c6 Mon Sep 17 00:00:00 2001 From: Evgeni Chasnovski Date: Wed, 6 Sep 2023 20:54:18 +0300 Subject: fix(diagnostic): always return copies of diagnostic items (#25010) --- test/functional/lua/diagnostic_spec.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/functional/lua/diagnostic_spec.lua') diff --git a/test/functional/lua/diagnostic_spec.lua b/test/functional/lua/diagnostic_spec.lua index 27ba70f057..8deb2e0726 100644 --- a/test/functional/lua/diagnostic_spec.lua +++ b/test/functional/lua/diagnostic_spec.lua @@ -181,6 +181,18 @@ describe('vim.diagnostic', function() eq(0, #diagnostics) end) + it('always returns a copy of diagnostic tables', function() + local result = exec_lua [[ + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { + make_error('Diagnostic #1', 1, 1, 1, 1), + }) + local diag = vim.diagnostic.get() + diag[1].col = 10000 + return vim.diagnostic.get()[1].col == 10000 + ]] + eq(result, false) + end) + it('resolves buffer number 0 to the current buffer', function() eq(2, exec_lua [[ vim.api.nvim_set_current_buf(diagnostic_bufnr) -- cgit