aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/fakevim/fakevim_test.cpp
diff options
context:
space:
mode:
authorLukas Holecek <hluk@email.cz>2014-11-20 19:57:16 +0100
committerhjk <hjk121@nokiamail.com>2014-11-25 10:32:12 +0100
commit577fcd97d4f0ae6dd944d1587b2c4ed0ac2c66c9 (patch)
tree894c662299aa21fadfa345743cd67f5403b6a680 /src/plugins/fakevim/fakevim_test.cpp
parente8aecca215fdc5c01507e06e0a26e09eab6b4655 (diff)
FakeVim: Select and modify paragraph object
Change-Id: Ib528fa2914bfcb17caed114d7da2d201079b0725 Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r--src/plugins/fakevim/fakevim_test.cpp426
1 files changed, 426 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp
index e012b04969..cd1ed10b1f 100644
--- a/src/plugins/fakevim/fakevim_test.cpp
+++ b/src/plugins/fakevim/fakevim_test.cpp
@@ -1573,6 +1573,432 @@ void FakeVimPlugin::test_vim_block_selection_insert()
"a" X "bXYZc" N
" XYZ" N
"deXYZf" N
+ );
+}
+
+void FakeVimPlugin::test_vim_delete_inner_paragraph()
+{
+ TestData data;
+ setup(&data);
+
+ data.setText(
+ "abc" N
+ "def" N
+ "" N
+ "" N
+ "ghi" N
+ "" N
+ "jkl" N
+ );
+
+ KEYS("dip",
+ X "" N
+ "" N
+ "ghi" N
+ "" N
+ "jkl" N
+ );
+ KEYS("dip",
+ X "ghi" N
+ "" N
+ "jkl" N
+ );
+ KEYS("2dip",
+ X "jkl" N
+ );
+}
+
+void FakeVimPlugin::test_vim_delete_a_paragraph()
+{
+ TestData data;
+ setup(&data);
+
+ data.setText(
+ "abc" N
+ "def" N
+ "" N
+ "" N
+ "ghi" N
+ "" N
+ "jkl" N
+ );
+
+ KEYS("dap",
+ X "ghi" N
+ "" N
+ "jkl" N
+ );
+ KEYS("dap",
+ X "jkl" N
+ );
+ KEYS("u",
+ X "ghi" N
+ "" N
+ "jkl" N
+ );
+
+ data.setText(
+ "abc" N
+ "" N
+ "" N
+ "def"
+ );
+ KEYS("Gdap",
+ X "abc"
+ );
+}
+
+void FakeVimPlugin::test_vim_change_inner_paragraph()
+{
+ TestData data;
+ setup(&data);
+
+ data.setText(
+ "abc" N
+ "def" N
+ "" N
+ "" N
+ "ghi" N
+ "" N
+ "jkl" N
+ );
+
+ KEYS("cipXXX<ESC>",
+ "XX" X "X" N
+ "" N
+ "" N
+ "ghi" N
+ "" N
+ "jkl" N
+ );
+ KEYS("3j" "cipYYY<ESC>",
+ "XXX" N
+ "" N
+ "" N
+ "YY" X "Y" N
+ "" N
+ "jkl" N
+ );
+}
+
+void FakeVimPlugin::test_vim_change_a_paragraph()
+{
+ TestData data;
+ setup(&data);
+
+ data.setText(
+ "abc" N
+ "def" N
+ "" N
+ "" N
+ "ghi" N
+ "" N
+ "jkl" N
+ );
+
+ KEYS("4j" "capXXX<ESC>",
+ "abc" N
+ "def" N
+ "" N
+ "" N
+ "XX" X "X" N
+ "jkl" N
+ );
+ KEYS("gg" "capYYY<ESC>",
+ "YY" X "Y" N
+ "XXX" N
+ "jkl" N
+ );
+
+ data.setText(
+ "abc" N
+ "" N
+ "" N
+ "def"
+ );
+ KEYS("GcapXXX<ESC>",
+ "abc" N
+ "XX" X "X"
+ );
+}
+
+void FakeVimPlugin::test_vim_select_inner_paragraph()
+{
+ TestData data;
+ setup(&data);
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("vip" "r-",
+ "" N
+ X "---" N
+ "---" N
+ "" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("vip" ":s/^/-<CR>",
+ "" N
+ "-abc" N
+ X "-def" N
+ "" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("v2ip" ":s/^/-<CR>",
+ "" N
+ "-abc" N
+ "-def" N
+ X "-" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("Vj" "ip" ":s/^/-<CR>",
+ "" N
+ "-abc" N
+ "-def" N
+ X "-" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("vj" "ip" ":s/^/-<CR>",
+ "" N
+ "-abc" N
+ "-def" N
+ "-" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "ghi" N
+ "" N
+ "jkl"
+ );
+ KEYS("vj" "ip" ":s/^/-<CR>",
+ "" N
+ "-abc" N
+ "-def" N
+ "-ghi" N
+ "" N
+ "jkl"
+ );
+
+ data.setText(
+ "" N
+ X "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("vip" "r-",
+ "" N
+ X "---" N
+ "---" N
+ "" N
+ "ghi"
+ );
+
+ data.setText(
+ "abc" N
+ "" N
+ "def"
+ );
+ KEYS("G" "vip" "r-",
+ "abc" N
+ "" N
+ "---"
+ );
+
+ data.setText(
+ "" N
+ "" N
+ "ghi"
+ );
+ KEYS("vip" ":s/^/-<CR>",
+ "-" N
+ "-" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ "ghi"
+ );
+ KEYS("vip" "ip" ":s/^/-<CR>",
+ "-" N
+ X "-ghi"
+ );
+
+ data.setText(
+ "abc" N
+ "" N
+ ""
+ );
+ KEYS("j" "vip" ":s/^/-<CR>",
+ "abc" N
+ "-" N
+ "-"
+ );
+
+ // Don't move anchor if it's on different line.
+ data.setText(
+ "" N
+ "abc" N
+ X "def" N
+ "ghi" N
+ "" N
+ "jkl"
+ );
+ KEYS("vj" "ip" ":s/^/-<CR>",
+ "" N
+ "abc" N
+ "-def" N
+ "-ghi" N
+ X "-" N
+ "jkl"
+ );
+
+ // Don't change selection mode if anchor is on different line.
+ data.setText(
+ "" N
+ "abc" N
+ X "def" N
+ "ghi" N
+ "" N
+ "jkl"
+ );
+ KEYS("vj" "2ip" "r-",
+ "" N
+ "abc" N
+ X "---" N
+ "---" N
+ "" N
+ "-kl"
+ );
+ KEYS("gv" ":s/^/X<CR>",
+ "" N
+ "abc" N
+ "X---" N
+ "X---" N
+ "X" N
+ X "X-kl"
+ );
+
+ data.setText(
+ "" N
+ "abc" N
+ X "def" N
+ "ghi" N
+ "" N
+ "jkl"
+ );
+ KEYS("<C-V>j" "2ip" "r-",
+ "" N
+ "abc" N
+ X "-ef" N
+ "-hi" N
+ "" N
+ "-kl"
+ );
+ KEYS("gv" "IX<ESC>",
+ "" N
+ "abc" N
+ "X-ef" N
+ "X-hi" N
+ "X" N
+ "X-kl"
+ );
+}
+
+void FakeVimPlugin::test_vim_select_a_paragraph()
+{
+ TestData data;
+ setup(&data);
+
+ data.setText(
+ "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("vap" ":s/^/-<CR>",
+ "-abc" N
+ "-def" N
+ "-" N
+ "ghi"
+ );
+
+ data.setText(
+ "" N
+ "abc" N
+ "def" N
+ "" N
+ "ghi"
+ );
+ KEYS("vap" ":s/^/-<CR>",
+ "-" N
+ "-abc" N
+ "-def" N
+ "" N
+ "ghi"
+ );
+
+ data.setText(
+ "abc" N
+ "def" N
+ ""
+ );
+ KEYS("j" "vap" ":s/^/-<CR>",
+ "-abc" N
+ "-def" N
+ "-"
+ );
+
+ data.setText(
+ "" N
+ "abc" N
+ "def"
+ );
+ KEYS("j" "vap" ":s/^/-<CR>",
+ "-" N
+ "-abc" N
+ "-def"
);
}