>/dev/null; then
can_reformat_texthtml=1
else
- echo "$0: skipping -reformat check because
+ echo "$0: skipping -reformat check because \
mhfixmsg-format-text/html is not available"
can_reformat_texthtml=0
fi
-nodecodetext
-[no]textcodeset
-[no]reformat
+ -[no]replacetextplain
-[no]fixboundary
-[no]fixcte
-file file
mhfixmsg last -outfile - -verbose 2>"$actual.err" | uniq >"$actual"
check "$expected" "$actual"
check "$expected.err" "$actual.err"
+else
+ rm -f "$expected"
fi
mhfixmsg last -outfile - -verbose 2>"$actual.err" | uniq >"$actual"
check "$expected" "$actual"
check "$expected.err" "$actual.err"
+else
+ rm -f "$expected"
fi
mhfixmsg last -nodecode -outfile - -verbose 2>"$actual.err" | uniq >"$actual"
check "$expected" "$actual"
check "$expected.err" "$actual.err"
+else
+ rm -f "$expected"
fi
EOF
if [ $can_reformat_texthtml -eq 1 ]; then
+ #### lynx inserts multiple blank lines, so use uniq to squeeze them.
#### Truncate to avoid comparing the html portion because it can
#### get reformatted.
- #### lynx inserts multiple blank lines, so use uniq to squeeze them.
- mhfixmsg last -outfile - | head -22 | uniq >"$actual"
+ mhfixmsg last -outfile - | uniq | head -22 >"$actual"
check "$expected" "$actual" 'ignore space'
else
cp -p "$MH_TEST_DIR/Mail/inbox/15" "$MH_TEST_DIR/Mail/inbox/15.backup"
mhfixmsg last -textcodeset utf-8 -outfile "$actual" 2>"$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
+ echo "$0: skipping -textcodeset check because nmh was built without iconv"
rm -f "$expected" "$actual" "$actual.err"
else
check "$expected" "$actual"
check "$expected" "$actual"
+# check -replacetextplain
+cat >"$expected" <<EOF
+To: recipient@example.com
+From: sender@example.com
+Subject: mhfixmsg replacement of bad text/plain part test
+MIME-Version: 1.0
+Content-Type: multipart/alternative; boundary="----=_Part_876302"
+
+------=_Part_876302
+Content-Type: text/plain; charset="UTF-8"
+Content-Transfer-Encoding: 8bit
+
+Yes, the text/plain part really was empty.
+
+------=_Part_876302
+Content-Type: text/html; charset="UTF-8"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<html><head>
+<title>eticket</title>
+</head>
+<body>
+ Yes, the text/plain part really was empty.
+</body>
+</html>
+
+------=_Part_876302--
+EOF
+
+cat >`mhpath new` <<'EOF'
+To: recipient@example.com
+From: sender@example.com
+Subject: mhfixmsg replacement of bad text/plain part test
+MIME-Version: 1.0
+Content-Type: multipart/alternative; boundary="----=_Part_876302"
+
+------=_Part_876302
+Content-Type: text/plain; charset="iso-8859-15"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+
+
+------=_Part_876302
+Content-Type: text/html; charset="UTF-8"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<html><head>
+<title>eticket</title>
+</head>
+<body>
+ Yes, the text/plain part really was empty.
+</body>
+</html>
+
+------=_Part_876302--
+EOF
+
+if [ $can_reformat_texthtml -eq 1 ]; then
+ #### lynx inserts multiple blank lines, so use uniq to squeeze them.
+ mhfixmsg last -replacetextplain -outfile - | uniq > "$actual"
+ check "$expected" "$actual"
+else
+ rm -f "$expected"
+fi
+
+
+# check -noreplacetextplain
+cat >"$expected" <<EOF
+To: recipient@example.com
+From: sender@example.com
+Subject: mhfixmsg replacement of bad text/plain part test
+MIME-Version: 1.0
+Content-Type: multipart/alternative; boundary="----=_Part_876302"
+
+------=_Part_876302
+Content-Type: text/plain; charset="iso-8859-15"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+
+
+------=_Part_876302
+Content-Type: text/html; charset="UTF-8"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<html><head>
+<title>eticket</title>
+</head>
+<body>
+ Yes, the text/plain part really was empty.
+</body>
+</html>
+
+------=_Part_876302--
+EOF
+
+mhfixmsg last -replacetextplain -noreplacetextplain -outfile "$actual"
+check "$expected" "$actual"
+
+
# check rmmproc
cat >"$MH_TEST_DIR/Mail/rmmproc" <<'EOF'
mv "$1" "$1.backup"