]> diplodocus.org Git - nmh/blobdiff - test/mhfixmsg/test-mhfixmsg
Fix up warnings reported by LLVM.
[nmh] / test / mhfixmsg / test-mhfixmsg
index 497fd87a34a6bf43517ac13f24243921b69f1f6e..9c2df415bd76eaca867c84524db8351283990761 100755 (executable)
@@ -25,7 +25,7 @@ if grep mhfixmsg-format-text/html "${MH_TEST_DIR}/Mail/mhn.defaults" \
   >/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
@@ -41,6 +41,7 @@ Usage: mhfixmsg [+folder] [msgs] [switches]
   -nodecodetext
   -[no]textcodeset
   -[no]reformat
+  -[no]replacetextplain
   -[no]fixboundary
   -[no]fixcte
   -file file
@@ -243,9 +244,15 @@ mhfixmsg: 12 part 1, decode text/html; charset=\"Windows-1252\"" \
   mhfixmsg last -outfile - -verbose 2>"$actual.err" | uniq >"$actual"
   check "$expected" "$actual"
   check "$expected.err" "$actual.err"
+else
+  rm -f "$expected"
 fi
 
 
+# check implicit -file with absolute pathname
+run_test "mhfixmsg `mhpath last` -outfile /dev/null" ''
+
+
 # check handling of boundary string that appears in message body
 #
 cat >"$expected" <<EOF
@@ -318,6 +325,8 @@ mhfixmsg: 12 part 1, decode text/html; charset=\"Windows-1252\"" \
   mhfixmsg last -outfile - -verbose 2>"$actual.err" | uniq >"$actual"
   check "$expected" "$actual"
   check "$expected.err" "$actual.err"
+else
+  rm -f "$expected"
 fi
 
 
@@ -388,6 +397,8 @@ if [ $can_reformat_texthtml -eq 1 ]; then
   mhfixmsg last -nodecode -outfile - -verbose 2>"$actual.err" | uniq >"$actual"
   check "$expected" "$actual"
   check "$expected.err" "$actual.err"
+else
+  rm -f "$expected"
 fi
 
 
@@ -606,30 +617,6 @@ Content-Type: text/html; charset="ISO-8859-1"
 Content-Transfer-Encoding: quoted-printable
 
 <body>
-<table width=3D"325" border=3D"0" cellspacing=3D"0" cellpadding=3D"0">
-<tr><td><font face=3D"Arial, Helvetica, sans-serif" color=3D"#333333" size=
-=3D"2"><strong>Mile</strong></font></td><td height=3D"3">&nbsp;</td><td al=
-ign=3D"right"><font face=3D"Arial, Helvetica, sans-serif" color=3D"#333333=
-" size=3D"2">$0.00</font></td></tr><tr><td><font face=3D"Arial, Helvetica,=
- sans-serif" color=3D"#333333" size=3D"2"><strong>Time</strong></font></td=
-><td height=3D"3">&nbsp;</td><td align=3D"right"><font face=3D"Arial, Helv=
-etica, sans-serif" color=3D"#333333" size=3D"2">$78.71</font></td></tr><tr=
-><td><font face=3D"Arial, Helvetica, sans-serif" color=3D"#333333" size=3D=
-"2"><strong>State Tax</strong></font></td><td height=3D"3">&nbsp;</td><td =
-align=3D"right"><font face=3D"Arial, Helvetica, sans-serif" color=3D"#3333=
-33" size=3D"2">$5.90</font></td></tr><tr><td><font face=3D"Arial, Helvetic=
-a, sans-serif" color=3D"#333333" size=3D"2"><strong>Vehicle License Fee</s=
-trong></font></td><td height=3D"3">&nbsp;</td><td align=3D"right"><font fa=
-ce=3D"Arial, Helvetica, sans-serif" color=3D"#333333" size=3D"2">$1.84</fo=
-nt></td></tr><tr><td><font face=3D"Arial, Helvetica, sans-serif" color=3D"=
-#333333" size=3D"2"><strong>State Txn Tax</strong></font></td><td height=3D=
-"3">&nbsp;</td><td align=3D"right"><font face=3D"Arial, Helvetica, sans-se=
-rif" color=3D"#333333" size=3D"2">$6.00</font></td></tr>
-
-</body>
-</html>
-
-------=_nmh-multipart--
 EOF
 
 cat >`mhpath new` <<'EOF'
@@ -668,9 +655,10 @@ 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'
-  /bin/rm "$expected" "$actual"
+  #### Truncate to avoid comparing the html portion because it can
+  #### get reformatted.
+  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"
   rm -f "$expected"
@@ -720,7 +708,7 @@ set +e
 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"
@@ -966,6 +954,110 @@ mhfixmsg last -outfile "$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"