summaryrefslogtreecommitdiff
path: root/src/plugins/fakevim/fakevim_test.cpp
diff options
context:
space:
mode:
authorLukas Holecek <hluk@email.cz>2014-11-11 18:45:57 +0100
committerhjk <hjk121@nokiamail.com>2014-11-12 15:25:28 +0100
commitb96e9c61156472d08d14f5797d19501efe602245 (patch)
tree39dcbf677ddc7b3ce7244c9fa6a9b5523a4d3524 /src/plugins/fakevim/fakevim_test.cpp
parenta0540182aad9d173ba3738f016f3f4db426d08bf (diff)
downloadqt-creator-b96e9c61156472d08d14f5797d19501efe602245.tar.gz
FakeVim: Added tests for cursor target column
Change-Id: Iac3a3153783530ac8a0d40cc9a37a50982afe9ae Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r--src/plugins/fakevim/fakevim_test.cpp141
1 files changed, 141 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp
index 938d0ca050..0508de1966 100644
--- a/src/plugins/fakevim/fakevim_test.cpp
+++ b/src/plugins/fakevim/fakevim_test.cpp
@@ -539,6 +539,147 @@ void FakeVimPlugin::test_vim_movement()
X "");
}
+void FakeVimPlugin::test_vim_target_column_normal()
+{
+ TestData data;
+ setup(&data);
+ data.setText("a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ // normal mode movement
+ KEYS("", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("$", "a" "b" "c" N "d" X "e" N "" N "k" "l" "m" "n");
+ KEYS("k", "a" "b" X "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("3j", "a" "b" "c" N "d" "e" N "" N "k" "l" "m" X "n");
+ KEYS("02k", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n");
+ KEYS("$", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("2k", "a" "b" X "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("jj2|", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" "e" N "" N "k" X "l" "m" "n");
+ KEYS("gg", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("^k", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+}
+
+void FakeVimPlugin::test_vim_target_column_visual_char()
+{
+ TestData data;
+ setup(&data);
+ data.setText("a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ KEYS("v", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("$", "a" "b" "c" N "d" "e" X N "" N "k" "l" "m" "n");
+ KEYS("k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("3j", "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n" X);
+ KEYS("02k", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n");
+ KEYS("$", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("2k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("jj2|", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" "e" N "" N "k" X "l" "m" "n");
+ KEYS("gg", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("^k", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("lO", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<ESC>j",
+ "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+}
+
+void FakeVimPlugin::test_vim_target_column_visual_block()
+{
+ TestData data;
+ setup(&data);
+ data.setText("a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ KEYS("<C-V>",
+ "a" X "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" X "e" N "" N "k" "l" "m" "n");
+ KEYS("$", "a" "b" "c" N "d" "e" X N "" N "k" "l" "m" "n");
+ KEYS("k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("3j", "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n" X);
+ KEYS("02k", "a" "b" "c" N "d" X "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("$", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("2k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("jj2|", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" "e" N "" N "k" "l" X "m" "n");
+ KEYS("gg", "a" X "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("j", "a" "b" "c" N "d" X "e" N "" N "k" "l" "m" "n");
+ KEYS("^k", "a" X "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("lO", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<ESC>j",
+ "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+}
+
+void FakeVimPlugin::test_vim_target_column_visual_line()
+{
+ TestData data;
+ setup(&data);
+ data.setText("a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ KEYS("lV<ESC>", "a" X "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("Vj<ESC>", "a" "b" "c" N "d" X "e" N "" N "k" "l" "m" "n");
+ KEYS("Vj<ESC>", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n");
+ KEYS("Vj<ESC>", "a" "b" "c" N "d" "e" N "" N "k" X "l" "m" "n");
+ KEYS("Vgg<ESC>", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ NOT_IMPLEMENTED
+ // Movement inside selection is not supported.
+}
+
+void FakeVimPlugin::test_vim_target_column_insert()
+{
+ TestData data;
+ setup(&data);
+ data.setText("a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ KEYS("i", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>$", "a" "b" "c" N "d" "e" X N "" N "k" "l" "m" "n");
+ KEYS("<C-O>k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>3j", "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n" X);
+ KEYS("<C-O>0<C-O>2k",
+ "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n");
+ KEYS("<C-O>$", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("<C-O>2k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<down><down><c-o>2|",
+ "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N "d" "e" N "" N "k" X "l" "m" "n");
+ KEYS("<C-O>gg", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>^<up>",
+ X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+}
+
+void FakeVimPlugin::test_vim_target_column_replace()
+{
+ TestData data;
+ setup(&data);
+ data.setText("a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+
+ KEYS("i<insert>",
+ X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>$", "a" "b" "c" N "d" "e" X N "" N "k" "l" "m" "n");
+ KEYS("<C-O>k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>3j", "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n" X);
+ KEYS("<C-O>0<C-O>2k",
+ "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n");
+ KEYS("<C-O>$", "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("<C-O>2k", "a" "b" "c" X N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<down><down><c-o>2|",
+ "a" "b" "c" N "d" "e" N "" X N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N "d" "e" N "" N "k" X "l" "m" "n");
+ KEYS("<C-O>gg", X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>j", "a" "b" "c" N X "d" "e" N "" N "k" "l" "m" "n");
+ KEYS("<C-O>^<up>",
+ X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n");
+}
+
void FakeVimPlugin::test_vim_insert()
{
TestData data;