aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-09-25 07:01:27 -0700
committerGitHub <noreply@github.com>2024-09-25 07:01:27 -0700
commitf3b7444e6638095305d86fa96fe0b7407c9b1648 (patch)
tree04a34092d74f4eaf175867200b23afc152a237c8 /test/functional/lua/vim_spec.lua
parent069451bb214bd9d97273ac92b37a25054df0f1a8 (diff)
downloadrneovim-f3b7444e6638095305d86fa96fe0b7407c9b1648.tar.gz
rneovim-f3b7444e6638095305d86fa96fe0b7407c9b1648.tar.bz2
rneovim-f3b7444e6638095305d86fa96fe0b7407c9b1648.zip
refactor(lua): vim.keymap.set tests, docs #30511
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua41
1 files changed, 35 insertions, 6 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index 1e199818d3..3c65ec664e 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -4043,7 +4043,36 @@ end)
describe('vim.keymap', function()
before_each(clear)
- it('can make a mapping', function()
+ it('validates', function()
+ matches(
+ 'mode: expected string|table, got number',
+ pcall_err(exec_lua, [[vim.keymap.set(42, 'x', print)]])
+ )
+
+ matches(
+ 'rhs: expected string|function, got nil',
+ pcall_err(exec_lua, [[vim.keymap.set('n', 'x')]])
+ )
+
+ matches(
+ 'lhs: expected string, got table',
+ pcall_err(exec_lua, [[vim.keymap.set('n', {}, print)]])
+ )
+
+ matches(
+ 'opts: expected table, got function',
+ pcall_err(exec_lua, [[vim.keymap.set({}, 'x', 42, function() end)]])
+ )
+
+ matches(
+ 'rhs: expected string|function, got number',
+ pcall_err(exec_lua, [[vim.keymap.set('z', 'x', 42)]])
+ )
+
+ matches('Invalid mode shortname: "z"', pcall_err(exec_lua, [[vim.keymap.set('z', 'x', 'y')]]))
+ end)
+
+ it('mapping', function()
eq(
0,
exec_lua [[
@@ -4058,7 +4087,7 @@ describe('vim.keymap', function()
eq(1, exec_lua [[return GlobalCount]])
end)
- it('can make an expr mapping', function()
+ it('expr mapping', function()
exec_lua [[
vim.keymap.set('n', 'aa', function() return '<Insert>π<C-V><M-π>foo<lt><Esc>' end, {expr = true})
]]
@@ -4068,7 +4097,7 @@ describe('vim.keymap', function()
eq({ 'π<M-π>foo<' }, api.nvim_buf_get_lines(0, 0, -1, false))
end)
- it('can overwrite a mapping', function()
+ it('overwrite a mapping', function()
eq(
0,
exec_lua [[
@@ -4091,7 +4120,7 @@ describe('vim.keymap', function()
eq(0, exec_lua [[return GlobalCount]])
end)
- it('can unmap a mapping', function()
+ it('unmap', function()
eq(
0,
exec_lua [[
@@ -4115,7 +4144,7 @@ describe('vim.keymap', function()
eq('\nNo mapping found', n.exec_capture('nmap asdf'))
end)
- it('works with buffer-local mappings', function()
+ it('buffer-local mappings', function()
eq(
0,
exec_lua [[
@@ -4157,7 +4186,7 @@ describe('vim.keymap', function()
)
end)
- it('can do <Plug> mappings', function()
+ it('<Plug> mappings', function()
eq(
0,
exec_lua [[