setup_test
# Use proper program, likely not the first one on PATH.
-dp="${MH_LIB_DIR}/dp"
+dp="${MH_LIBEXEC_DIR}/dp"
+
+check_exit '-eq 1' $dp -
+check_exit '-eq 1' $dp -format foo -form
+check_exit '-eq 1' $dp -form foo -format
+check_exit '-eq 1' $dp -width
+x=tendixzehn
+l=$x$x$x$x$x
+c=$l$l
+check_exit '-eq 1' $dp `echo $c | sed 's/./ &/g'` 101
+COLUMNS=1 check_exit '-eq 0' $dp foo
+check_exit '-eq 0' $dp -width 0 foo
expected="$MH_TEST_DIR/$$.expected"
expected_err="$MH_TEST_DIR/$$.expected_err"
# check -help
+start_test "-help"
cat >"$expected" <<EOF
Usage: dp [switches] dates ...
switches are:
-help
EOF
-run_prog $dp -help >"$actual" 2>&1
+#### Skip nmh intro text.
+run_prog "$dp" -help 2>&1 | sed '/^$/,$d' >"$actual"
check "$expected" "$actual"
# check -version
+start_test "-version"
case `$dp -v` in
dp\ --*) ;;
* ) printf '%s: dp -v generated unexpected output\n' "$0" >&2
esac
# check unknown switch
+start_test "unknown switch"
run_test "$dp -nonexistent" 'dp: -nonexistent unknown'
# check with no switches
+start_test "with no switches"
run_test "$dp" 'dp: usage: dp [switches] dates ...'
# check with one valid date
+start_test "with one valid date"
cat >"$expected" <<EOF
Sun, 01 Jul 2012 00:00:00
EOF
check "$expected" "$actual"
# check with two valid dates
+start_test "with two valid dates"
cat >"$expected" <<EOF
Sun, 01 Jul 2012 00:00:00
Mon, 02 Jul 2012 00:00:00
check "$expected" "$actual"
# check with invalid date
+start_test "with invalid date"
cat >"$expected" <<EOF
error: not a date
EOF
check "$expected_err" "$actual_err"
# check -form
+start_test "-form"
form="${MH_TEST_DIR}/Mail/dp-form"
cat >"$form" <<'EOF'
%(day{text})
rm -f "$form"
# check -format
+start_test "-format"
cat >"$expected" <<EOF
Sun
EOF
check $expected $actual
# check -width
+start_test "-width"
cat >"$expected" <<EOF
Sun, 01 Jul 2012
EOF
check "$expected" "$actual"
+finish_test
exit ${failed:-0}