X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1903d5af62f05f3b6f69a4950734154a1a698dc8..9f8418e870a70c264eda1598f2d470e5428c216d:/test/mhfixmsg/test-mhfixmsg?ds=inline diff --git a/test/mhfixmsg/test-mhfixmsg b/test/mhfixmsg/test-mhfixmsg index efe7de7e..8d7a3a85 100755 --- a/test/mhfixmsg/test-mhfixmsg +++ b/test/mhfixmsg/test-mhfixmsg @@ -17,8 +17,7 @@ fi setup_test #### Make sure that html-to-text conversion is what we expect. -require_locale en_US.utf-8 en_US.utf8 -LC_ALL=en_US.UTF-8; export LC_ALL +require_locale en_US.UTF-8 en_US.UTF8 en_US.utf-8 en_US.utf8 expected="$MH_TEST_DIR/test-mhfixmsg$$.expected" expected_err="$MH_TEST_DIR/test-mhfixmsg$$.expected_err" @@ -46,6 +45,7 @@ fi # check -help +start_test "-help" cat >"$expected" <"$actual" 2>&1 +#### Skip nmh intro text. +run_prog mhfixmsg -help | sed '/^$/,$d' >"$actual" 2>&1 check "$expected" "$actual" # check -version +start_test "-version" case `mhfixmsg -version` in mhfixmsg\ --*) ;; *) printf '%s: mhfixmsg -version generated unexpected output\n' "$0" >&2 @@ -83,12 +85,14 @@ esac # check that non-MIME messages aren't modified # check -outfile +start_test "that non-MIME messages aren't modified, and -outfile" run_test 'mhfixmsg first -outfile '"$actual" '' check "`mhpath first`" "$actual" 'keep first' # check that non-MIME messages with no bodies aren't modified # check -outfile +start_test "that non-MIME messages with no bodies aren't modified, and -outfile" cat >`mhpath new` < To: Some User @@ -102,6 +106,7 @@ check "`mhpath last`" "$actual" # check -nofixcte +start_test "-nofixcte" cat >"$MH_TEST_DIR"/Mail/inbox/11 <"$expected" </dev/null run_test 'mhfixmsg' '' @@ -183,6 +190,7 @@ check "$MH_TEST_DIR"/Mail/inbox/,11 "$MH_TEST_DIR"/Mail/inbox/11.original # check backup with -file +start_test "backup with -file" cp "$MH_TEST_DIR"/Mail/inbox/11 "$MH_TEST_DIR"/Mail/inbox/11.original folder last >/dev/null run_test 'mhfixmsg -file '"$MH_TEST_DIR"/Mail/inbox/11 '' @@ -192,7 +200,7 @@ check "$MH_TEST_DIR"/Mail/inbox/,11 "$MH_TEST_DIR"/Mail/inbox/11.original # check -reformat (enabled by default): addition of text/plain part # to solitary text/html part -# +start_test "-reformat (enabled by default): addition of text/plain part" prepare_space >"$expected" < @@ -266,11 +274,12 @@ fi # check implicit -file with absolute pathname +start_test "implicit -file with absolute pathname" run_test "mhfixmsg `mhpath last` -outfile /dev/null" '' # check handling of boundary string that appears in message body -# +start_test "handling of boundary string that appears in message body" prepare_space >"$expected" < @@ -348,6 +357,7 @@ fi # check -nodecode +start_test "-nodecode" prepare_space >"$expected" <"$expected" <$expected <`mhpath new` <998 characters) text +start_test "for successful decode of a different part with attempted -decodetext" cat >$expected <998 characters) text +start_test "for successful decode of a different part with -decodetext of binary" cat >$expected <"$expected" <<'EOF' MIME-Version: 1.0 Date: Thu, 11 Apr 2013 02:47:08 -0700 @@ -732,7 +751,7 @@ Content-Type: multipart/alternative; boundary="----=_nmh-multipart" ------=_nmh-multipart Content-Type: text/plain; charset="ISO-8859-1" -Content-Transfer-Encoding: 8bit +Content-Transfer-Encoding: 7bit Mile $0.00 Time $78.71 @@ -796,12 +815,14 @@ fi # check -textcharset # Also checks preservation of attributes after one (charset) that is # modified. +start_test "-textcharset" cat >"$expected" <`mhpath new` <"$expected" <"$actual" 2>"$actual.err" check "$expected" "$actual" if grep "mhfixmsg: $MH_TEST_DIR/Mail/.*, fix multipart boundary" \ @@ -886,6 +909,7 @@ fi # check fixup of erroneous boundary in multipart (-fixboundary, # enabled by default) # check -verbose +start_test "fixup of erroneous boundary in multipart (-fixboundary, enabled by default)" cat >"$expected" <`mhpath new` <`mhpath new` <"$expected" <"$expected" < To: Some User @@ -1106,6 +1134,7 @@ check "$expected" "$actual" # check not stripping of CRs from ASCII text context (default) +start_test "not stripping of CRs from ASCII text context (default)" cat >"$expected" <"$expected" <"$expected" < @@ -1205,7 +1235,6 @@ Content-Disposition: inline ------=_Part_876302 Content-Type: text/html; charset="UTF-8" -Content-Transfer-Encoding: 8bit Content-Disposition: inline @@ -1230,6 +1259,7 @@ fi # check -noreplacetextplain +start_test "-noreplacetextplain" cat >"$expected" < @@ -1265,6 +1294,7 @@ check "$expected" "$actual" # check removal of extraneous trailing semicolon from header parameter list +start_test "removal of extraneous trailing semicolon from header parameter list" cat >"$expected" <"$MH_TEST_DIR/Mail/rmmproc" <<'EOF' mv "$1" "$1.backup" EOF @@ -1330,6 +1361,7 @@ check "${MH_TEST_DIR}/Mail/inbox/16.backup" \ # check -normmproc +start_test "-normmproc" cp "${MH_TEST_DIR}/Mail/inbox/21" "${MH_TEST_DIR}/Mail/inbox/22" run_test 'mhfixmsg 21 -normmproc' @@ -1338,6 +1370,7 @@ check "${MH_TEST_DIR}/Mail/inbox/22" \ # check -rmmproc +start_test "-rmmproc" run_test 'mhfixmsg 21 -rmmproc true' if test -f '${MH_TEST_DIR}/Mail/inbox/22.backup'; then echo check of mhfixmsg -rmmproc FAILED, should not have created backup file @@ -1346,6 +1379,7 @@ fi # check -fixtype +start_test "-fixtype" cat >"$expected" <$expected < @@ -1441,6 +1476,7 @@ check "$expected" "$actual" # check -decodetypes text/plain +start_test "-decodetypes text/plain" cat >$expected <$expected <$expected <"$expected.err" <"$actual" 2>/dev/null set -e @@ -1674,6 +1714,60 @@ set -e check `mhpath last` "$actual" +start_test "fix RFC 2047 encoded header parameters" +#### Also, add C-T-E:8bit to the message headers. +cat >"$expected" <`mhpath new` <"$actual" 2>/dev/null +check "$expected" "$actual" + + # make sure there are no tmp files left over find "$MH_TEST_DIR/Mail" \( -name 'mhfix*' -o -name ',mhfix*' \) -print \ >"$actual" @@ -1682,5 +1776,5 @@ EOF check "$expected" "$actual" - +finish_test exit $failed