From 112819777c7f77a47a97474dee21bbe1cfe531ec Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Date: Sat, 1 Aug 2015 23:45:55 +0200 Subject: The test suite is working just fine --- t/expected.txt | 26 +++++++++++++++++++++++ t/tests.sh | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 t/expected.txt (limited to 't') diff --git a/t/expected.txt b/t/expected.txt new file mode 100644 index 0000000..d78dcb8 --- /dev/null +++ b/t/expected.txt @@ -0,0 +1,26 @@ +g version 0.3.8 +g version 0.3.8 +usage: g [-h | --help] [-v | --version] [] + +The g commands are: + add Add a new shortcut. + rm Remove a shorcut. + list List all the available shortcuts. +usage: g [-h | --help] [-v | --version] [] + +The g commands are: + add Add a new shortcut. + rm Remove a shorcut. + list List all the available shortcuts. +Cannot use 'add': keyword. +usage: g add [path] +usage: g rm +usage: g rm +b root +b root +b +t +c +Unknown shortcut `unknown'. + +usage: g [-h | --help] [-v | --version] [] diff --git a/t/tests.sh b/t/tests.sh index 79c635f..a0d32e2 100644 --- a/t/tests.sh +++ b/t/tests.sh @@ -15,5 +15,67 @@ set -e -echo "Hello World" -exit 0 +# Cleanup previous tests and setup some special variables. +d="$(realpath $(dirname $0))" +rm -f $d/output.txt +HOME="$d" + +# Setup the test file system. +mkdir -p $d/a/b/c +mkdir -p $d/a/d + +source $d/../g.sh + +# First check that the basic commands are there. +g -v &>> $d/output.txt +g --version &>> $d/output.txt +g -h &>> $d/output.txt +g --help &>> $d/output.txt + +# Let's add some shortcuts. +cd $d +g add root +g add b a/b +g add c a/b/c + +# Errors on the `add` command. +set +e +g add add &>> $d/output.txt +g add lala lala lala &>> $d/output.txt +set -e + +# Removing shortcuts. +g rm c +g rm d + +# Errors on the `rm` command. +set +e +g rm &>> $d/output.txt +g rm lala lala &>> $d/output.txt +set -e + +# The list command. +g list --keys &>> $d/output.txt +g list | awk '{ print $1 }' | xargs &>> $d/output.txt + +# Bare g command. +original=`pwd` +cd / +g b +basename $(pwd) &>> $d/output.txt +g root +basename $(pwd) &>> $d/output.txt +g root/a/b/c +basename $(pwd) &>> $d/output.txt +cd $original + +# Unknown shortcut. +set +e +g unknown &>> $d/output.txt +set -e + +# Teardown +diff $d/output.txt $d/expected.txt +rm $d/output.txt +rm -rf a +rm -rf $d/.gfile -- cgit v1.2.3