X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e107aac243dbd4021e57f4c455c7e3ffd82b819e..d9b33232b6e3b03d7ff0b67e28e82ee455e00d99:/test/mhshow/test-subpart?ds=inline diff --git a/test/mhshow/test-subpart b/test/mhshow/test-subpart index 6396f62b..d5ca6100 100755 --- a/test/mhshow/test-subpart +++ b/test/mhshow/test-subpart @@ -20,9 +20,27 @@ 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) +msgfile=`mhpath new` +msgnum=`basename $msgfile` cat > $msgfile < $expected < $actual 2>&1 -diff -u $expected $actual && rm -f $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 <&1 | + squeeze_whitespace >$actual + 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