diff options
author | hluk <hluk@email.cz> | 2013-12-29 09:26:15 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-12-30 16:59:54 +0100 |
commit | 2976345ff57f110ab40b5a4a99f5c8bf4d59e399 (patch) | |
tree | 9f146dbf109194da445cca533b05ca61c3466771 /src/plugins/fakevim/fakevim_test.cpp | |
parent | 99d85671037fdf155cecbe54a82ee6266834780a (diff) |
FakeVim: Fix mappings in insert mode
Mapped user input shouldn't break edit block in insert mode.
Change-Id: I47ad449d9f0a2623cfcbdfa6c66626aa876ed76b
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index fc419a8e38..997a684c90 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -2603,6 +2603,7 @@ void FakeVimPlugin::test_map() data.setText("abc" N "def"); data.doCommand(QString::fromUtf8("no \xc3\xb8 l|no l k|no k j|no j h")); KEYS(QString::fromUtf8("\xc3\xb8"), "a" X "bc" N "def"); + data.doCommand(QString::fromUtf8("unmap \xc3\xb8|unmap l|unmap k|unmap j")); // Don't handle mapping in sub-modes that are not followed by movement command. data.setText("abc" N "def"); @@ -2627,6 +2628,16 @@ void FakeVimPlugin::test_map() data.doCommand("onoremap iwwX 3iwX Y"); KEYS("ciwwX Z<esc>", "X Y " X "Z" N "ghi jkl"); data.doCommand("unmap <SPACE>X"); + + // use mapping for <ESC> in insert + data.setText("ab" X "c def" N "ghi jkl"); + data.doCommand("inoremap jk <ESC>"); + KEYS("<C-V>jll" "I__jk", "ab" X "__c def" N "gh__i jkl"); + INTEGRITY(false); + data.doCommand("unmap jk"); // shouldn't unmap for insert mode + KEYS("ijk", "a" X "b__c def" N "gh__i jkl"); + data.doCommand("iunmap jk"); + KEYS("ijk<ESC>", "aj" X "kb__c def" N "gh__i jkl"); } void FakeVimPlugin::test_vim_command_cc() |