File: test-dp

package info (click to toggle)
nmh 1.8-4
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 7,860 kB
  • sloc: ansic: 50,445; sh: 22,697; makefile: 1,138; lex: 740; perl: 509; yacc: 265
file content (138 lines) | stat: -rwxr-xr-x 2,810 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/bin/sh
######################################################
#
# Test dp
#
######################################################

set -e

if test -z "${MH_OBJ_DIR}"; then
    srcdir=`dirname $0`/../..
    MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
fi

. "$MH_OBJ_DIR/test/common.sh"

setup_test

# Use proper program, likely not the first one on PATH.
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"
actual="$MH_TEST_DIR/$$.actual"
actual_err="$MH_TEST_DIR/$$.actual_err"


# check -help
start_test "-help"
cat >"$expected" <<EOF
Usage: dp [switches] dates ...
  switches are:
  -form formatfile
  -(forma)t string
  -width columns
  -version
  -help
EOF

#### 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
           failed=`expr ${failed:-0} + 1`;;
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

run_prog $dp 'Sun Jul  1 2012' > "$actual" 2>&1
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
EOF

run_prog $dp 'Sun Jul  1 2012' 'Mon Jul  2 2012' > "$actual" 2>&1
check "$expected" "$actual"

# check with invalid date
start_test "with invalid date"
cat >"$expected" <<EOF
error: not a date
EOF

cat >"$expected_err" <<EOF
EOF

run_prog $dp 'not a date' > "$actual" 2> "$actual_err"
check "$expected" "$actual"
check "$expected_err" "$actual_err"

# check -form
start_test "-form"
form="${MH_TEST_DIR}/Mail/dp-form"
cat >"$form" <<'EOF'
%(day{text})
EOF

cat >"$expected" <<EOF
Sun
EOF

run_prog $dp -form "$form" 'Jul 1 2012' >$actual 2>&1
check $expected $actual
rm -f "$form"

# check -format
start_test "-format"
cat >"$expected" <<EOF
Sun
EOF

run_prog $dp -format '%(day{text})' 'Jul 1 2012' >$actual 2>&1
check $expected $actual

# check -width
start_test "-width"
cat >"$expected" <<EOF
Sun, 01 Jul 2012 
EOF

run_prog $dp -width 17 'Sun Jul  1 2012' > "$actual" 2>&1
check "$expected" "$actual"


finish_test
exit ${failed:-0}