diff options
author | Lukas Holecek <hluk@email.cz> | 2014-11-11 18:45:57 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-11-12 15:25:28 +0100 |
commit | b96e9c61156472d08d14f5797d19501efe602245 (patch) | |
tree | 39dcbf677ddc7b3ce7244c9fa6a9b5523a4d3524 /src/plugins/fakevim/fakevim_test.cpp | |
parent | a0540182aad9d173ba3738f016f3f4db426d08bf (diff) | |
download | qt-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.cpp | 141 |
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; |