X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/fa462ef71fbaf819397c59b2c07adf45a04af9f8..1d5e6d0340ba258b34b85ccdac4c402ccf4fd51e:/test/mhshow/test-subpart diff --git a/test/mhshow/test-subpart b/test/mhshow/test-subpart index 0d152bb3..2a799772 100755 --- a/test/mhshow/test-subpart +++ b/test/mhshow/test-subpart @@ -20,6 +20,24 @@ setup_test expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual +mhn_defaults="$MH_INST_DIR${nmhetcdir}/mhn.defaults" + +if grep mhfixmsg-format-text/html "${mhn_defaults}" >/dev/null; then + can_reformat_texthtml=1 + if grep 'mhfixmsg-format-text/html.*w3m' "${mhn_defaults}" \ + >/dev/null; then + #### w3m uses $HOME/.w3m/, and creates it if it doesn't exist. To + #### support testing with non-writeable $HOME, and to not leave + #### relics from this test if it is writeable but doesn't already + #### have a .w3m, and to not depend on whatever is in that if it + #### does already exist, overwrite $HOME if using w3m. + HOME="$MHTMPDIR"; export HOME + fi +else + echo "$0: skipping html checks because no text browser was found" + can_reformat_texthtml=0 +fi + # Write message with a text/plain subpart. msgfile=`mhpath new` msgnum=`basename $msgfile` @@ -51,12 +69,145 @@ EOF # Write the expected output. cat > $expected < $actual 2>&1 -check "$expected" "$actual" +start_test 'text/plain part' +run_prog mhshow -part 1.1 -form mhl.null $msgnum > $actual 2>&1 +check "$expected" "$actual" : part 1.1 + + +# tests of -part/-type/-prefer + +cat > $msgfile < +Subject: mhshow -part/-type/-prefer test +Date: Thu, 29 Jan 2015 18:12:21 +0000 (GMT) +Content-Type: multipart/mixed; boundary="BoundaryMixed" + +--BoundaryMixed +Content-type: multipart/alternative; + boundary="BoundaryAlternative1" + +--BoundaryAlternative1 +Content-type: text/plain; charset=US-ASCII; format=flowed +Content-transfer-encoding: 8bit + +This is the body text/plain part. +--BoundaryAlternative1 +Content-type: multipart/related; + boundary="BoundaryAlternative2"; type="text/html" + +--BoundaryAlternative2 +Content-type: text/html; CHARSET=US-ASCII +Content-transfer-encoding: quoted-printable + +
+This is the text/html body part. +
+ +--BoundaryAlternative2-- + +--BoundaryAlternative1-- + +--BoundaryMixed +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + +_______________________________________________ +This is the final text/plain signature part. + +--BoundaryMixed-- +EOF + +# Write the expected output. +if [ $can_reformat_texthtml -eq 1 ]; then + cat > $expected < $actual 2>&1 + check "$expected" "$actual" : part 1.1.1 +fi + +# Write the expected output. +cat > $expected < $actual 2>&1 +check "$expected" "$actual" : part 1.2 + +# Write the expected output. +cat > $expected < $actual 2>&1 +check "$expected" "$actual" : part conflicting text/plain, part 1 switches + +# Write the expected output. +cat > $expected < $actual 2>&1 +check "$expected" "$actual" : part 2 + +# Write the expected output. +cat > $expected < $actual 2>&1 +check "$expected" "$actual" : type text/plain + +# Write the expected output. +cat > $expected < $actual 2>&1 +check "$expected" "$actual" : prefer text/plain + +finish_test exit $failed