aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/remembering.in9
-rwxr-xr-xtests/cli-opts.sh14
2 files changed, 21 insertions, 2 deletions
diff --git a/src/remembering.in b/src/remembering.in
index c89beef..784cb3d 100755
--- a/src/remembering.in
+++ b/src/remembering.in
@@ -16,6 +16,10 @@ Options:
See manpages for more information.'
}
+version() {
+ echo 'remembering-@VERSION@ @DATE@'
+}
+
missing() {
printf 'Missing option: %s\n' "$1" >&2
}
@@ -26,6 +30,9 @@ for flag in $@; do
usage
help
exit 0
+ elif [ "$flag" = '--version' ]; then
+ version
+ exit 0
fi
done
@@ -45,7 +52,7 @@ while getopts 'hc:p:V' name; do
exit
;;
V)
- echo 'remembering-@VERSION@ @DATE@'
+ version
exit
;;
*)
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh
index a85644e..a9b5ca5 100755
--- a/tests/cli-opts.sh
+++ b/tests/cli-opts.sh
@@ -97,6 +97,7 @@ test_valid_options() {
test_help_flags() {
testing 'help flags'
+
OUT="$(mktemp)"
ERR="$(mktemp)"
./remembering -h 1>"$OUT" 2>"$ERR"
@@ -112,18 +113,29 @@ test_help_flags() {
assert_status 0
assert_empty_stderr
assert_usage "$OUT"
+
test_ok
}
test_version_flags() {
testing 'version flags'
+ REGEX='^remembering-[0-9\.]+ [0-9-]+'
+
OUT="$(mktemp)"
ERR="$(mktemp)"
./remembering -V 1>"$OUT" 2>"$ERR"
STATUS=$?
assert_status 0
assert_empty_stderr
- assert_grep_stream "\$OUT" "$OUT" '^remembering-[0-9\.]+ [0-9-]+'
+ assert_grep_stream "\$OUT" "$OUT" "$REGEX"
+
+ OUT="$(mktemp)"
+ ERR="$(mktemp)"
+ ./remembering --version 1>"$OUT" 2>"$ERR"
+ STATUS=$?
+ assert_status 0
+ assert_empty_stderr
+ assert_grep_stream "\$OUT" "$OUT" "$REGEX"
test_ok
}