X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/63764e68d4fce20854dc2ba18a7244cb6a6769ca..05d340f4adbf3534470550c5fd917b2331d3951e:/test/mhfixmsg/test-mhfixmsg diff --git a/test/mhfixmsg/test-mhfixmsg b/test/mhfixmsg/test-mhfixmsg index 14b9a58a..3bffa9a8 100755 --- a/test/mhfixmsg/test-mhfixmsg +++ b/test/mhfixmsg/test-mhfixmsg @@ -45,6 +45,8 @@ Usage: mhfixmsg [+folder] [msgs] [switches] -[no]fixcte -file file -outfile file + -rmmproc program + -normmproc -[no]verbose -version -help @@ -407,8 +409,7 @@ This is a text/plain part. ------- =_aaaaaaaaaa0-- EOF -msgfile=`mhpath new` -cat >$msgfile <`mhpath new` <$msgfile <`mhpath new` <$msgfile <`mhpath new` <"$expected" <<'EOF' +MIME-Version: 1.0 +Date: Thu, 11 Apr 2013 02:47:08 -0700 +To: +From: +Subject: body requires binary encoding +Content-Type: multipart/alternative; boundary="----=_nmh-multipart" + +------=_nmh-multipart +Content-Type: text/plain; charset="ISO-8859-1" +Content-Transfer-Encoding: 8bit + +Mile $0.00 +Time $78.71 +State Tax $5.90 +Vehicle License Fee $1.84 +State Txn Tax $6.00 + +------=_nmh-multipart +Content-Type: text/html; charset="ISO-8859-1" +Content-Transfer-Encoding: quoted-printable + + + + + + + + +------=_nmh-multipart-- +EOF + +cat >`mhpath new` <<'EOF' +MIME-Version: 1.0 +Content-Type: text/html; charset="ISO-8859-1" +Content-Transfer-Encoding: quoted-printable +Date: Thu, 11 Apr 2013 02:47:08 -0700 +To: +From: +Subject: body requires binary encoding + + +
Mile $0.00
Time $78.71
State Tax $5.90
Vehicle License Fee $1.84
State Txn Tax $6.00
+  + + + +EOF + +if [ $can_reformat_texthtml -eq 1 ]; then + #### lynx inserts multiple blank lines, so use uniq to squeeze them. + mhfixmsg last -outfile - | uniq >"$actual" + check "$expected" "$actual" 'ignore space' +else + cp -p "$MH_TEST_DIR/Mail/inbox/15" "$MH_TEST_DIR/Mail/inbox/15.backup" + rm -f "$expected" +fi + + # check -textcodeset # Also checks preservation of attributes after one (charset) that is # modified. @@ -603,8 +698,7 @@ EOF #### Generated the encoded text below with: #### $ printf '\xbd\xb2=\xbc\n' | base64 -msgfile=`mhpath new` -cat >$msgfile <`mhpath new` <"$actual.err" if grep "mhfixmsg: Can't convert .* to .* without iconv" "$actual.err" \ >/dev/null; then echo skipping -textcodeset check because nmh was built without iconv - set +e rm -f "$expected" "$actual" "$actual.err" else - set +e check "$expected" "$actual" rm "$actual.err" fi +set -e # check -nofixboundary @@ -662,7 +755,7 @@ EOF cp -p `mhpath last` `mhpath new` run_test 'mhfixmsg last -nofixboundary' '' -check "$MH_TEST_DIR"/Mail/inbox/16 "$MH_TEST_DIR"/Mail/inbox/17 'keep first' +check "$MH_TEST_DIR"/Mail/inbox/17 "$MH_TEST_DIR"/Mail/inbox/18 'keep first' # check that message is not output when fed through stdin @@ -701,7 +794,7 @@ The boundaries of this part don't match the header boundary. EOF run_test 'mhfixmsg last -outfile '"$actual"' -verbose' \ - "mhfixmsg: 16, fix multipart boundary" + "mhfixmsg: 17, fix multipart boundary" check "$expected" "$actual" @@ -781,6 +874,7 @@ else rm -f "$expected" fi + # check handling of rfc822 message type cat >"$expected" < @@ -844,17 +938,60 @@ run_test 'mhfixmsg last -outfile '"$actual" '' check "$expected" "$actual" +# check stripping of CRs from ASCII text context +cat >"$expected" <`mhpath new` <<'EOF' +MIME-Version: 1.0 +From: sender@example.com +To: recipient@example.com +Subject: message with CR's +Date: Mon, 29 Apr 2013 11:51:45 -0400 + +There are two CR-LF pairs at the end of this sentence. + +EOF + +mhfixmsg last -outfile "$actual" +check "$expected" "$actual" + + # check rmmproc cat >"$MH_TEST_DIR/Mail/rmmproc" <<'EOF' mv "$1" "$1.backup" EOF chmod a+x "${MH_TEST_DIR}/Mail/rmmproc" echo "rmmproc: ${MH_TEST_DIR}/Mail/rmmproc" >>"$MH" -cp "${MH_TEST_DIR}/Mail/inbox/14" "${MH_TEST_DIR}/Mail/inbox/14.original" +cp "${MH_TEST_DIR}/Mail/inbox/15" "${MH_TEST_DIR}/Mail/inbox/15.original" + +run_test 'mhfixmsg 15' '' +check "${MH_TEST_DIR}/Mail/inbox/15.backup" \ + "${MH_TEST_DIR}/Mail/inbox/15.original" + + +# check -normmproc +cp "${MH_TEST_DIR}/Mail/inbox/19" "${MH_TEST_DIR}/Mail/inbox/20" -run_test 'mhfixmsg 14' '' -check "${MH_TEST_DIR}/Mail/inbox/14.backup" \ - "${MH_TEST_DIR}/Mail/inbox/14.original" +run_test 'mhfixmsg 19 -normmproc' +check "${MH_TEST_DIR}/Mail/inbox/20" \ + "${MH_TEST_DIR}/Mail/inbox/,19" 'keep first' + + +# check -rmmproc +run_test 'mhfixmsg 20 -rmmproc true' +if test -f '${MH_TEST_DIR}/Mail/inbox/20.backup'; then + echo check of mhfixmsg -rmmproc FAILED, should not have created backup file + failed=`expr ${failed:-0} + 1` +fi # make sure there are no tmp files left over
Mile $0.00
Time$78.71
<= +font face=3D"Arial, Helvetica, sans-serif" color=3D"#333333" size=3D"2">State Tax $5.90
Vehicle License Fee $1.84
State Txn Tax $6.00