diff options
Diffstat (limited to 'test/cases/lib-messages.bats')
-rw-r--r-- | test/cases/lib-messages.bats | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/cases/lib-messages.bats b/test/cases/lib-messages.bats new file mode 100644 index 0000000..d0b4497 --- /dev/null +++ b/test/cases/lib-messages.bats @@ -0,0 +1,63 @@ +#!/usr/bin/env roundup + +describe libremessages +. ./test-common.sh + +it_can_be_included_twice() ( + . libremessages + . libremessages +) + +it_can_be_included_with_set_euE() ( + set -euE + . libremessages +) + +it_works_with_no_color_and_set_euE() { + ( + unset TERM + set -euE + . libremessages + msg Foo + ) >$tmpdir/stdout 2>$tmpdir/stderr + + empty $tmpdir/stdout + not empty $tmpdir/stderr +} + +it_can_be_called_without_including() { + libremessages msg Foo >$tmpdir/stdout 2>$tmpdir/stderr + + empty $tmpdir/stdout + not empty $tmpdir/stderr +} + +it_fails_with_msg_and_no_args() { + libremessages msg || status=$? + [[ $status != 0 ]] +} + +it_allows_subheadings_to_flag() { + # Note that old versions of `flag` panicked if given an odd + # number of headings, so give an odd number here. + libremessages flag \ + -a adesc \ + -b bdesc \ + Head1: \ + -c cdesc > $tmpdir/out + cat > $tmpdir/exp <<-eot + -a adesc + -b bdesc + Head1: + -c cdesc + eot + diff -u $tmpdir/exp $tmpdir/out +} + +it_is_quiet_on_stdout_on_errs() { + LC_ALL=C bash -euE -c '. libremessages; setup_traps; false' >"$tmpdir/stdout" 2>"$tmpdir/stderr" || status=$? + + [[ $status != 0 ]] + empty "$tmpdir/stdout" + grep '==> ERROR:' "$tmpdir/stderr" +} |