From 2ba539f449a95f38463a61b189e203a5fe306fc0 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sat, 30 Apr 2022 13:11:35 +0800 Subject: fix(input): only disable mapped CTRL-C interrupts when getting input (#18310) --- test/functional/legacy/mapping_spec.lua | 57 ++++++++++++++++----------------- 1 file changed, 27 insertions(+), 30 deletions(-) (limited to 'test/functional/legacy/mapping_spec.lua') diff --git a/test/functional/legacy/mapping_spec.lua b/test/functional/legacy/mapping_spec.lua index 0f65d5eb65..552c26e7f2 100644 --- a/test/functional/legacy/mapping_spec.lua +++ b/test/functional/legacy/mapping_spec.lua @@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')(after_each) local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert -local feed_command, expect, poke_eventloop = helpers.feed_command, helpers.expect, helpers.poke_eventloop +local expect, poke_eventloop = helpers.expect, helpers.poke_eventloop local command, eq, eval, meths = helpers.command, helpers.eq, helpers.eval, helpers.meths local sleep = helpers.sleep @@ -15,7 +15,7 @@ describe('mapping', function() ]]) -- Abbreviations with р (0x80) should work. - feed_command('inoreab чкпр vim') + command('inoreab чкпр vim') feed('GAчкпр ') expect([[ @@ -25,17 +25,15 @@ describe('mapping', function() it('Ctrl-c works in Insert mode', function() -- Mapping of ctrl-c in insert mode - feed_command('set cpo-=< cpo-=k') - feed_command('inoremap ') - feed_command('cnoremap dummy') - feed_command('cunmap ') + command('set cpo-=< cpo-=k') + command('inoremap ') + command('cnoremap dummy') + command('cunmap ') feed('GA') - feed('TEST2: CTRL-C |') + -- XXX: editor must be in Insert mode before is put into input buffer poke_eventloop() - feed('A|') - poke_eventloop() - feed_command('unmap ') - feed_command('unmap! ') + feed('TEST2: CTRL-C |A|') + command('unmap! ') expect([[ @@ -44,13 +42,12 @@ describe('mapping', function() end) it('Ctrl-c works in Visual mode', function() - feed_command([[vnoremap :$put ='vmap works']]) + command([[vnoremap :$put ='vmap works']]) feed('GV') - -- XXX: For some reason the mapping is only triggered - -- when is in a separate feed command. + -- XXX: editor must be in Visual mode before is put into input buffer poke_eventloop() - feed('') - feed_command('vunmap ') + feed('vV') + command('vunmap ') expect([[ @@ -59,23 +56,23 @@ describe('mapping', function() it('langmap', function() -- langmap should not get remapped in insert mode. - feed_command('inoremap { FAIL_ilangmap') - feed_command('set langmap=+{ langnoremap') + command('inoremap { FAIL_ilangmap') + command('set langmap=+{ langnoremap') feed('o+') -- Insert mode expr mapping with langmap. - feed_command('inoremap { "FAIL_iexplangmap"') + command('inoremap { "FAIL_iexplangmap"') feed('o+') -- langmap should not get remapped in cmdline mode. - feed_command('cnoremap { FAIL_clangmap') + command('cnoremap { FAIL_clangmap') feed('o+') - feed_command('cunmap {') + command('cunmap {') -- cmdline mode expr mapping with langmap. - feed_command('cnoremap { "FAIL_cexplangmap"') + command('cnoremap { "FAIL_cexplangmap"') feed('o+') - feed_command('cunmap {') + command('cunmap {') -- Assert buffer contents. expect([[ @@ -93,10 +90,10 @@ describe('mapping', function() ]]) -- Vim's issue #212 (feedkeys insert mapping at current position) - feed_command('nnoremap . :call feedkeys(".", "in")') + command('nnoremap . :call feedkeys(".", "in")') feed('/^a b') feed('0qqdw.ifooqj0@q') - feed_command('unmap .') + command('unmap .') expect([[ fooc d fooc d @@ -105,15 +102,15 @@ describe('mapping', function() it('i_CTRL-G_U', function() -- U works only within a single line - feed_command('imapclear') - feed_command('imap ( ()U') + command('imapclear') + command('imap ( ()U') feed('G2okiTest1: text with a (here some more textk.') -- test undo feed('G2okiTest2: text wit a (here some more text [und undo]uk.u') - feed_command('imapclear') - feed_command('set whichwrap=<,>,[,]') + command('imapclear') + command('set whichwrap=<,>,[,]') feed('G3o2k') - feed_command([[:exe ":norm! iTest3: text with a (parenthesis here\U\new line here\\\."]]) + command([[:exe ":norm! iTest3: text with a (parenthesis here\U\new line here\\\."]]) expect([[ -- cgit