From b96e9c61156472d08d14f5797d19501efe602245 Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Tue, 11 Nov 2014 18:45:57 +0100 Subject: FakeVim: Added tests for cursor target column Change-Id: Iac3a3153783530ac8a0d40cc9a37a50982afe9ae Reviewed-by: hjk --- src/plugins/fakevim/fakevim_test.cpp | 141 +++++++++++++++++++++++++++++++++++ 1 file changed, 141 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 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("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("", + "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("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", "a" X "b" "c" N "d" "e" N "" N "k" "l" "m" "n"); + KEYS("Vj", "a" "b" "c" N "d" X "e" N "" N "k" "l" "m" "n"); + KEYS("Vj", "a" "b" "c" N "d" "e" N X "" N "k" "l" "m" "n"); + KEYS("Vj", "a" "b" "c" N "d" "e" N "" N "k" X "l" "m" "n"); + KEYS("Vgg", 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("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("2|", + "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("^", + 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", + 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("2|", + "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("^", + X "a" "b" "c" N "d" "e" N "" N "k" "l" "m" "n"); +} + void FakeVimPlugin::test_vim_insert() { TestData data; -- cgit v1.2.1