aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/map_functions_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-09-24 21:07:18 +0800
committerGitHub <noreply@github.com>2022-09-24 21:07:18 +0800
commit291a6496327e90056ea68085ad52ab74ca1df752 (patch)
treecfa99d8e02bec8155f1acea266788a0d656761ad /test/functional/vimscript/map_functions_spec.lua
parentdb056de29ad2d57ee8e1ba841d969560f9bc6714 (diff)
downloadrneovim-291a6496327e90056ea68085ad52ab74ca1df752.tar.gz
rneovim-291a6496327e90056ea68085ad52ab74ca1df752.tar.bz2
rneovim-291a6496327e90056ea68085ad52ab74ca1df752.zip
fix(mapset): remove existing abbreviation of same lhs (#20320)
Diffstat (limited to 'test/functional/vimscript/map_functions_spec.lua')
-rw-r--r--test/functional/vimscript/map_functions_spec.lua22
1 files changed, 20 insertions, 2 deletions
diff --git a/test/functional/vimscript/map_functions_spec.lua b/test/functional/vimscript/map_functions_spec.lua
index 96b86d053e..ed1863754a 100644
--- a/test/functional/vimscript/map_functions_spec.lua
+++ b/test/functional/vimscript/map_functions_spec.lua
@@ -12,6 +12,7 @@ local meths = helpers.meths
local nvim = helpers.nvim
local source = helpers.source
local command = helpers.command
+local exec_capture = helpers.exec_capture
local pcall_err = helpers.pcall_err
describe('maparg()', function()
@@ -178,8 +179,9 @@ describe('mapset()', function()
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"))
+ meths.set_keymap('n', 'lhs', 'rhs', {desc = 'MAP DESCRIPTION'})
+ eq('\nn lhs rhs\n MAP DESCRIPTION',
+ helpers.exec_capture("nmap lhs"))
funcs.mapset('n', false, mapargs)
eq('\nn lhs rhs\n map description',
helpers.exec_capture("nmap lhs"))
@@ -198,6 +200,22 @@ describe('mapset()', function()
expect('<<lt><')
end)
+ it('replaces an abbreviation of the same lhs #20320', function()
+ command('inoreabbr foo bar')
+ eq('\ni foo * bar', exec_capture('iabbr foo'))
+ feed('ifoo ')
+ expect('bar ')
+ local mapargs = funcs.maparg('foo', 'i', true, true)
+ command('inoreabbr foo BAR')
+ eq('\ni foo * BAR', exec_capture('iabbr foo'))
+ feed('foo ')
+ expect('bar BAR ')
+ funcs.mapset('i', true, mapargs)
+ eq('\ni foo * bar', exec_capture('iabbr foo'))
+ feed('foo<Esc>')
+ expect('bar BAR bar')
+ end)
+
it('can restore Lua callback from the dict returned by maparg()', function()
eq(0, exec_lua([[
GlobalCount = 0