]>
diplodocus.org Git - nmh/blob - test/format/test-fmtdump
2 ######################################################
6 ######################################################
10 if test -z "${MH_OBJ_DIR}"; then
11 srcdir
=`dirname $0`/..
/..
12 MH_OBJ_DIR
=`cd $srcdir && pwd`; export MH_OBJ_DIR
15 .
"$MH_OBJ_DIR/test/common.sh"
19 # Use proper program, likely not the first one on PATH.
20 fmtdump
="${MH_LIBEXEC_DIR}/fmtdump"
22 check_exit
'-eq 1' "$fmtdump" -
24 expected
=$MH_TEST_DIR/$$.expected
25 expected_err
=$MH_TEST_DIR/$$.expected_err
26 actual
=$MH_TEST_DIR/$$.actual
27 actual_err
=$MH_TEST_DIR/$$.actual_err
32 Usage: fmtdump [switches]
40 #### Skip nmh intro text.
41 "$fmtdump" -help | sed '/^$/,$d' >"$actual" 2>&1
42 check
"$expected" "$actual"
47 * ) printf '%s: fmtdump -v generated unexpected output\n' "$0" >&2
48 failed
=`expr ${failed:-0} + 1`;;
51 # check unknown switch
52 run_test
"$fmtdump -nonexistent" 'fmtdump: -nonexistent unknown'
54 # check with no switches
57 NUMF, width 4, fill ' '
59 IF_V_NE 0 continue else goto L0
63 L1: LS_COMP, comp "replied"
64 IF_S continue else goto L2
67 L2: LS_COMP, comp "encrypted"
68 IF_S continue else goto L4
72 L5: PARSEDATE, c_name "date", c_type <DATE>
73 LV_MON, c_name "date", c_type <DATE>
74 NUMF, width 2, fill '0'
76 PARSEDATE, c_name "date", c_type <DATE>
77 LV_MDAY, c_name "date", c_type <DATE>
78 NUMF, width 2, fill '0'
79 LS_COMP, comp "date", c_type <DATE>
80 IF_S continue else goto L6
84 L7: MYMBOX, c_name "from", c_type <ADDR>
85 LV_COMPFLAG, comp "from", c_type <ADDR>
86 IF_V_NE 0 continue else goto L8
87 LS_COMP, comp "to", c_type <ADDR>
88 IF_S continue else goto L8
90 PARSEADDR, c_name "to", c_type <ADDR>
91 LS_FRIENDLY, c_name "to", c_type <ADDR>
93 STRF, width 14, fill ' '
94 L8: IF_V_EQ 0 continue else goto L9
95 PARSEADDR, c_name "from", c_type <ADDR>
96 LS_FRIENDLY, c_name "from", c_type <ADDR>
98 STRF, width 17, fill ' '
100 LS_COMP, comp "subject"
104 IF_S continue else goto L10
112 run_prog
$fmtdump >$actual 2>&1
113 check
$expected $actual
118 NUMF, width 4, fill ' '
120 IF_V_NE 0 continue else goto L0
124 L1: LS_COMP, comp "replied"
125 IF_S continue else goto L2
128 L2: LS_COMP, comp "encrypted"
129 IF_S continue else goto L4
133 L5: PARSEDATE, c_name "date", c_type <DATE>
134 LV_MON, c_name "date", c_type <DATE>
135 NUMF, width 2, fill '0'
137 PARSEDATE, c_name "date", c_type <DATE>
138 LV_MDAY, c_name "date", c_type <DATE>
139 NUMF, width 2, fill '0'
140 LS_COMP, comp "date", c_type <DATE>
141 IF_S continue else goto L6
145 L7: MYMBOX, c_name "from", c_type <ADDR>
146 LV_COMPFLAG, comp "from", c_type <ADDR>
147 IF_V_NE 0 continue else goto L8
148 LS_COMP, comp "to", c_type <ADDR>
149 IF_S continue else goto L8
151 PARSEADDR, c_name "to", c_type <ADDR>
152 LS_FRIENDLY, c_name "to", c_type <ADDR>
155 STRF, width 14, fill ' '
156 L8: IF_V_EQ 0 continue else goto L9
157 PARSEADDR, c_name "from", c_type <ADDR>
158 LS_FRIENDLY, c_name "from", c_type <ADDR>
161 STRF, width 17, fill ' '
163 LS_COMP, comp "subject"
167 IF_S continue else goto L10
175 run_prog
$fmtdump -form "$MH_INST_DIR${nmhetcdir}/scan.default" >$actual 2>&1
176 check
$expected $actual
180 LS_LIT str "1234567890"
181 IF_S continue else goto L0
187 run_prog
$fmtdump -format '%<(lit 1234567890)%(strlen)%>' >$actual 2>&1
188 check
$expected $actual