forked from qt-creator/qt-creator
fakevim: Correct Undo/Redo position for large editing operations
Change-Id: Ie5d354a0e7f59c61646d14da79bf7059821c12e5 Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -714,20 +714,19 @@ void FakeVimPlugin::test_vim_undo_redo()
|
||||
|
||||
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");
|
||||
data.setText("abc" N " xxx" N " xxx" N "def");
|
||||
COMMAND("%s/xxx/ZZZ/g|%s/ZZZ/OOO/g", "abc" N " OOO" N " " X "OOO" N "def");
|
||||
|
||||
// undo/redo all subcommands
|
||||
COMMAND(":undo", "abc" N " xxx" N "def");
|
||||
COMMAND(":redo", "abc" N " OOO" N "def");
|
||||
COMMAND(":undo", "abc" N X " xxx" N " xxx" N "def");
|
||||
COMMAND(":redo", "abc" N X " OOO" N " OOO" N "def");
|
||||
|
||||
// redundant characters
|
||||
COMMAND("::: %s/\\S\\S\\S/ZZZ/g | :::: %s/ZZZ/XXX/g ", "XXX" N " XXX" N "XXX");
|
||||
COMMAND("::: %s/\\S\\S\\S/ZZZ/g | :::: %s/ZZZ/XXX/g ", "XXX" N " XXX" N " XXX" N X "XXX");
|
||||
}
|
||||
|
||||
void FakeVimPlugin::test_map()
|
||||
@@ -840,6 +839,20 @@ void FakeVimPlugin::test_map()
|
||||
KEYS("<C-r>", X "def xyz ghi");
|
||||
data.doCommand("unmap X");
|
||||
|
||||
data.setText("abc" N " def" N " ghi");
|
||||
data.doCommand("map X jdd");
|
||||
KEYS("X", "abc" N " " X "ghi");
|
||||
KEYS("u", "abc" N X " def" N " ghi");
|
||||
KEYS("<c-r>", "abc" N X " ghi");
|
||||
data.doCommand("unmap X");
|
||||
|
||||
data.setText("abc" N "def" N "ghi");
|
||||
data.doCommand("map X jAxxx<cr>yyy<esc>");
|
||||
KEYS("X", "abc" N "defxxx" N "yy" X "y" N "ghi");
|
||||
KEYS("u", "abc" N "de" X "f" N "ghi");
|
||||
KEYS("<c-r>", "abc" N "def" X "xxx" N "yyy" N "ghi");
|
||||
data.doCommand("unmap X");
|
||||
|
||||
NOT_IMPLEMENTED
|
||||
// <C-o>
|
||||
data.setText("abc def");
|
||||
|
||||
Reference in New Issue
Block a user