X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0d3875d020fb17d34918f5e81ee7f87fbc5d1565..532fff590b4cfbfbd0633d6b58ca1ab0fec2777d:/test/mhbuild/test-utf8-body diff --git a/test/mhbuild/test-utf8-body b/test/mhbuild/test-utf8-body index 377d6237..1c57f4bb 100755 --- a/test/mhbuild/test-utf8-body +++ b/test/mhbuild/test-utf8-body @@ -19,8 +19,7 @@ testname="${MH_TEST_DIR}/$$" expected="$MH_TEST_DIR/$$.expected" actual="$MH_TEST_DIR/$$.actual" -require_locale 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 #### Rely on sendmail/pipe below to override default mts. mts_fakesendmail="${MHMTSCONF}-fakesendmail" @@ -36,12 +35,13 @@ test_attachment () # fakesendmail drops the message and any cc's into this mbox. mbox="${MH_TEST_DIR}"/Mail/fakesendmail.mbox inc -silent -file "$mbox" - rm -f "$mbox" "$mbox.map" + rm -f "$mbox" # # It's hard to calculate the exact Date: header post is going to # use, so we'll just use sed to remove the actual date so we can easily - # compare it against our "correct" output. And same for charset. + # compare it against our "correct" output. And same for charset, + # because mime_type() can rely on file(1) --mime-encoding. # sed -e 's/^Date:.*/Date:/' -e 's/; charset="[^;]*//' \ "`mhpath cur`" > "${testname}.actual" @@ -49,7 +49,9 @@ test_attachment () check "${testname}.actual" "$1" } + # check that 7-bit body isn't encoded +start_test "7-bit body isn't encoded" cat > "${MH_TEST_DIR}/attachment.txt" < "${MH_TEST_DIR}/Mail/draft" < To: Somebody Subject: Test -Attach: $MH_TEST_DIR/attachment.txt +Nmh-Attach: $MH_TEST_DIR/attachment.txt This is a test. EOF @@ -88,14 +90,15 @@ EOF test_attachment "${testname}.expected" + # check that 8-bit body is encoded as quoted-printable text/plain, # even with an attachment - +start_test '8-bit body is encoded as quoted-printable text/plain' cat > "${MH_TEST_DIR}/Mail/draft" < To: Somebody Subject: Test -Attach: $MH_TEST_DIR/attachment.txt +Nmh-Attach: $MH_TEST_DIR/attachment.txt ¡Ay, caramba! EOF @@ -127,14 +130,46 @@ EOF test_attachment "${testname}.expected" -# Repeat the previous test, but make sure that the locale is set to C, which -# should cause mhbuild to fail + +# check that 8-bit attachment gets C-T-E +start_test '8-bit attachment gets C-T-E' +rm -f "${MH_TEST_DIR}/attachment.txt" +cat > "${MH_TEST_DIR}/attachment.txt" < "${MH_TEST_DIR}/Mail/draft" < To: Somebody Subject: Test -Attach: $MH_TEST_DIR/attachment.txt +Nmh-Attach: $MH_TEST_DIR/attachment.txt +EOF + +cat > "${testname}.expected" < +To: Somebody +Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; name="attachment.txt" +Content-Description: attachment.txt +Content-Disposition: attachment; filename="attachment.txt" +Content-Transfer-Encoding: 8bit +Date: + +8-bit attachment, ¡Ay, caramba! +EOF + +test_attachment "${testname}.expected" + + +# check 8-bit body but make sure that the locale is set to C, which +# should cause mhbuild to fail +start_test '8-bit body with C locale' +cat > "${MH_TEST_DIR}/Mail/draft" < +To: Somebody +Subject: Test +Nmh-Attach: $MH_TEST_DIR/attachment.txt ¡Ay, caramba! EOF @@ -152,8 +187,44 @@ EOF check "$expected" "$actual" + +# previous test, but with locale profile entry +start_test '8-bit body with C locale with locale profile entry' + +printf 'locale: en_US.UTF-8\n' >> "${MH}" + +cat > "${testname}.expected" < +To: Somebody +Subject: Test +MIME-Version: 1.0 +Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" +Content-Transfer-Encoding: 8bit +Date: + +------- =_aaaaaaaaaa0 +Content-Type: text/plain +Content-Transfer-Encoding: 8bit + +¡Ay, caramba! + +------- =_aaaaaaaaaa0 +Content-Type: text/plain; name="attachment.txt" +Content-Description: attachment.txt +Content-Disposition: attachment; filename="attachment.txt" +Content-Transfer-Encoding: 8bit + +8-bit attachment, ¡Ay, caramba! + +------- =_aaaaaaaaaa0-- +EOF + +test_attachment "${testname}.expected" + + rm -f ${MHMTSCONF} "${MH_TEST_DIR}/attachment.txt" +finish_test exit ${failed:-0} # emacs hackage to ensure that it writes the inverted exclamation