X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e2eebc77cc570f77d906bc0cc6890092068468cb..612f63b11fa4ac1d97d41943d48702bf16eed947:/test/format/test-fmtdump diff --git a/test/format/test-fmtdump b/test/format/test-fmtdump index 5680a5b1..eded0362 100755 --- a/test/format/test-fmtdump +++ b/test/format/test-fmtdump @@ -19,6 +19,29 @@ setup_test # Use proper program, likely not the first one on PATH. fmtdump="${MH_LIBEXEC_DIR}/fmtdump" +check_exit '-eq 1' "$fmtdump" - +check_exit '-eq 1' "$fmtdump" -form +check_exit '-eq 1' "$fmtdump" -format +check_exit '-eq 1' "$fmtdump" foo bar +check_exit '-eq 0' "$fmtdump" -format ' + %4{} %(eq) %(getenv) %(decodecomp{}) %(trim{}) %(putaddr) + %(putlit) %(zputlit) %(compval{}) %(num) + %(plus) %(minus) %(multiply) %(divide) %(modulo) + %(charleft) %(kilo) %(kibi) + %(month{}) %(tzone{}) %(day{}) %(weekday{}) %(tws{}) %(pretty{}) + %(sec{}) %(min{}) %(hour{}) %(year{}) %(yday{}) %(wday{}) + %(clock{}) %(rclock{}) %(sday{}) %(dst{}) %(szone{}) + %(date2local{}) %(date2gmt{}) +' +check_exit '-eq 0' "$fmtdump" -format ' + %(addr{}) %(pers{}) %(mbox{}) %(host{}) %(path{}) %(gname{}) + %(note{}) %(proper{}) %(type{}) %(ingrp{}) %(nohost{}) + %(formataddr) %(concataddr) %(getmymbox{}) %(getmyaddr{}) + %<(null)%> %<(gt)%> %<(match)%> %<(amatch)%> + %(null) %(nonnull) %(ne) %(gt) %(match) %(amatch) +' +check_exit '-eq 0' "$fmtdump" -format "`printf '\302\010\014\015\011\177'`" + expected=$MH_TEST_DIR/$$.expected expected_err=$MH_TEST_DIR/$$.expected_err actual=$MH_TEST_DIR/$$.actual @@ -35,8 +58,9 @@ Usage: fmtdump [switches] -help EOF -$fmtdump -help >$actual 2>&1 -check $expected $actual +#### Skip nmh intro text. +"$fmtdump" -help 2>&1 | sed '/^$/,$d' >"$actual" +check "$expected" "$actual" # check -version case `$fmtdump -v` in @@ -61,12 +85,8 @@ L1: LS_COMP, comp "replied" IF_S continue else goto L2 CHAR '-' GOTO L3 -L2: LS_COMP, comp "encrypted" - IF_S continue else goto L4 - CHAR 'E' -L3: GOTO L5 -L4: CHAR ' ' -L5: PARSEDATE, c_name "date", c_type +L2: CHAR ' ' +L3: PARSEDATE, c_name "date", c_type LV_MON, c_name "date", c_type NUMF, width 2, fill '0' CHAR '/' @@ -74,42 +94,97 @@ L5: PARSEDATE, c_name "date", c_type LV_MDAY, c_name "date", c_type NUMF, width 2, fill '0' LS_COMP, comp "date", c_type - IF_S continue else goto L6 + IF_S continue else goto L4 CHAR ' ' - GOTO L7 -L6: CHAR '*' -L7: MYMBOX, c_name "from", c_type + GOTO L5 +L4: CHAR '*' +L5: MYMBOX, c_name "from", c_type LV_COMPFLAG, comp "from", c_type - IF_V_NE 0 continue else goto L8 + IF_V_NE 0 continue else goto L6 LS_COMP, comp "to", c_type - IF_S continue else goto L8 + IF_S continue else goto L6 LIT "To:" PARSEADDR, c_name "to", c_type LS_FRIENDLY, c_name "to", c_type - FT_LS_DECODE + LS_DECODE STRF, width 14, fill ' ' -L8: IF_V_EQ 0 continue else goto L9 +L6: IF_V_EQ 0 continue else goto L7 PARSEADDR, c_name "from", c_type LS_FRIENDLY, c_name "from", c_type - FT_LS_DECODE + LS_DECODE STRF, width 17, fill ' ' -L9: LIT " " +L7: LIT " " LS_COMP, comp "subject" - FT_LS_DECODE + LS_DECODE STR LS_COMP, comp "body" - IF_S continue else goto L10 + IF_S continue else goto L8 LIT "<<" COMP, comp "body" LIT ">>" -L10: CHAR '\n' +L8: CHAR '\n' DONE EOF run_prog $fmtdump >$actual 2>&1 -check $expected $actual 'keep first' +check $expected $actual # check -form +cat >$expected < + LV_MON, c_name "date", c_type + NUMF, width 2, fill '0' + CHAR '/' + PARSEDATE, c_name "date", c_type + LV_MDAY, c_name "date", c_type + NUMF, width 2, fill '0' + LS_COMP, comp "date", c_type + IF_S continue else goto L4 + CHAR ' ' + GOTO L5 +L4: CHAR '*' +L5: MYMBOX, c_name "from", c_type + LV_COMPFLAG, comp "from", c_type + IF_V_NE 0 continue else goto L6 + LS_COMP, comp "to", c_type + IF_S continue else goto L6 + LIT "To:" + PARSEADDR, c_name "to", c_type + LS_FRIENDLY, c_name "to", c_type + LS_DECODE + LS_UNQUOTE + STRF, width 14, fill ' ' +L6: IF_V_EQ 0 continue else goto L7 + PARSEADDR, c_name "from", c_type + LS_FRIENDLY, c_name "from", c_type + LS_DECODE + LS_UNQUOTE + STRF, width 17, fill ' ' +L7: LIT " " + LS_COMP, comp "subject" + LS_DECODE + STR + LS_COMP, comp "body" + IF_S continue else goto L8 + LIT "<<" + COMP, comp "body" + LIT ">>" +L8: CHAR '\n' + DONE +EOF + run_prog $fmtdump -form "$MH_INST_DIR${nmhetcdir}/scan.default" >$actual 2>&1 check $expected $actual