aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJarno Mäkipää <jmakip87@gmail.com>2020-01-25 20:16:49 +0200
committerRob Landley <rob@landley.net>2020-01-25 20:49:02 -0600
commita459a19c9c78433a4ec8546dd8dcf14c68d087c7 (patch)
tree4029c0043fcd933574cb852e14f1110e2774a595 /tests
parent51442ce32e99c28fbbd74305e6a8b8e5686293c0 (diff)
downloadtoybox-a459a19c9c78433a4ec8546dd8dcf14c68d087c7.tar.gz
vi: Add tests
Test file integrity after load, move, delete and save+exit. Drawing of buffer is not tested yet. Added -s script option, accept file that is run as startup script of commands. File is parsed byte at time and handled as you had typed it. If EOF has been reached without editor close command, editing is continued normally using keyboard. This functionality is in vim and neovim, but not in POSIX vi standard. nvi (vi used in some macs) has -s with different meaning... Some simple tests added, dw last line test fails, so test is disabled.
Diffstat (limited to 'tests')
-rw-r--r--tests/files/vi/D_first.in3
-rw-r--r--tests/files/vi/D_last.in4
-rw-r--r--tests/files/vi/ascii.txt4
-rw-r--r--tests/files/vi/ascii_D_first.out4
-rw-r--r--tests/files/vi/ascii_D_last.out4
-rw-r--r--tests/files/vi/ascii_dd_first.out3
-rw-r--r--tests/files/vi/ascii_dd_last.out3
-rw-r--r--tests/files/vi/ascii_dw_first.out4
-rw-r--r--tests/files/vi/ascii_dw_last.out4
-rw-r--r--tests/files/vi/dd_first.in3
-rw-r--r--tests/files/vi/dd_last.in4
-rw-r--r--tests/files/vi/dw_first.in3
-rw-r--r--tests/files/vi/dw_last.in6
-rw-r--r--tests/vi.test72
14 files changed, 121 insertions, 0 deletions
diff --git a/tests/files/vi/D_first.in b/tests/files/vi/D_first.in
new file mode 100644
index 00000000..0e3ce347
--- /dev/null
+++ b/tests/files/vi/D_first.in
@@ -0,0 +1,3 @@
+D
+:wq
+
diff --git a/tests/files/vi/D_last.in b/tests/files/vi/D_last.in
new file mode 100644
index 00000000..355c8c4f
--- /dev/null
+++ b/tests/files/vi/D_last.in
@@ -0,0 +1,4 @@
+G
+D
+:wq
+
diff --git a/tests/files/vi/ascii.txt b/tests/files/vi/ascii.txt
new file mode 100644
index 00000000..ee9f73ba
--- /dev/null
+++ b/tests/files/vi/ascii.txt
@@ -0,0 +1,4 @@
+abc def hij
+klm nop qrs
+tuv wxy z
+
diff --git a/tests/files/vi/ascii_D_first.out b/tests/files/vi/ascii_D_first.out
new file mode 100644
index 00000000..83a48a25
--- /dev/null
+++ b/tests/files/vi/ascii_D_first.out
@@ -0,0 +1,4 @@
+
+klm nop qrs
+tuv wxy z
+
diff --git a/tests/files/vi/ascii_D_last.out b/tests/files/vi/ascii_D_last.out
new file mode 100644
index 00000000..ee9f73ba
--- /dev/null
+++ b/tests/files/vi/ascii_D_last.out
@@ -0,0 +1,4 @@
+abc def hij
+klm nop qrs
+tuv wxy z
+
diff --git a/tests/files/vi/ascii_dd_first.out b/tests/files/vi/ascii_dd_first.out
new file mode 100644
index 00000000..3361750a
--- /dev/null
+++ b/tests/files/vi/ascii_dd_first.out
@@ -0,0 +1,3 @@
+klm nop qrs
+tuv wxy z
+
diff --git a/tests/files/vi/ascii_dd_last.out b/tests/files/vi/ascii_dd_last.out
new file mode 100644
index 00000000..dd43ed6d
--- /dev/null
+++ b/tests/files/vi/ascii_dd_last.out
@@ -0,0 +1,3 @@
+abc def hij
+klm nop qrs
+tuv wxy z
diff --git a/tests/files/vi/ascii_dw_first.out b/tests/files/vi/ascii_dw_first.out
new file mode 100644
index 00000000..400e1cb1
--- /dev/null
+++ b/tests/files/vi/ascii_dw_first.out
@@ -0,0 +1,4 @@
+def hij
+klm nop qrs
+tuv wxy z
+
diff --git a/tests/files/vi/ascii_dw_last.out b/tests/files/vi/ascii_dw_last.out
new file mode 100644
index 00000000..ee9f73ba
--- /dev/null
+++ b/tests/files/vi/ascii_dw_last.out
@@ -0,0 +1,4 @@
+abc def hij
+klm nop qrs
+tuv wxy z
+
diff --git a/tests/files/vi/dd_first.in b/tests/files/vi/dd_first.in
new file mode 100644
index 00000000..e1a138b8
--- /dev/null
+++ b/tests/files/vi/dd_first.in
@@ -0,0 +1,3 @@
+dd
+:wq
+
diff --git a/tests/files/vi/dd_last.in b/tests/files/vi/dd_last.in
new file mode 100644
index 00000000..821e7bf4
--- /dev/null
+++ b/tests/files/vi/dd_last.in
@@ -0,0 +1,4 @@
+G
+dd
+:wq
+
diff --git a/tests/files/vi/dw_first.in b/tests/files/vi/dw_first.in
new file mode 100644
index 00000000..919e2aad
--- /dev/null
+++ b/tests/files/vi/dw_first.in
@@ -0,0 +1,3 @@
+dw
+:wq
+
diff --git a/tests/files/vi/dw_last.in b/tests/files/vi/dw_last.in
new file mode 100644
index 00000000..dc69492f
--- /dev/null
+++ b/tests/files/vi/dw_last.in
@@ -0,0 +1,6 @@
+G
+$
+b
+dw
+:wq
+
diff --git a/tests/vi.test b/tests/vi.test
new file mode 100644
index 00000000..1c6ff241
--- /dev/null
+++ b/tests/vi.test
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+[ -f testing.sh ] && . testing.sh
+
+# setup
+cp $FILES/vi/ascii.txt in.txt
+cp $FILES/vi/dd_first.in cmd.txt
+cp $FILES/vi/ascii_dd_first.out out.txt
+
+
+testing "dd first line ascii" \
+ "vi -s cmd.txt in.txt 1>/dev/null 2>/dev/null && cmp in.txt out.txt && echo yes" "yes\n" "" ""
+
+# teardown
+rm in.txt cmd.txt out.txt
+
+# setup
+cp $FILES/vi/ascii.txt in.txt
+cp $FILES/vi/dd_last.in cmd.txt
+cp $FILES/vi/ascii_dd_last.out out.txt
+
+testing "dd last line ascii" \
+ "vi -s cmd.txt in.txt 1>/dev/null 2>/dev/null && cmp in.txt out.txt && echo yes" "yes\n" "" ""
+
+# teardown
+rm in.txt cmd.txt out.txt
+
+
+## setup
+#cp $FILES/vi/ascii.txt in.txt
+#cp $FILES/vi/dw_last.in cmd.txt
+#cp $FILES/vi/ascii_dw_last.out out.txt
+#
+#testing "dw last line ascii" \
+# "vi -s cmd.txt in.txt 1>/dev/null 2>/dev/null && cmp in.txt out.txt && echo yes" "yes\n" "" ""
+#
+## teardown
+#rm in.txt cmd.txt out.txt
+
+# setup
+cp $FILES/vi/ascii.txt in.txt
+cp $FILES/vi/dw_first.in cmd.txt
+cp $FILES/vi/ascii_dw_first.out out.txt
+
+testing "dw first line ascii" \
+ "vi -s cmd.txt in.txt 1>/dev/null 2>/dev/null && cmp in.txt out.txt && echo yes" "yes\n" "" ""
+
+# teardown
+rm in.txt cmd.txt out.txt
+
+
+# setup
+cp $FILES/vi/ascii.txt in.txt
+cp $FILES/vi/D_first.in cmd.txt
+cp $FILES/vi/ascii_D_first.out out.txt
+
+testing "D first line ascii" \
+ "vi -s cmd.txt in.txt 1>/dev/null 2>/dev/null && cmp in.txt out.txt && echo yes" "yes\n" "" ""
+
+# teardown
+rm in.txt cmd.txt out.txt
+
+# setup
+cp $FILES/vi/ascii.txt in.txt
+cp $FILES/vi/D_last.in cmd.txt
+cp $FILES/vi/ascii_D_last.out out.txt
+
+testing "D last line ascii" \
+ "vi -s cmd.txt in.txt 1>/dev/null 2>/dev/null && cmp in.txt out.txt && echo yes" "yes\n" "" ""
+
+# teardown
+rm in.txt cmd.txt out.txt