aboutsummaryrefslogtreecommitdiff
path: root/test/functional/eval/map_functions_spec.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-07-15 18:56:45 +0300
committerZyX <kp-pav@yandex.ru>2017-07-15 18:56:45 +0300
commit69719e658c48bb5e95a7b57d5813ed4dc48e68e3 (patch)
treec4f8584a7437ea6127389b26ff6876404cb58ce7 /test/functional/eval/map_functions_spec.lua
parent7ab152aaa58f493e54d03a15960b8a288196e588 (diff)
parent8898793adeb3a82fe50da4258c30940e10ebcc9d (diff)
downloadrneovim-69719e658c48bb5e95a7b57d5813ed4dc48e68e3.tar.gz
rneovim-69719e658c48bb5e95a7b57d5813ed4dc48e68e3.tar.bz2
rneovim-69719e658c48bb5e95a7b57d5813ed4dc48e68e3.zip
Merge branch 'master' into colored-cmdline
Diffstat (limited to 'test/functional/eval/map_functions_spec.lua')
-rw-r--r--test/functional/eval/map_functions_spec.lua41
1 files changed, 40 insertions, 1 deletions
diff --git a/test/functional/eval/map_functions_spec.lua b/test/functional/eval/map_functions_spec.lua
index a260522aa3..e914f674aa 100644
--- a/test/functional/eval/map_functions_spec.lua
+++ b/test/functional/eval/map_functions_spec.lua
@@ -1,11 +1,12 @@
-
local helpers = require('test.functional.helpers')(after_each)
+
local clear = helpers.clear
local eq = helpers.eq
local eval = helpers.eval
local funcs = helpers.funcs
local nvim = helpers.nvim
local source = helpers.source
+local command = helpers.command
describe('maparg()', function()
before_each(clear)
@@ -117,4 +118,42 @@ describe('maparg()', function()
eq(1, map_dict['expr'])
eq('i', map_dict['mode'])
end)
+
+ it('works with combining characters', function()
+ -- Using addacutes to make combining character better visible
+ local function ac(s)
+ local acute = '\204\129' -- U+0301 COMBINING ACUTE ACCENT
+ local ret = s:gsub('`', acute)
+ return ret
+ end
+ command(ac([[
+ nnoremap a b`
+ nnoremap c` d
+ nnoremap e` f`
+ ]]))
+ eq(ac('b`'), funcs.maparg(ac('a')))
+ eq(ac(''), funcs.maparg(ac('c')))
+ eq(ac('d'), funcs.maparg(ac('c`')))
+ eq(ac('f`'), funcs.maparg(ac('e`')))
+
+ local function acmap(lhs, rhs)
+ return {
+ lhs = ac(lhs),
+ rhs = ac(rhs),
+
+ buffer = 0,
+ expr = 0,
+ mode = 'n',
+ noremap = 1,
+ nowait = 0,
+ sid = 0,
+ silent = 0,
+ }
+ end
+
+ eq({}, funcs.maparg(ac('c'), 'n', 0, 1))
+ eq(acmap('a', 'b`'), funcs.maparg(ac('a'), 'n', 0, 1))
+ eq(acmap('c`', 'd'), funcs.maparg(ac('c`'), 'n', 0, 1))
+ eq(acmap('e`', 'f`'), funcs.maparg(ac('e`'), 'n', 0, 1))
+ end)
end)