#!/bin/bash

[ -f testing.sh ] && . testing.sh

#testing "name" "command" "result" "infile" "stdin"

echo -n "hi " | gzip > 1.gz
echo "there" | gzip > 2.gz

# zcat is basically just gzip -dc
testcmd "files" "1.gz 2.gz && test -f 1.gz && test -f 2.gz" "hi there\n" "" ""
# zcat -c is allowed but changes nothing
testcmd "-c" "-c 1.gz 2.gz && test -f 1.gz && test -f 2.gz" "hi there\n" "" ""
testing "concatenated" "{ cat 1.gz 2.gz; } | zcat" "hi there\n" "" ""
testing "error" "head -c 10 2.gz | { zcat 2>/dev/null || echo fail; }" "fail\n"\
  "" ""

# TODO: how to test "zcat -f"?

rm -f 1 2 1.gz 2.gz
