diff options
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() |