aboutsummaryrefslogtreecommitdiff
path: root/t/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/test.sh')
-rw-r--r--t/test.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/t/test.sh b/t/test.sh
new file mode 100644
index 0000000..2710f6e
--- /dev/null
+++ b/t/test.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+set -e
+
+source g.sh
+cd /
+
+# Setup the test file system.
+mkdir -p a/b/c
+mkdir -p a/d
+
+g -v &>> /output.txt
+g --version &>> /output.txt
+g -h &>> /output.txt
+g --help &>> /output.txt
+
+# Let's add some shortcuts.
+g add root
+g add b a/b
+g add c a/b/c
+
+# Errors on the `add` command.
+set +e
+g add add &>> /output.txt
+g add lala lala lala &>> /output.txt
+set -e
+
+# Removing shortcuts.
+g rm c
+g rm d
+
+# Errors on the `rm` command.
+set +e
+g rm &>> /output.txt
+g rm lala lala &>> /output.txt
+set -e
+
+# The list command.
+g list --keys &>> /output.txt
+g list | awk '{ print $1 }' | xargs &>> /output.txt
+
+# Bare g command.
+cd /
+g b
+basename $(pwd) &>> /output.txt
+g root
+basename $(pwd) &>> /output.txt
+g root/a/b/c
+basename $(pwd) &>> /output.txt
+
+# Unknown shortcut.
+set +e
+g unknown &>> /output.txt
+set -e
+
+# Final diff
+diff /expected.txt /output.txt