diff options
Diffstat (limited to 'tests/cli-opts.sh')
-rwxr-xr-x | tests/cli-opts.sh | 87 |
1 files changed, 79 insertions, 8 deletions
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh index b64e040..a583845 100755 --- a/tests/cli-opts.sh +++ b/tests/cli-opts.sh @@ -3,13 +3,83 @@ set -u . tests/lib.sh +TEST_PREFIX="$PWD/tests/prefix/$(uuid)" +make PREFIX="$TEST_PREFIX" clean install 1>/dev/null +PATH="$TEST_PREFIX/bin:$PATH" + +test_langs() { + testing 'langs' + + N="$LINENO" + OUT="$(mkstemp)" + ERR="$(mkstemp)" + env LANG=POSIX 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)" + env LANG=C 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)" + env LANG=en_US.UTF-8 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)" + env LANG=en_AU.UTF-8 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)" + env LANG=pt_BR.UTF-8 git-permalink -h 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_fgrep_stdout 'Uso' + assert_fgrep_stdout 'Opções' + + N="$LINENO" + OUT="$(mkstemp)" + ERR="$(mkstemp)" + env LANG=pt_PT.UTF-8 git-permalink -h 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_fgrep_stdout 'Uso' + assert_fgrep_stdout 'Opções' + + test_ok +} + 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" + env LANG=en_US.UTF-8 git-permalink -h 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr @@ -19,7 +89,7 @@ test_help_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - LANG=en_US.UTF-8 sh src/git-permalink --help 1>"$OUT" 2>"$ERR" + env LANG=en_US.UTF-8 git-permalink --help 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr @@ -30,7 +100,7 @@ test_help_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - LANG=en_US.UTF-8 sh src/git-permalink --something something -h \ + env LANG=en_US.UTF-8 sh git-permalink --something something -h \ 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 @@ -39,7 +109,7 @@ test_help_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - LANG=en_US.UTF-8 sh src/git-permalink --help more things \ + env LANG=en_US.UTF-8 sh git-permalink --help more things \ 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -58,7 +128,7 @@ test_version_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - sh src/git-permalink -V 1>"$OUT" 2>"$ERR" + git-permalink -V 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr @@ -67,7 +137,7 @@ test_version_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - sh src/git-permalink --version 1>"$OUT" 2>"$ERR" + git-permalink --version 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr @@ -76,7 +146,7 @@ test_version_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - sh src/git-permalink -V --abc xyz 1>"$OUT" 2>"$ERR" + git-permalink -V --abc xyz 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_grep_stdout "$REGEX" @@ -84,7 +154,7 @@ test_version_flags() { N="$LINENO" OUT="$(mkstemp)" ERR="$(mkstemp)" - sh src/git-permalink --version things again 1>"$OUT" 2>"$ERR" + git-permalink --version things again 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr @@ -93,5 +163,6 @@ test_version_flags() { test_ok } +test_langs test_help_flags test_version_flags |