diff options
author | hluk <hluk@email.cz> | 2013-09-15 16:19:05 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-09-19 12:17:37 +0200 |
commit | a636a933d0a1f4dfd5a021c94c057f14d3a6bbf8 (patch) | |
tree | b341c44bf64c6da4ccd91721f06f2997adbbd79e /src/plugins/fakevim/fakevim_test.cpp | |
parent | 8c7a9a51ec588b1ecb981b561c1dd2ae40052525 (diff) | |
download | qt-creator-a636a933d0a1f4dfd5a021c94c057f14d3a6bbf8.tar.gz |
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<CR>'.
Commands should be also properly canceled if search movement fails.
Change-Id: Ic695dccaf3f36ccae2f2b1a93f888d5ba9805a78
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
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<CR>", "ab" X "ghi abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("l" "d2/abc<CR>", "a" X "abc jkl" N "xyz"); + + data.setText("abc" N "def" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("d/abc<CR>", 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<CR>" "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<CR>" "h" "dN", "abc" N "def" N X " abc jkl" N "xyz"); + KEYS("c/xxx<CR><ESC>" "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<CR>" "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<ESC>" "x", X "ef" N "abc" N "ghi abc jkl" N "xyz"); + KEYS("vj" "/xxx<CR>" "x", X "bc" N "ghi abc jkl" N "xyz"); } void FakeVimPlugin::test_vim_indent() |