From b1a714ed44501dd972b7f16e9a0321694832514a Mon Sep 17 00:00:00 2001 From: hluk Date: Sun, 1 Dec 2013 15:09:04 +0100 Subject: FakeVim: Fix infinite loop when replacing empty text Change-Id: Ie4ba6420889b0a6a5712b43a11f8366aa9a30edc Reviewed-by: Eike Ziller Reviewed-by: hjk --- src/plugins/fakevim/fakevim_test.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/plugins/fakevim/fakevim_test.cpp') diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 6b9144da5d..c87685e1ea 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -2206,6 +2206,17 @@ void FakeVimPlugin::test_vim_substitute() COMMAND("'<,'>s/^/*", "abc" N "**def" N X "**ghi" N "jkl"); KEYS("u", "abc" N X "*def" N "*ghi" N "jkl"); KEYS("gv:s/^/+", "abc" N "+*def" N X "+*ghi" N "jkl"); + + // replace empty string + data.setText("abc"); + COMMAND("s//--/g", "--a--b--c"); + + // remove characters + data.setText("abc def"); + COMMAND("s/[abde]//g", "c f"); + COMMAND("undo | s/[bcef]//g", "a d"); + COMMAND("undo | s/\\w//g", " "); + COMMAND("undo | s/f\\|$/-/g", "abc de-"); } void FakeVimPlugin::test_vim_ex_yank() -- cgit v1.2.1