test: add more tests for K_SPECIAL escaping in <Cmd> mapping

This commit is contained in:
zeertzjq 2022-05-03 06:44:14 +08:00
parent 27149e0071
commit 15602a7ce4

View File

@ -136,10 +136,17 @@ describe('mappings with <Cmd>', function()
]])
end)
it('handles character containing K_SPECIAL (0x80) byte correctly', function()
command([[noremap <F3> <Cmd>let g:str = ''<CR>]])
it('handles string containing K_SPECIAL (0x80) bytes correctly', function()
command([[noremap <F3> <Cmd>let g:str = 'foo…bar'<CR>]])
feed('<F3>')
eq('', eval('g:str'))
eq('foo…bar', eval('g:str'))
local str = eval([["foo\<D-…>bar"]])
command([[noremap <F3> <Cmd>let g:str = ']]..str..[['<CR>]])
feed('<F3>')
eq(str, eval('g:str'))
command([[noremap <F3> <Cmd>let g:str = 'foo<D-…>bar'<CR>]])
feed('<F3>')
eq(str, eval('g:str'))
end)
it('works in various modes and sees correct `mode()` value', function()