diff options
author | Gregory Anders <8965202+gpanders@users.noreply.github.com> | 2021-11-21 12:06:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-21 12:06:44 -0700 |
commit | d99d4af7b129032865cb5a4fd8e6999e73460fb0 (patch) | |
tree | 43a7fef23c0f5cbf0ea79a2a4b5853b1dc91f1fa /test/functional | |
parent | 85707a3395f6b69328d96b8441ae33945ff4d1f6 (diff) | |
parent | 5b0d8f85fdb705b07143fc4019189a9dcfe3c108 (diff) | |
download | rneovim-d99d4af7b129032865cb5a4fd8e6999e73460fb0.tar.gz rneovim-d99d4af7b129032865cb5a4fd8e6999e73460fb0.tar.bz2 rneovim-d99d4af7b129032865cb5a4fd8e6999e73460fb0.zip |
Merge pull request #16370 from gpanders/diagnostic-column-clamp
Diffstat (limited to 'test/functional')
-rw-r--r-- | test/functional/lua/diagnostic_spec.lua | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/test/functional/lua/diagnostic_spec.lua b/test/functional/lua/diagnostic_spec.lua index 6414483c0d..cdf9a8a834 100644 --- a/test/functional/lua/diagnostic_spec.lua +++ b/test/functional/lua/diagnostic_spec.lua @@ -110,17 +110,21 @@ describe('vim.diagnostic', function() it('retrieves diagnostics from all buffers and namespaces', function() local result = exec_lua [[ - vim.diagnostic.set(diagnostic_ns, 1, { + local other_bufnr = vim.api.nvim_create_buf(true, false) + local lines = {"1st line of text", "2nd line of text", "wow", "cool", "more", "lines"} + vim.api.nvim_buf_set_lines(other_bufnr, 0, 1, false, lines) + + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { make_error('Diagnostic #1', 1, 1, 1, 1), make_error('Diagnostic #2', 2, 1, 2, 1), }) - vim.diagnostic.set(other_ns, 2, { + vim.diagnostic.set(other_ns, other_bufnr, { make_error('Diagnostic #3', 3, 1, 3, 1), }) return vim.diagnostic.get() ]] eq(3, #result) - eq(2, exec_lua([[return #vim.tbl_filter(function(d) return d.bufnr == 1 end, ...)]], result)) + eq(2, exec_lua([[return #vim.tbl_filter(function(d) return d.bufnr == diagnostic_bufnr end, ...)]], result)) eq('Diagnostic #1', result[1].message) end) @@ -682,6 +686,19 @@ describe('vim.diagnostic', function() return vim.diagnostic.get_prev_pos { namespace = diagnostic_ns } ]]) end) + + it('works with diagnostics past the end of the line #16349', function() + eq({4, 0}, exec_lua [[ + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { + make_error('Diagnostic #1', 3, 9001, 3, 9001), + make_error('Diagnostic #2', 4, 0, 4, 0), + }) + vim.api.nvim_win_set_buf(0, diagnostic_bufnr) + vim.api.nvim_win_set_cursor(0, {1, 1}) + vim.diagnostic.goto_next { float = false } + return vim.diagnostic.get_next_pos { namespace = diagnostic_ns } + ]]) + end) end) describe('get_prev_pos()', function() |