X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b2fb9dfa039340fb4776e36cb381d02fffacd608..758f572ffb029c2ccda464f86822724e1af7062b:/test/post/test-post-basic diff --git a/test/post/test-post-basic b/test/post/test-post-basic index a2e4fac0..39915e71 100755 --- a/test/post/test-post-basic +++ b/test/post/test-post-basic @@ -12,11 +12,13 @@ fi . "${srcdir}/test/post/test-post-common.sh" +check_exit '-eq 1' "$MH_LIBEXEC_DIR/post" - + # # Basic test - Simple message, single user, single recipient. Note that # we test dot-stuffing here as well. # - +start_test 'simple message' cat > "${MH_TEST_DIR}/Mail/draft" < To: Somebody Else @@ -34,6 +36,8 @@ DATA From: Mr Nobody To: Somebody Else Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" Date: This is a test @@ -47,7 +51,7 @@ test_post "${testname}.actual" "${testname}.expected" # # Make sure a draft without a From: is rejected # - +start_test 'reject draft without a From:' cat > "${MH_TEST_DIR}/Mail/draft" < Subject: Blank Test @@ -56,9 +60,150 @@ This is a blank test EOF run_test "send -draft -server 127.0.0.1 -port $localport" \ - "post: message has no From: header + "post: message has no From: header post: See default components files for examples post: re-format message and try again send: message not delivered to anyone" +# +# Make sure that empty Nmh-* header lines are ignored, and that post +# warns about non-empty ones. +# +start_test 'ignore Nmh-* header lines' +cat > "${MH_TEST_DIR}/Mail/draft" < +To: Somebody Else +Nmh-Attachment: +Nmh-Unused: suppress this line +Subject: Test + +This is a test +. +EOF + +cat > "${testname}.expected" < +RCPT TO: +DATA +From: Mr Nobody +To: Somebody Else +Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Date: + +This is a test +.. +. +QUIT +EOF + +cat > "${testname}.expected_send_output" <${testname}.send_output 2>&1 + +check "${testname}.send_output" "${testname}.expected_send_output" + +# +# 8-bit without 8BITMIME support +# +start_test '8-bit without 8BITMIME support' +cat > "${MH_TEST_DIR}/Mail/draft" < +To: Somebody Else +Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +This is a test +. +EOF + +cat > "${testname}.expected" < "${testname}.err.expected" <"${testname}.err" +set +e +check "${testname}.err" "${testname}.err.expected" + +# +# 8-bit with 8BITMIME support +# +start_test '8-bit with 8BITMIME support' +# Cheat: SMTPUTF8 enables 8BITMIME in fakestmp +SMTPUTF8=1; export SMTPUTF8 +cat > "${testname}.expected" < BODY=8BITMIME +RCPT TO: +DATA +From: Mr Nobody +To: Somebody Else +Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit +Date: + +This is a test +.. +. +QUIT +EOF +test_post "${testname}.actual" "${testname}.expected" + + +# +# 8-bit with 8BITMIME support, inferred from content +# +start_test '8-bit, inferred, with 8BITMIME support' +cat > "${MH_TEST_DIR}/Mail/draft" < +To: Somebody Else +Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" + +This is a test, with a non-ascii character: § +. +EOF + +cat > "${testname}.expected" < BODY=8BITMIME +RCPT TO: +DATA +From: Mr Nobody +To: Somebody Else +Subject: Test +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Date: + +This is a test, with a non-ascii character: § +.. +. +QUIT +EOF +test_post "${testname}.actual" "${testname}.expected" + + +finish_test exit ${failed:-0}