#!/bin/sh set -u . tests/lib.sh test_help_flags() { testing 'help flags' N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" LANG=en_US.UTF-8 sh src/git-permalink -h 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_fgrep_stdout 'Usage' assert_fgrep_stdout 'Options' N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" LANG=en_US.UTF-8 sh src/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' N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" LANG=en_US.UTF-8 sh src/git-permalink --something something -h \ 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 assert_usage "$ERR" N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" LANG=en_US.UTF-8 sh src/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-]+$' N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" sh src/git-permalink -V 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_grep_stdout "$REGEX" N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" sh src/git-permalink --version 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr assert_grep_stdout "$REGEX" N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" sh src/git-permalink -V --abc xyz 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_grep_stdout "$REGEX" N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" sh src/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