aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/map_functions_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-01 16:46:58 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-08-01 21:54:18 +0800
commitd954e8da62faccd468896baf2fe06107196cf952 (patch)
treebb4379bde6144ab7a0e2436149730a276c3089d0 /test/functional/vimscript/map_functions_spec.lua
parentcabb23ea4d7c55abd6d1b292f64061b50a6cec63 (diff)
downloadrneovim-d954e8da62faccd468896baf2fe06107196cf952.tar.gz
rneovim-d954e8da62faccd468896baf2fe06107196cf952.tar.bz2
rneovim-d954e8da62faccd468896baf2fe06107196cf952.zip
feat(mapset): support restoring "replace_keycodes" and "desc"
Diffstat (limited to 'test/functional/vimscript/map_functions_spec.lua')
-rw-r--r--test/functional/vimscript/map_functions_spec.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/functional/vimscript/map_functions_spec.lua b/test/functional/vimscript/map_functions_spec.lua
index 15d4d41ac1..aa64006de0 100644
--- a/test/functional/vimscript/map_functions_spec.lua
+++ b/test/functional/vimscript/map_functions_spec.lua
@@ -3,7 +3,10 @@ local helpers = require('test.functional.helpers')(after_each)
local clear = helpers.clear
local eq = helpers.eq
local eval = helpers.eval
+local expect = helpers.expect
+local feed = helpers.feed
local funcs = helpers.funcs
+local meths = helpers.meths
local nvim = helpers.nvim
local source = helpers.source
local command = helpers.command
@@ -163,3 +166,32 @@ describe('maparg()', function()
eq(acmap('e`', 'f`'), funcs.maparg(ac('e`'), 'n', 0, 1))
end)
end)
+
+describe('mapset()', function()
+ before_each(clear)
+
+ it('can restore mapping description from the dict returned by maparg()', function()
+ meths.set_keymap('n', 'lhs', 'rhs', {desc = 'map description'})
+ eq('\nn lhs rhs\n map description',
+ helpers.exec_capture("nmap lhs"))
+ local mapargs = funcs.maparg('lhs', 'n', false, true)
+ meths.del_keymap('n', 'lhs')
+ eq('\nNo mapping found', helpers.exec_capture("nmap lhs"))
+ funcs.mapset('n', false, mapargs)
+ eq('\nn lhs rhs\n map description',
+ helpers.exec_capture("nmap lhs"))
+ end)
+
+ it('can restore "replace_keycodes" from the dict returned by maparg()', function()
+ meths.set_keymap('i', 'foo', [['<l' .. 't>']], {expr = true, replace_keycodes = true})
+ feed('Afoo')
+ expect('<')
+ local mapargs = funcs.maparg('foo', 'i', false, true)
+ meths.set_keymap('i', 'foo', [['<l' .. 't>']], {expr = true})
+ feed('foo')
+ expect('<<lt>')
+ funcs.mapset('i', false, mapargs)
+ feed('foo')
+ expect('<<lt><')
+ end)
+end)