From a636a933d0a1f4dfd5a021c94c057f14d3a6bbf8 Mon Sep 17 00:00:00 2001 From: hluk Date: Sun, 15 Sep 2013 16:19:05 +0200 Subject: FakeVim: Fix searching in visual mode and with commands Search in visual mode should select text up to matched position. Using commands should work with search movement; e.g. 'd2/needle'. Commands should be also properly canceled if search movement fails. Change-Id: Ic695dccaf3f36ccae2f2b1a93f888d5ba9805a78 Reviewed-by: hjk --- src/plugins/fakevim/fakevim_test.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 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 2e20323d98..6b9144da5d 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -1472,6 +1472,32 @@ void FakeVimPlugin::test_vim_search() KEYS("N", "abc" N X "def" N "ghi"); KEYS("N", X "abc" N "def" N "ghi"); KEYS("2n2N", X "abc" N "def" N "ghi"); + + // delete to match + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("2l" "d/ghi", "ab" X "ghi abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("l" "d2/abc", "a" X "abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("d/abc", X "abc" N "ghi abc jkl" N "xyz"); + KEYS(".", "abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("/abc" "l" "dn", "abc" N "def" N "a" X "abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("2/abc" "h" "dN", "abc" N "def" N X " abc jkl" N "xyz"); + KEYS("c/xxx" "h" "dN", "abc" N "def" N X " abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("l" "v2/abc" "x", "abc jkl" N "xyz"); + + // don't leave visual mode after search failed or is cancelled + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("vj" "/abc" "x", X "ef" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("vj" "/xxx" "x", X "bc" N "ghi abc jkl" N "xyz"); } void FakeVimPlugin::test_vim_indent() -- cgit v1.2.1