]>
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 expected
=$MH_TEST_DIR/$$.expected
23 expected_err
=$MH_TEST_DIR/$$.expected_err
24 actual
=$MH_TEST_DIR/$$.actual
25 actual_err
=$MH_TEST_DIR/$$.actual_err
30 Usage: fmtdump [switches]
38 #### Skip nmh intro text.
39 "$fmtdump" -help | sed '/^$/Q' >"$actual" 2>&1
40 check
"$expected" "$actual"
45 * ) printf '%s: fmtdump -v generated unexpected output\n' "$0" >&2
46 failed
=`expr ${failed:-0} + 1`;;
49 # check unknown switch
50 run_test
"$fmtdump -nonexistent" 'fmtdump: -nonexistent unknown'
52 # check with no switches
55 NUMF, width 4, fill ' '
57 IF_V_NE 0 continue else goto L0
61 L1: LS_COMP, comp "replied"
62 IF_S continue else goto L2
65 L2: LS_COMP, comp "encrypted"
66 IF_S continue else goto L4
70 L5: PARSEDATE, c_name "date", c_type <DATE>
71 LV_MON, c_name "date", c_type <DATE>
72 NUMF, width 2, fill '0'
74 PARSEDATE, c_name "date", c_type <DATE>
75 LV_MDAY, c_name "date", c_type <DATE>
76 NUMF, width 2, fill '0'
77 LS_COMP, comp "date", c_type <DATE>
78 IF_S continue else goto L6
82 L7: MYMBOX, c_name "from", c_type <ADDR>
83 LV_COMPFLAG, comp "from", c_type <ADDR>
84 IF_V_NE 0 continue else goto L8
85 LS_COMP, comp "to", c_type <ADDR>
86 IF_S continue else goto L8
88 PARSEADDR, c_name "to", c_type <ADDR>
89 LS_FRIENDLY, c_name "to", c_type <ADDR>
91 STRF, width 14, fill ' '
92 L8: IF_V_EQ 0 continue else goto L9
93 PARSEADDR, c_name "from", c_type <ADDR>
94 LS_FRIENDLY, c_name "from", c_type <ADDR>
96 STRF, width 17, fill ' '
98 LS_COMP, comp "subject"
102 IF_S continue else goto L10
110 run_prog
$fmtdump >$actual 2>&1
111 check
$expected $actual
116 NUMF, width 4, fill ' '
118 IF_V_NE 0 continue else goto L0
122 L1: LS_COMP, comp "replied"
123 IF_S continue else goto L2
126 L2: LS_COMP, comp "encrypted"
127 IF_S continue else goto L4
131 L5: PARSEDATE, c_name "date", c_type <DATE>
132 LV_MON, c_name "date", c_type <DATE>
133 NUMF, width 2, fill '0'
135 PARSEDATE, c_name "date", c_type <DATE>
136 LV_MDAY, c_name "date", c_type <DATE>
137 NUMF, width 2, fill '0'
138 LS_COMP, comp "date", c_type <DATE>
139 IF_S continue else goto L6
143 L7: MYMBOX, c_name "from", c_type <ADDR>
144 LV_COMPFLAG, comp "from", c_type <ADDR>
145 IF_V_NE 0 continue else goto L8
146 LS_COMP, comp "to", c_type <ADDR>
147 IF_S continue else goto L8
149 PARSEADDR, c_name "to", c_type <ADDR>
150 LS_FRIENDLY, c_name "to", c_type <ADDR>
153 STRF, width 14, fill ' '
154 L8: IF_V_EQ 0 continue else goto L9
155 PARSEADDR, c_name "from", c_type <ADDR>
156 LS_FRIENDLY, c_name "from", c_type <ADDR>
159 STRF, width 17, fill ' '
161 LS_COMP, comp "subject"
165 IF_S continue else goto L10
173 run_prog
$fmtdump -form "$MH_INST_DIR${nmhetcdir}/scan.default" >$actual 2>&1
174 check
$expected $actual
178 LS_LIT str "1234567890"
179 IF_S continue else goto L0
185 run_prog
$fmtdump -format '%<(lit 1234567890)%(strlen)%>' >$actual 2>&1
186 check
$expected $actual