X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6fc2909634fb431c65ecfa8b6db4f6519f99b389..0b45ebe59218793491ac1091a49fb00c2e1a331f:/test/mhfixmsg/test-mhfixmsg diff --git a/test/mhfixmsg/test-mhfixmsg b/test/mhfixmsg/test-mhfixmsg index 9e29fa00..ec384f6d 100755 --- a/test/mhfixmsg/test-mhfixmsg +++ b/test/mhfixmsg/test-mhfixmsg @@ -16,9 +16,10 @@ fi setup_test +check_exit '-eq 1' mhfixmsg - + #### 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" @@ -86,15 +87,15 @@ esac # check that non-MIME messages aren't modified # check -outfile -start_test "that non-MIME messages aren't modified, and -outfile" +start_test "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` <"`mhpath new`" < To: Some User Date: Fri, 29 Sep 2006 00:00:00 @@ -108,7 +109,7 @@ check "`mhpath last`" "$actual" # check -nofixcte start_test "-nofixcte" -cat >"$MH_TEST_DIR"/Mail/inbox/11 <"`mhpath new`" <"$MH_TEST_DIR"/Mail/inbox/12 <"`mhpath new`" <"$MH_TEST_DIR"/Mail/inbox/12 <"`mhpath last`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <"$expected" <<'EOF' MIME-Version: 1.0 Date: Thu, 11 Apr 2013 02:47:08 -0700 @@ -767,7 +768,7 @@ Content-Transfer-Encoding: quoted-printable EOF -cat >`mhpath new` <<'EOF' +cat >"`mhpath new`" <<'EOF' MIME-Version: 1.0 Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable @@ -837,7 +838,7 @@ EOF #### Generated the encoded text below with: #### $ printf '\275\262=\274\n' | base64 -cat >`mhpath new` <"`mhpath new`" <"$expected" <`mhpath new` <"`mhpath new`" <"$actual" 2>"$actual.err" check "$expected" "$actual" if grep "mhfixmsg: $MH_TEST_DIR/Mail/.*, fix multipart boundary" \ @@ -937,8 +938,8 @@ check "$expected" "$actual" # check that message is not modified when -fixboundary fails -start_test "that message is not modified when -fixboundary fails" -cat >`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <"$expected" <`mhpath new` <"`mhpath new`" <"$expected" < @@ -1101,14 +1103,14 @@ This is an RFC-822 message. and some garbage at the end EOF -cat >`mhpath new` <"`mhpath new`" < To: Some User 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 @@ -1147,7 +1149,7 @@ There are two CR-LF pairs at the end of this sentence. EOF -cat >`mhpath new` <<'EOF' +cat >"`mhpath new`" <<'EOF' MIME-Version: 1.0 From: sender@example.com To: recipient@example.com @@ -1175,7 +1177,7 @@ There were two CR-LF pairs at the end of this sentence. EOF -cat >`mhpath new` <<'EOF' +cat >"`mhpath new`" <<'EOF' MIME-Version: 1.0 From: sender@example.com To: recipient@example.com @@ -1220,7 +1222,7 @@ Content-Disposition: inline ------=_Part_876302-- EOF -cat >`mhpath new` <<'EOF' +cat >"`mhpath new`" <<'EOF' To: recipient@example.com From: sender@example.com Subject: mhfixmsg replacement of bad text/plain part test @@ -1320,7 +1322,7 @@ Content-Disposition: attachment; ------- =_aaaaaaaaaa0-- EOF -cat >`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <`mhpath new` <"`mhpath new`" <"$expected.err" <`mhpath new` <"`mhpath new`" <"$actual.err" set -e #### Expected output is identical to the input message. -check `mhpath last` "$actual" 'keep first' +check "`mhpath last`" "$actual" 'keep first' check "$expected.err" "$actual.err" @@ -1707,15 +1709,27 @@ check "$expected.err" "$actual.err" # (the charset string is missing its closing quote) with -outfile, and # input from stdin. Don't check err output, because it contains the name # of a tmp file. It's similar to that of the previous check. -start_test "that input is passed through to output when there's a parse error" +start_test "input is passed through to output when there's a parse error" set +e run_prog mhfixmsg -file - -outfile - <`mhpath last` >"$actual" 2>/dev/null set -e #### Expected output is identical to the input message. -check `mhpath last` "$actual" +check "`mhpath last`" "$actual" 'keep first' + + +start_test "pass through message with relative folder path with parse error" +#### Factor out leading portion of current folder path and make it relative. +pwd=`pwd` +set +e +run_prog mhfixmsg +./`mhpath | sed "s%^$pwd/%%"` last -out - >"$actual" 2>/dev/null +set -e +folder -f +inbox >/dev/null +#### Expected output is identical to the input message. +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` <"`mhpath new`" <