mirror of
https://github.com/neovim/neovim.git
synced 2025-11-26 12:10:40 +00:00
Merge pull request #15516 from bfredl/keyset
refactor(api): Represent option dicts as a structs in C and reduce conversion overhead from lua
This commit is contained in:
@@ -19,5 +19,6 @@ if module.test_luajit_prg == '' then
|
||||
end
|
||||
end
|
||||
table.insert(module.include_paths, "${CMAKE_BINARY_DIR}/include")
|
||||
table.insert(module.include_paths, "${CMAKE_BINARY_DIR}/src/nvim/auto")
|
||||
|
||||
return module
|
||||
|
||||
@@ -21,7 +21,7 @@ describe('nvim_get_commands', function()
|
||||
it('validates input', function()
|
||||
eq('builtin=true not implemented', pcall_err(meths.get_commands,
|
||||
{builtin=true}))
|
||||
eq('unexpected key: foo', pcall_err(meths.get_commands,
|
||||
eq("Invalid key: 'foo'", pcall_err(meths.get_commands,
|
||||
{foo='blah'}))
|
||||
end)
|
||||
|
||||
|
||||
@@ -436,16 +436,16 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
end)
|
||||
|
||||
it('error on invalid optnames', function()
|
||||
eq('Invalid key: silentt',
|
||||
eq("Invalid key: 'silentt'",
|
||||
pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', {silentt = true}))
|
||||
eq('Invalid key: sidd',
|
||||
eq("Invalid key: 'sidd'",
|
||||
pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', {sidd = false}))
|
||||
eq('Invalid key: nowaiT',
|
||||
eq("Invalid key: 'nowaiT'",
|
||||
pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', {nowaiT = false}))
|
||||
end)
|
||||
|
||||
it('error on <buffer> option key', function()
|
||||
eq('Invalid key: buffer',
|
||||
eq("Invalid key: 'buffer'",
|
||||
pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', {buffer = true}))
|
||||
end)
|
||||
|
||||
@@ -454,8 +454,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
-- note: need '%' to escape hyphens, which have special meaning in lua
|
||||
it('throws an error when given non-boolean value for '..opt, function()
|
||||
local opts = {}
|
||||
opts[opt] = 2
|
||||
eq('Gave non-boolean value for an opt: '..opt,
|
||||
opts[opt] = 'fooo'
|
||||
eq(opt..' is not a boolean',
|
||||
pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', opts))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -1119,7 +1119,7 @@ describe('API', function()
|
||||
|
||||
describe('nvim_get_context', function()
|
||||
it('validates args', function()
|
||||
eq('unexpected key: blah',
|
||||
eq("Invalid key: 'blah'",
|
||||
pcall_err(nvim, 'get_context', {blah={}}))
|
||||
eq('invalid value for key: types',
|
||||
pcall_err(nvim, 'get_context', {types=42}))
|
||||
|
||||
@@ -1529,7 +1529,7 @@ describe('float window', function()
|
||||
|
||||
it('API has proper error messages', function()
|
||||
local buf = meths.create_buf(false,false)
|
||||
eq("Invalid key 'bork'",
|
||||
eq("Invalid key: 'bork'",
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=2,bork=true}))
|
||||
eq("'win' key is only valid with relative='win'",
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=2,relative='editor',row=0,col=0,win=0}))
|
||||
@@ -1542,13 +1542,15 @@ describe('float window', function()
|
||||
eq("'relative' requires 'row'/'col' or 'bufpos'",
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=2,relative='editor'}))
|
||||
eq("'width' key must be a positive Integer",
|
||||
pcall_err(meths.open_win,buf, false, {width=-1,height=2,relative='editor'}))
|
||||
pcall_err(meths.open_win,buf, false, {width=-1,height=2,relative='editor', row=0, col=0}))
|
||||
eq("'height' key must be a positive Integer",
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=-1,relative='editor'}))
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=-1,relative='editor', row=0, col=0}))
|
||||
eq("'height' key must be a positive Integer",
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=0,relative='editor'}))
|
||||
eq("Must specify 'width' and 'height'",
|
||||
pcall_err(meths.open_win,buf, false, {relative='editor'}))
|
||||
pcall_err(meths.open_win,buf, false, {width=20,height=0,relative='editor', row=0, col=0}))
|
||||
eq("Must specify 'width'",
|
||||
pcall_err(meths.open_win,buf, false, {relative='editor', row=0, col=0}))
|
||||
eq("Must specify 'height'",
|
||||
pcall_err(meths.open_win,buf, false, {relative='editor', row=0, col=0, width=2}))
|
||||
end)
|
||||
|
||||
it('can be placed relative window or cursor', function()
|
||||
|
||||
Reference in New Issue
Block a user