neovim/test/functional/legacy/mapping_spec.lua
Marco Hinz 990c0350ab vim-patch:7.4.773 #3066
Problem:  'langmap' is used in command-line mode when checking for mappings.
Solution: Do not use 'langmap' in command-line mode. (Larry Velazquez)

Original patch:
  https://code.google.com/p/vim/source/detail?r=5b1eefbf9a532f32a66fa13abbd671488aaafd5c
2015-08-09 21:12:11 -04:00

50 lines
1.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Test for mappings and abbreviations
local helpers = require('test.functional.helpers')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, expect = helpers.execute, helpers.expect
describe('mapping', function()
setup(clear)
it('is working', function()
insert([[
test starts here:
]])
execute('set encoding=utf-8')
-- Abbreviations with р (0x80) should work.
execute('inoreab чкпр vim')
feed('GAчкпр <esc>')
-- langmap should not get remapped in insert mode.
execute('inoremap { FAIL_ilangmap')
execute('set langmap=+{ langnoremap')
feed('o+<esc>')
-- Insert mode expr mapping with langmap.
execute('inoremap <expr> { "FAIL_iexplangmap"')
feed('o+<esc>')
-- langmap should not get remapped in cmdline mode.
execute('cnoremap { FAIL_clangmap')
feed('o+<esc>')
execute('cunmap {')
-- cmdline mode expr mapping with langmap.
execute('cnoremap <expr> { "FAIL_cexplangmap"')
feed('o+<esc>')
execute('cunmap {')
-- Assert buffer contents.
expect([[
test starts here:
vim
+
+
+
+]])
end)
end)