aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2025-03-07 07:45:34 -0600
committerGitHub <noreply@github.com>2025-03-07 05:45:34 -0800
commitb31132f1c1fa47a9db368d5d28ee6dda8dc96ecc (patch)
tree31d7dfe2d1a2480efd9077764abaf8810a9b7387 /test
parentc8b64b7a43975d6f4efa30999c82ae8180f16a4b (diff)
downloadrneovim-b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc.tar.gz
rneovim-b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc.tar.bz2
rneovim-b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc.zip
feat(defaults): jump between :terminal shell prompts with ]]/[[ #32736
Diffstat (limited to 'test')
-rw-r--r--test/functional/api/extmark_spec.lua30
-rw-r--r--test/functional/api/vim_spec.lua25
-rw-r--r--test/functional/lua/inspector_spec.lua12
-rw-r--r--test/functional/lua/ui_event_spec.lua4
-rw-r--r--test/functional/ui/bufhl_spec.lua22
-rw-r--r--test/functional/ui/decorations_spec.lua26
6 files changed, 70 insertions, 49 deletions
diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua
index 6f53076f1f..31bb9841dc 100644
--- a/test/functional/api/extmark_spec.lua
+++ b/test/functional/api/extmark_spec.lua
@@ -83,7 +83,7 @@ end
describe('API/extmarks', function()
local screen
local marks, positions, init_text, row, col
- local ns, ns2
+ local ns, ns2 ---@type integer, integer
before_each(function()
-- Initialize some namespaces and insert 12345 into a buffer
@@ -1425,14 +1425,12 @@ describe('API/extmarks', function()
end)
it('throws consistent error codes', function()
- local ns_invalid = ns2 + 1
- eq(
- "Invalid 'ns_id': 3",
- pcall_err(set_extmark, ns_invalid, marks[1], positions[1][1], positions[1][2])
- )
- eq("Invalid 'ns_id': 3", pcall_err(api.nvim_buf_del_extmark, 0, ns_invalid, marks[1]))
- eq("Invalid 'ns_id': 3", pcall_err(get_extmarks, ns_invalid, positions[1], positions[2]))
- eq("Invalid 'ns_id': 3", pcall_err(get_extmark_by_id, ns_invalid, marks[1]))
+ local ns_invalid = ns2 + 1 ---@type integer
+ local err = string.format("Invalid 'ns_id': %d", ns_invalid)
+ eq(err, pcall_err(set_extmark, ns_invalid, marks[1], positions[1][1], positions[1][2]))
+ eq(err, pcall_err(api.nvim_buf_del_extmark, 0, ns_invalid, marks[1]))
+ eq(err, pcall_err(get_extmarks, ns_invalid, positions[1], positions[2]))
+ eq(err, pcall_err(get_extmark_by_id, ns_invalid, marks[1]))
end)
it('when col = line-length, set the mark on eol', function()
@@ -1535,7 +1533,7 @@ describe('API/extmarks', function()
0,
0,
{
- ns_id = 1,
+ ns_id = ns,
end_col = 0,
end_row = 1,
right_gravity = true,
@@ -1595,7 +1593,7 @@ describe('API/extmarks', function()
hl_group = 'String',
hl_mode = 'blend',
line_hl_group = 'Statement',
- ns_id = 1,
+ ns_id = ns,
number_hl_group = 'Statement',
priority = 0,
right_gravity = false,
@@ -1626,7 +1624,7 @@ describe('API/extmarks', function()
0,
0,
{
- ns_id = 1,
+ ns_id = ns,
right_gravity = true,
priority = 0,
virt_text = { { '', 'Macro' }, { '', { 'Type', 'Search' } }, { '' } },
@@ -1647,7 +1645,7 @@ describe('API/extmarks', function()
0,
0,
{
- ns_id = 1,
+ ns_id = ns,
right_gravity = true,
ui_watched = true,
priority = 0,
@@ -1663,7 +1661,7 @@ describe('API/extmarks', function()
0,
0,
{
- ns_id = 1,
+ ns_id = ns,
cursorline_hl_group = 'Statement',
priority = 4096,
right_gravity = true,
@@ -1683,7 +1681,7 @@ describe('API/extmarks', function()
end_col = 1,
end_right_gravity = false,
end_row = 0,
- ns_id = 1,
+ ns_id = ns,
right_gravity = true,
spell = true,
},
@@ -1700,7 +1698,7 @@ describe('API/extmarks', function()
end_col = 1,
end_right_gravity = false,
end_row = 0,
- ns_id = 1,
+ ns_id = ns,
right_gravity = true,
spell = false,
},
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index b5fcd88f71..18e6dbd9b6 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -3167,14 +3167,23 @@ describe('API', function()
describe('nvim_create_namespace', function()
it('works', function()
- eq({}, api.nvim_get_namespaces())
- eq(1, api.nvim_create_namespace('ns-1'))
- eq(2, api.nvim_create_namespace('ns-2'))
- eq(1, api.nvim_create_namespace('ns-1'))
- eq({ ['ns-1'] = 1, ['ns-2'] = 2 }, api.nvim_get_namespaces())
- eq(3, api.nvim_create_namespace(''))
- eq(4, api.nvim_create_namespace(''))
- eq({ ['ns-1'] = 1, ['ns-2'] = 2 }, api.nvim_get_namespaces())
+ local orig = api.nvim_get_namespaces()
+ local base = vim.iter(orig):fold(0, function(acc, _, v)
+ return math.max(acc, v)
+ end)
+ eq(base + 1, api.nvim_create_namespace('ns-1'))
+ eq(base + 2, api.nvim_create_namespace('ns-2'))
+ eq(base + 1, api.nvim_create_namespace('ns-1'))
+
+ local expected = vim.tbl_extend('error', orig, {
+ ['ns-1'] = base + 1,
+ ['ns-2'] = base + 2,
+ })
+
+ eq(expected, api.nvim_get_namespaces())
+ eq(base + 3, api.nvim_create_namespace(''))
+ eq(base + 4, api.nvim_create_namespace(''))
+ eq(expected, api.nvim_get_namespaces())
end)
end)
diff --git a/test/functional/lua/inspector_spec.lua b/test/functional/lua/inspector_spec.lua
index 3a1263f6a3..89a103f51f 100644
--- a/test/functional/lua/inspector_spec.lua
+++ b/test/functional/lua/inspector_spec.lua
@@ -12,7 +12,7 @@ describe('vim.inspect_pos', function()
end)
it('it returns items', function()
- local buf, items, other_buf_syntax = exec_lua(function()
+ local buf, ns1, ns2, items, other_buf_syntax = exec_lua(function()
local buf = vim.api.nvim_create_buf(true, false)
local buf1 = vim.api.nvim_create_buf(true, false)
local ns1 = vim.api.nvim_create_namespace('ns1')
@@ -25,7 +25,7 @@ describe('vim.inspect_pos', function()
vim.api.nvim_buf_set_extmark(buf, ns1, 0, 10, { hl_group = 'Normal' })
vim.api.nvim_buf_set_extmark(buf, ns2, 0, 10, { hl_group = 'Normal' })
vim.cmd('syntax on')
- return buf, vim.inspect_pos(0, 0, 10), vim.inspect_pos(buf1, 0, 10).syntax
+ return buf, ns1, ns2, vim.inspect_pos(0, 0, 10), vim.inspect_pos(buf1, 0, 10).syntax
end)
eq('', eval('v:errmsg'))
@@ -40,12 +40,12 @@ describe('vim.inspect_pos', function()
end_row = 0,
id = 1,
ns = 'ns1',
- ns_id = 1,
+ ns_id = ns1,
opts = {
hl_eol = false,
hl_group = 'Normal',
hl_group_link = 'Normal',
- ns_id = 1,
+ ns_id = ns1,
priority = 4096,
right_gravity = true,
},
@@ -57,12 +57,12 @@ describe('vim.inspect_pos', function()
end_row = 0,
id = 1,
ns = '',
- ns_id = 2,
+ ns_id = ns2,
opts = {
hl_eol = false,
hl_group = 'Normal',
hl_group_link = 'Normal',
- ns_id = 2,
+ ns_id = ns2,
priority = 4096,
right_gravity = true,
},
diff --git a/test/functional/lua/ui_event_spec.lua b/test/functional/lua/ui_event_spec.lua
index ddb10127e4..8159a4c91c 100644
--- a/test/functional/lua/ui_event_spec.lua
+++ b/test/functional/lua/ui_event_spec.lua
@@ -372,7 +372,7 @@ describe('vim.ui_attach', function()
|
{3: }|
{9:Excessive errors in vim.ui_attach() call}|
- {9:back from ns: 1.} |
+ {9:back from ns: 2.} |
{100:Press ENTER or type command to continue}^ |
]])
feed('<cr>')
@@ -419,7 +419,7 @@ describe('vim.ui_attach', function()
|
{3: }|
{9:Excessive errors in vim.ui_attach() call}|
- {9:back from ns: 2.} |
+ {9:back from ns: 3.} |
{100:Press ENTER or type command to continue}^ |
]])
end)
diff --git a/test/functional/ui/bufhl_spec.lua b/test/functional/ui/bufhl_spec.lua
index b7cf8504ff..58fd50e724 100644
--- a/test/functional/ui/bufhl_spec.lua
+++ b/test/functional/ui/bufhl_spec.lua
@@ -577,7 +577,7 @@ describe('Buffer highlighting', function()
end)
describe('virtual text decorations', function()
- local id1, id2
+ local id1, id2 ---@type integer, integer
before_each(function()
insert([[
1 + 2
@@ -709,7 +709,7 @@ describe('Buffer highlighting', function()
0,
0,
{
- ns_id = 1,
+ ns_id = id1,
priority = 0,
virt_text = s1,
-- other details
@@ -729,7 +729,7 @@ describe('Buffer highlighting', function()
lastline,
0,
{
- ns_id = 1,
+ ns_id = id1,
priority = 0,
virt_text = s2,
-- other details
@@ -898,11 +898,15 @@ describe('Buffer highlighting', function()
end)
it('and virtual text use the same namespace counter', function()
- eq(1, add_highlight(0, 0, 'String', 0, 0, -1))
- eq(2, set_virtual_text(0, 0, 0, { { '= text', 'Comment' } }, {}))
- eq(3, api.nvim_create_namespace('my-ns'))
- eq(4, add_highlight(0, 0, 'String', 0, 0, -1))
- eq(5, set_virtual_text(0, 0, 0, { { '= text', 'Comment' } }, {}))
- eq(6, api.nvim_create_namespace('other-ns'))
+ local base = vim.iter(api.nvim_get_namespaces()):fold(0, function(acc, _, v)
+ return math.max(acc, v)
+ end)
+
+ eq(base + 1, add_highlight(0, 0, 'String', 0, 0, -1))
+ eq(base + 2, set_virtual_text(0, 0, 0, { { '= text', 'Comment' } }, {}))
+ eq(base + 3, api.nvim_create_namespace('my-ns'))
+ eq(base + 4, add_highlight(0, 0, 'String', 0, 0, -1))
+ eq(base + 5, set_virtual_text(0, 0, 0, { { '= text', 'Comment' } }, {}))
+ eq(base + 6, api.nvim_create_namespace('other-ns'))
end)
end)
diff --git a/test/functional/ui/decorations_spec.lua b/test/functional/ui/decorations_spec.lua
index 872e8d1457..d680e8b96e 100644
--- a/test/functional/ui/decorations_spec.lua
+++ b/test/functional/ui/decorations_spec.lua
@@ -16,7 +16,7 @@ local assert_alive = n.assert_alive
local pcall_err = t.pcall_err
describe('decorations providers', function()
- local screen
+ local screen ---@type test.functional.ui.screen
before_each(function()
clear()
screen = Screen.new(40, 8)
@@ -52,6 +52,7 @@ describe('decorations providers', function()
posp = getmark(mark, false);
restore_buffer(&save_buf); ]]
+ --- @return integer
local function setup_provider(code)
return exec_lua ([[
local api = vim.api
@@ -848,7 +849,8 @@ for _,item in ipairs(items) do
end]]
describe('extmark decorations', function()
- local screen, ns
+ local screen ---@type test.functional.ui.screen
+ local ns ---@type integer
before_each( function()
clear()
screen = Screen.new(50, 15)
@@ -2232,7 +2234,7 @@ describe('extmark decorations', function()
eq({ { 1, 0, 8, { end_col = 13, end_right_gravity = false, end_row = 0,
hl_eol = false, hl_group = "NonText", undo_restore = false,
- ns_id = 1, priority = 4096, right_gravity = true } } },
+ ns_id = ns, priority = 4096, right_gravity = true } } },
api.nvim_buf_get_extmarks(0, ns, {0,0}, {0, -1}, {details=true}))
end)
@@ -2933,7 +2935,8 @@ describe('extmark decorations', function()
end)
describe('decorations: inline virtual text', function()
- local screen, ns
+ local screen ---@type test.functional.ui.screen
+ local ns ---@type integer
before_each( function()
clear()
screen = Screen.new(50, 3)
@@ -4675,7 +4678,9 @@ describe('decorations: inline virtual text', function()
end)
describe('decorations: virtual lines', function()
- local screen, ns
+ local screen ---@type test.functional.ui.screen
+ local ns ---@type integer
+
before_each(function()
clear()
screen = Screen.new(50, 12)
@@ -5732,7 +5737,9 @@ if (h->n_buckets < new_n_buckets) { // expand
end)
describe('decorations: signs', function()
- local screen, ns
+ local screen ---@type test.functional.ui.screen
+ local ns ---@type integer
+
before_each(function()
clear()
screen = Screen.new(50, 10)
@@ -6342,7 +6349,7 @@ l5
end)
describe('decorations: virt_text', function()
- local screen
+ local screen ---@type test.functional.ui.screen
before_each(function()
clear()
@@ -6416,7 +6423,10 @@ describe('decorations: virt_text', function()
end)
describe('decorations: window scoped', function()
- local screen, ns, win_other
+ local screen ---@type test.functional.ui.screen
+ local ns ---@type integer
+ local win_other ---@type integer
+
local url = 'https://example.com'
before_each(function()
clear()