test: Add tests for batpipe

This commit is contained in:
Ethan P 2021-03-30 19:26:08 -07:00
parent 5f5a5e87a9
commit dccceaf749
No known key found for this signature in database
GPG Key ID: 6963FD04F6CF35EA
4 changed files with 37 additions and 0 deletions

4
.gitignore vendored
View File

@ -11,3 +11,7 @@
.download
bin
man
# Side-Effects
/test/data/.config/fish
/test/data/.local/share/fish

BIN
test/data/compressed.txt.gz Normal file

Binary file not shown.

7
test/shim/batpipe.sh Normal file
View File

@ -0,0 +1,7 @@
batpipe() {
"$(batpipe_path)" "$@" || return $?
}
batpipe_path() {
echo "${BIN_DIR}/batpipe${BIN_SUFFIX}"
}

26
test/suite/batpipe.sh Normal file
View File

@ -0,0 +1,26 @@
setup() {
use_shim 'batpipe'
}
test:detected_bash_shell() {
description "Test it can detect a bash shell."
command -v "bash" &>/dev/null || skip "Test requires bash shell."
output="$(SHELL="bash" bash --login -c "{ \"$(batpipe_path)\"; }")" # This hack prevents bash from exec()'ing itself.
grep '^LESSOPEN=' <<< "$output" >/dev/null || fail "Detected the wrong shell for bash."
}
test:detected_fish_shell() {
description "Test it can detect a bash shell."
command -v "fish" &>/dev/null || skip "Test requires fish shell."
output="$(SHELL="fish" fish --login -c "$(batpipe_path)")"
grep '^set -x' <<< "$output" >/dev/null || fail "Detected the wrong shell for fish."
}
test:viewer_gzip() {
description "Test it can view .gz files."
command -v "gunzip" &>/dev/null || skip "Test requires gunzip."
assert_equal "$(batpipe compressed.txt.gz)" "OK"
}