X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/78f92ad1e59e5953d07b48aa6fbb7eadce149bd9..f139ce94a95fd895d8b4b74826660ab076ed5129:/test/mhfixmsg/test-mhfixmsg
diff --git a/test/mhfixmsg/test-mhfixmsg b/test/mhfixmsg/test-mhfixmsg
index 95f6fa15..a95ef3f2 100755
--- a/test/mhfixmsg/test-mhfixmsg
+++ b/test/mhfixmsg/test-mhfixmsg
@@ -16,9 +16,10 @@ fi
setup_test
+check_exit '-eq 1' mhfixmsg - # gcov
+
#### 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"
@@ -70,7 +71,8 @@ Usage: mhfixmsg [+folder] [msgs] [switches]
-help
EOF
-run_prog mhfixmsg -help >"$actual" 2>&1
+#### Skip nmh intro text.
+run_prog mhfixmsg -help | sed '/^$/,$d' >"$actual" 2>&1
check "$expected" "$actual"
@@ -211,13 +213,13 @@ Content-Type: multipart/alternative; boundary="----=_nmh-multipart"
------=_nmh-multipart
Content-Type: text/plain; charset="Windows-1252"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
Need to go! Need ... to ... go!
------=_nmh-multipart
Content-Type: text/html; charset="Windows-1252"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
@@ -290,7 +292,7 @@ Content-Type: multipart/alternative; boundary="----=_nmh-multipart-3"
------=_nmh-multipart-3
Content-Type: text/plain; charset="Windows-1252"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
------=_nmh-multipart
------=_nmh-multipart-1
@@ -298,7 +300,7 @@ Content-Transfer-Encoding: 8bit
------=_nmh-multipart-3
Content-Type: text/html; charset="Windows-1252"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
@@ -368,7 +370,7 @@ Content-Type: multipart/alternative; boundary="----=_nmh-multipart"
------=_nmh-multipart
Content-Type: text/plain; charset="Windows-1252"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
Need to go! Need ... to ... go!
@@ -442,7 +444,7 @@ Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="iso-8859-1"; name="test4.txt"
Content-Disposition: attachment; filename="test4.txt"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is a text/plain part.
@@ -499,7 +501,7 @@ This is additional content after the last subpart of the multipart.
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: attachment; filename="test2.txt"
Content-MD5: kq+Hnc2SD/eKwAnkFBDuEA==
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is the second text/plain part.
@@ -512,7 +514,7 @@ This is the third text/plain part.
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="iso-8859-1"; name="test4.txt"
Content-Disposition: attachment; filename="test4.txt"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is the fourth text/plain part.
@@ -575,7 +577,7 @@ check "$expected" "$actual"
# check attempted (default, 8 bit) -decodetext of binary text
#### Generated the encoded text below with:
-#### $ printf '\xbd\xb2=\xbc\x00\n' | base64
+#### $ printf '\275\262=\274\000\n' | base64
start_test "attempted (default, 8 bit) -decodetext of binary text"
cat >`mhpath new` <`mhpath new` <"$expected" <
@@ -1104,7 +1110,7 @@ Date: Fri, 29 Sep 2006 00:00:00
Message-Id: @test.nmh
Subject: message with message/rfc822 attachment
MIME-Version: 1.0
-Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaa0"
+Content-Type: multipart/mixed; boundary="----- =badboundary"
and some garbage before the attachment
@@ -1197,13 +1203,12 @@ Content-Type: multipart/alternative; boundary="----=_Part_876302"
------=_Part_876302
Content-Type: text/plain; charset="UTF-8"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
Yes, the text/plain part really was empty.
------=_Part_876302
Content-Type: text/html; charset="UTF-8"
-Content-Transfer-Encoding: 8bit
Content-Disposition: inline
@@ -1233,7 +1238,6 @@ Content-Disposition: inline
------=_Part_876302
Content-Type: text/html; charset="UTF-8"
-Content-Transfer-Encoding: 8bit
Content-Disposition: inline
@@ -1275,7 +1279,6 @@ Content-Disposition: inline
------=_Part_876302
Content-Type: text/html; charset="UTF-8"
-Content-Transfer-Encoding: 8bit
Content-Disposition: inline
@@ -1427,14 +1430,14 @@ Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: attachment; filename="test1.txt"
Content-MD5: kq+Hnc2SD/eKwAnkFBDuEA==
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is the text/plain part.
------- =_aaaaaaaaaa0
Content-Type: text/html; charset="iso-8859-1"; name="test2.txt"
Content-Disposition: attachment; filename="test2.txt"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
@@ -1488,7 +1491,7 @@ Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: attachment; filename="test1.txt"
Content-MD5: kq+Hnc2SD/eKwAnkFBDuEA==
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is the text/plain part.
@@ -1545,14 +1548,14 @@ Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: attachment; filename="test1.txt"
Content-MD5: kq+Hnc2SD/eKwAnkFBDuEA==
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is the text/plain part.
------- =_aaaaaaaaaa0
Content-Type: application/ics; charset="iso-8859-1"; name="invite.ics"
Content-Disposition: attachment; filename="invite.ics"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
BEGIN:VCALENDAR
VERSION:2.0
@@ -1613,14 +1616,14 @@ Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: attachment; filename="test1.txt"
Content-MD5: kq+Hnc2SD/eKwAnkFBDuEA==
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
This is the text/plain part.
------- =_aaaaaaaaaa0
Content-Type: application/ics; charset="iso-8859-1"; name="invite.ics"
Content-Disposition: attachment; filename="invite.ics"
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
BEGIN:VCALENDAR
VERSION:2.0
@@ -1714,6 +1717,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"