X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/d8c7d4f2c785d35cebd5ea64213a335561a57f7d..30dd408d502b42e46d59cfc89af5f7aa07f8c1ff:/test/mhbuild/test-utf8-body?ds=sidebyside diff --git a/test/mhbuild/test-utf8-body b/test/mhbuild/test-utf8-body index 42ea3e0f..1a08a907 100755 --- a/test/mhbuild/test-utf8-body +++ b/test/mhbuild/test-utf8-body @@ -16,34 +16,35 @@ fi setup_test testname="${MH_TEST_DIR}/$$" +expected="$MH_TEST_DIR/$$.expected" +actual="$MH_TEST_DIR/$$.actual" +require_locale en_US.utf-8 en_US.utf8 +LC_ALL=en_US.UTF-8; export LC_ALL #### Rely on sendmail/pipe below to override default mts. mts_fakesendmail="${MHMTSCONF}-fakesendmail" cp "${MHMTSCONF}" "$mts_fakesendmail" -printf "%s\n" "sendmail: ${srcdir}/test/fakesendmail" >>"$mts_fakesendmail" +printf 'sendmail: %s/test/fakesendmail\n' "$srcdir" >>"$mts_fakesendmail" MHMTSCONF="$mts_fakesendmail" # argument: expected output test_attachment () { - send -draft -mts sendmail/pipe + run_prog send -draft -mts sendmail/pipe # 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" - cur=`mhpath cur` - # # 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. # - sed -e 's/^Date:.*/Date:/' \ - -e 's/; charset=".*//' \ - "$cur" > "${testname}.actual" + sed -e 's/^Date:.*/Date:/' -e 's/; charset="[^;]*//' \ + "`mhpath cur`" > "${testname}.actual" check "${testname}.actual" "$1" } @@ -55,16 +56,16 @@ EOF cat > "${MH_TEST_DIR}/Mail/draft" < -To: Somebody Else +To: Somebody Subject: Test -Nmh-Attachment: $MH_TEST_DIR/attachment.txt +Attach: $MH_TEST_DIR/attachment.txt This is a test. EOF cat > "${testname}.expected" < -To: Somebody Else +To: Somebody Subject: Test MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" @@ -87,31 +88,32 @@ EOF test_attachment "${testname}.expected" -# check that 8-bit body is still encoded as quoted-printable -# text/plain, even with an attachment +# check that 8-bit body is encoded as quoted-printable text/plain, +# even with an attachment cat > "${MH_TEST_DIR}/Mail/draft" < -To: Somebody Else +To: Somebody Subject: Test -Nmh-Attachment: $MH_TEST_DIR/attachment.txt +Attach: $MH_TEST_DIR/attachment.txt -¡Ay, caramba! +¡Ay, caramba! EOF cat > "${testname}.expected" < -To: Somebody Else +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: quoted-printable +Content-Transfer-Encoding: 8bit -=A1Ay, caramba! +¡Ay, caramba! ------- =_aaaaaaaaaa0 Content-Type: text/plain; name="attachment.txt" @@ -125,6 +127,37 @@ 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 + +cat > "${MH_TEST_DIR}/Mail/draft" < +To: Somebody +Subject: Test +Attach: $MH_TEST_DIR/attachment.txt + +¡Ay, caramba! +EOF + +LC_ALL="C"; export LC_ALL + +set +e +run_prog send -draft -mts sendmail/pipe > "$actual" 2>&1 +set -e + +cat > "$expected" <