diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-08-01 22:19:30 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-01 22:19:30 +0800 |
commit | 8d1c55e4224fc990d18409905aeb51d54d9d78cb (patch) | |
tree | bb4379bde6144ab7a0e2436149730a276c3089d0 /test/functional/vimscript/map_functions_spec.lua | |
parent | db6e93c48df551e2906c9e0f4472f9e54cea3dd9 (diff) | |
parent | d954e8da62faccd468896baf2fe06107196cf952 (diff) | |
download | rneovim-8d1c55e4224fc990d18409905aeb51d54d9d78cb.tar.gz rneovim-8d1c55e4224fc990d18409905aeb51d54d9d78cb.tar.bz2 rneovim-8d1c55e4224fc990d18409905aeb51d54d9d78cb.zip |
Merge pull request #19602 from zeertzjq/vim-8.2.0807
vim-patch:8.2.{0807,0809,0812,0815,0832,1773,2804,4831,5106},9.0.0127: first part of mapset()
Diffstat (limited to 'test/functional/vimscript/map_functions_spec.lua')
-rw-r--r-- | test/functional/vimscript/map_functions_spec.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/functional/vimscript/map_functions_spec.lua b/test/functional/vimscript/map_functions_spec.lua index 275c72d212..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 @@ -13,6 +16,7 @@ describe('maparg()', function() local foo_bar_map_table = { lhs='foo', + lhsraw='foo', script=0, silent=0, rhs='bar', @@ -141,6 +145,7 @@ describe('maparg()', function() local function acmap(lhs, rhs) return { lhs = ac(lhs), + lhsraw = ac(lhs), rhs = ac(rhs), buffer = 0, @@ -161,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) |