#!/bin/sh set -u . aux/tests-lib.sh export PATH="$PWD/tests:$PATH" test_help_flags() { testing 'help flags' OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink -h 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_fgrep_stdout 'Usage' assert_fgrep_stdout 'Options' OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink --help 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_usage "$OUT" assert_fgrep_stdout 'Usage' assert_fgrep_stdout 'Options' OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink --something somethign -h 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_usage "$OUT" assert_fgrep_stdout 'Usage' assert_fgrep_stdout 'Options' OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink --help more things 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_usage "$OUT" assert_fgrep_stdout 'Usage' assert_fgrep_stdout 'Options' test_ok } test_version_flags() { testing 'version flags' REGEX='^git-permalink-[0-9\.]+ [0-9-]+$' OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink -V 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_grep_stdout "$REGEX" OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink --version 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_grep_stdout "$REGEX" OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink --abc xyz -V 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_grep_stdout "$REGEX" OUT="$(mktemp)" ERR="$(mktemp)" ./git-permalink --version things again 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_grep_stdout "$REGEX" test_ok } test_help_flags test_version_flags