fakevim: Improve Ex command handling

Multi-line commands (lines starting with backslash).

Subcommands separated by bar character (|).

Task-number: QTCREATORBUG-7376
Change-Id: I947b10ee5043824278c6ba71e8ebb19dc5787328
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Lukas Holecek
2012-09-29 19:09:08 +02:00
committed by hjk
parent da31e05af0
commit 6268f943d0
4 changed files with 98 additions and 28 deletions

View File

@@ -700,6 +700,24 @@ void FakeVimPlugin::test_vim_undo_redo()
KEYS("u", "abc" N " " X "def" N "ghi");
}
void FakeVimPlugin::test_advanced_commands()
{
// TODO: Fix undo/redo position for substitute command.
TestData data;
setup(&data);
// subcommands
data.setText("abc" N " xxx" N "def");
COMMAND("%s/xxx/ZZZ/g|%s/ZZZ/OOO/g", "abc" N " OOO" N "def");
// undo/redo all subcommands
COMMAND(":undo", "abc" N " xxx" N "def");
COMMAND(":redo", "abc" N " OOO" N "def");
// redundant characters
COMMAND("::: %s/\\S\\S\\S/ZZZ/g | :::: %s/ZZZ/XXX/g ", "XXX" N " XXX" N "XXX");
}
void FakeVimPlugin::test_map()
{
TestData data;