summaryrefslogtreecommitdiff
path: root/src/plugins/fakevim/fakevim_test.cpp
diff options
context:
space:
mode:
authorhluk <hluk@email.cz>2013-12-01 13:35:37 +0100
committerhjk <hjk121@nokiamail.com>2013-12-30 16:56:58 +0100
commit99d85671037fdf155cecbe54a82ee6266834780a (patch)
treef693e86290d4616073d6af21d71c557d11d7abc9 /src/plugins/fakevim/fakevim_test.cpp
parent3fd6a52ac7a2ece50587efc59a5adfdaa2eeb5ad (diff)
downloadqt-creator-99d85671037fdf155cecbe54a82ee6266834780a.tar.gz
FakeVim: Use registers 0, 1 and -
Command "y" additionally yanks text to register 0 if the default register " is used. Delete and change command set register 1, if removed text contains multiple lines, or to small delete register (-). Register " is always set. Change-Id: I9d357911cedaac97fb1a91698523c9b0f3de8621 Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r--src/plugins/fakevim/fakevim_test.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp
index f09ec5cb80..fc419a8e38 100644
--- a/src/plugins/fakevim/fakevim_test.cpp
+++ b/src/plugins/fakevim/fakevim_test.cpp
@@ -2259,6 +2259,45 @@ void FakeVimPlugin::test_vim_ex_yank()
data.setText("abc" N "def");
KEYS("\"xy$", X "abc" N "def");
KEYS("\"xP", "ab" X "cabc" N "def");
+
+ data.setText(
+ "abc def" N
+ "ghi jkl" N
+ );
+ KEYS("yiwp",
+ "aab" X "cbc def" N
+ "ghi jkl" N
+ );
+ KEYS("u",
+ X "abc def" N
+ "ghi jkl" N
+ );
+ KEYS("\"0p",
+ "aab" X "cbc def" N
+ "ghi jkl" N
+ );
+ KEYS("\"xyiw",
+ X "aabcbc def" N
+ "ghi jkl" N
+ );
+ KEYS("\"0p",
+ "aab" X "cabcbc def" N
+ "ghi jkl" N
+ );
+ KEYS("\"xp",
+ "aabcaabcb" X "cabcbc def" N
+ "ghi jkl" N
+ );
+
+ // register " is last yank
+ data.setText(
+ "abc def" N
+ "ghi jkl" N
+ );
+ KEYS("yiwp\"xyiw\"\"p",
+ "aaabcb" X "cabcbc def" N
+ "ghi jkl" N
+ );
}
void FakeVimPlugin::test_vim_ex_delete()