From cabb23ea4d7c55abd6d1b292f64061b50a6cec63 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 1 Aug 2022 16:43:18 +0800 Subject: test: fix api/keymap_spec.lua tests --- test/functional/api/keymap_spec.lua | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'test') diff --git a/test/functional/api/keymap_spec.lua b/test/functional/api/keymap_spec.lua index 23c0a14d39..712889828e 100644 --- a/test/functional/api/keymap_spec.lua +++ b/test/functional/api/keymap_spec.lua @@ -25,6 +25,7 @@ describe('nvim_get_keymap', function() local foo_bar_string = 'nnoremap foo bar' local foo_bar_map_table = { lhs='foo', + lhsraw='foo', script=0, silent=0, rhs='bar', @@ -56,6 +57,7 @@ describe('nvim_get_keymap', function() command('nnoremap foo_longer bar_longer') local foolong_bar_map_table = shallowcopy(foo_bar_map_table) foolong_bar_map_table['lhs'] = 'foo_longer' + foolong_bar_map_table['lhsraw'] = 'foo_longer' foolong_bar_map_table['rhs'] = 'bar_longer' eq({foolong_bar_map_table, foo_bar_map_table}, @@ -87,6 +89,7 @@ describe('nvim_get_keymap', function() command('nnoremap foo_longer bar_longer') local foolong_bar_map_table = shallowcopy(foo_bar_map_table) foolong_bar_map_table['lhs'] = 'foo_longer' + foolong_bar_map_table['lhsraw'] = 'foo_longer' foolong_bar_map_table['rhs'] = 'bar_longer' local buffer_table = shallowcopy(foo_bar_map_table) @@ -283,6 +286,16 @@ describe('nvim_get_keymap', function() command('onoremap \\C-a>\\ \\C-b>\\') command('onoremap \\C-c>\\ \\C-d>\\') + -- wrapper around get_keymap() that drops "lhsraw" and "lhsrawalt" which are hard to check + local function get_keymap_noraw(...) + local ret = meths.get_keymap(...) + for _, item in ipairs(ret) do + item.lhsraw = nil + item.lhsrawalt = nil + end + return ret + end + for _, cmd in ipairs({ 'set cpo-=B', 'set cpo+=B', @@ -290,22 +303,23 @@ describe('nvim_get_keymap', function() command(cmd) eq({cpomap('\\C-c>\\', '\\C-d>\\', 'n'), cpomap('\\C-a>\\', '\\C-b>\\', 'n')}, - meths.get_keymap('n')) + get_keymap_noraw('n')) eq({cpomap('\\C-c>\\', '\\C-d>\\', 'x'), cpomap('\\C-a>\\', '\\C-b>\\', 'x')}, - meths.get_keymap('x')) + get_keymap_noraw('x')) eq({cpomap('C-c>C-c> ', 'C-d>C-d>', 's'), cpomap('C-a>C-a> ', 'C-b>C-b>', 's')}, - meths.get_keymap('s')) + get_keymap_noraw('s')) eq({cpomap('C-c>C-c> ', 'C-d>C-d>', 'o'), cpomap('C-a>C-a> ', 'C-b>C-b>', 'o')}, - meths.get_keymap('o')) + get_keymap_noraw('o')) end end) it('always uses space for space and bar for bar', function() local space_table = { lhs='| |', + lhsraw='| |', rhs='| |', mode='n', script=0, @@ -340,6 +354,7 @@ describe('nvim_get_keymap', function() mapargs[1].callback = nil eq({ lhs='asdf', + lhsraw='asdf', script=0, silent=0, expr=0, @@ -356,6 +371,7 @@ describe('nvim_get_keymap', function() meths.set_keymap('n', 'lhs', 'rhs', {desc="map description"}) eq({ lhs='lhs', + lhsraw='lhs', rhs='rhs', script=0, silent=0, @@ -413,7 +429,11 @@ describe('nvim_set_keymap, nvim_del_keymap', function() -- Gets a maparg() dict from Nvim, if one exists. local function get_mapargs(mode, lhs) - return funcs.maparg(lhs, normalize_mapmode(mode), false, true) + local mapargs = funcs.maparg(lhs, normalize_mapmode(mode), false, true) + -- drop "lhsraw" and "lhsrawalt" which are hard to check + mapargs.lhsraw = nil + mapargs.lhsrawalt = nil + return mapargs end it('error on empty LHS', function() @@ -817,6 +837,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function() local mapargs = funcs.maparg('asdf', 'n', false, true) assert(type(mapargs.callback) == 'number', 'callback is not luaref number') mapargs.callback = nil + mapargs.lhsraw = nil + mapargs.lhsrawalt = nil eq(generate_mapargs('n', 'asdf', nil, {sid=sid_lua}), mapargs) end) -- cgit