X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/479301db377df555594b72bbaae3be9d640e3e02..b1264518b4ea2ce88e892198792b7e0b5cd8b654:/test/mhfixmsg/test-mhfixmsg?ds=inline diff --git a/test/mhfixmsg/test-mhfixmsg b/test/mhfixmsg/test-mhfixmsg index 3bffa9a8..9c2df415 100755 --- a/test/mhfixmsg/test-mhfixmsg +++ b/test/mhfixmsg/test-mhfixmsg @@ -25,7 +25,7 @@ if grep mhfixmsg-format-text/html "${MH_TEST_DIR}/Mail/mhn.defaults" \ >/dev/null; then can_reformat_texthtml=1 else - echo "$0: skipping -reformat check because + echo "$0: skipping -reformat check because \ mhfixmsg-format-text/html is not available" can_reformat_texthtml=0 fi @@ -41,6 +41,7 @@ Usage: mhfixmsg [+folder] [msgs] [switches] -nodecodetext -[no]textcodeset -[no]reformat + -[no]replacetextplain -[no]fixboundary -[no]fixcte -file file @@ -243,9 +244,15 @@ mhfixmsg: 12 part 1, decode text/html; charset=\"Windows-1252\"" \ mhfixmsg last -outfile - -verbose 2>"$actual.err" | uniq >"$actual" check "$expected" "$actual" check "$expected.err" "$actual.err" +else + rm -f "$expected" fi +# check implicit -file with absolute pathname +run_test "mhfixmsg `mhpath last` -outfile /dev/null" '' + + # check handling of boundary string that appears in message body # cat >"$expected" <"$actual.err" | uniq >"$actual" check "$expected" "$actual" check "$expected.err" "$actual.err" +else + rm -f "$expected" fi @@ -388,6 +397,8 @@ if [ $can_reformat_texthtml -eq 1 ]; then mhfixmsg last -nodecode -outfile - -verbose 2>"$actual.err" | uniq >"$actual" check "$expected" "$actual" check "$expected.err" "$actual.err" +else + rm -f "$expected" fi @@ -606,30 +617,6 @@ Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable - - - - - - -------=_nmh-multipart-- EOF cat >`mhpath new` <<'EOF' @@ -668,7 +655,9 @@ EOF if [ $can_reformat_texthtml -eq 1 ]; then #### lynx inserts multiple blank lines, so use uniq to squeeze them. - mhfixmsg last -outfile - | uniq >"$actual" + #### Truncate to avoid comparing the html portion because it can + #### get reformatted. + mhfixmsg last -outfile - | uniq | head -22 >"$actual" check "$expected" "$actual" 'ignore space' else cp -p "$MH_TEST_DIR/Mail/inbox/15" "$MH_TEST_DIR/Mail/inbox/15.backup" @@ -719,7 +708,7 @@ set +e mhfixmsg last -textcodeset utf-8 -outfile "$actual" 2>"$actual.err" if grep "mhfixmsg: Can't convert .* to .* without iconv" "$actual.err" \ >/dev/null; then - echo skipping -textcodeset check because nmh was built without iconv + echo "$0: skipping -textcodeset check because nmh was built without iconv" rm -f "$expected" "$actual" "$actual.err" else check "$expected" "$actual" @@ -965,6 +954,110 @@ mhfixmsg last -outfile "$actual" check "$expected" "$actual" +# check -replacetextplain +cat >"$expected" < +eticket + + + Yes, the text/plain part really was empty. + + + +------=_Part_876302-- +EOF + +cat >`mhpath new` <<'EOF' +To: recipient@example.com +From: sender@example.com +Subject: mhfixmsg replacement of bad text/plain part test +MIME-Version: 1.0 +Content-Type: multipart/alternative; boundary="----=_Part_876302" + +------=_Part_876302 +Content-Type: text/plain; charset="iso-8859-15" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + + + +------=_Part_876302 +Content-Type: text/html; charset="UTF-8" +Content-Transfer-Encoding: 8bit +Content-Disposition: inline + + +eticket + + + Yes, the text/plain part really was empty. + + + +------=_Part_876302-- +EOF + +if [ $can_reformat_texthtml -eq 1 ]; then + #### lynx inserts multiple blank lines, so use uniq to squeeze them. + mhfixmsg last -replacetextplain -outfile - | uniq > "$actual" + check "$expected" "$actual" +else + rm -f "$expected" +fi + + +# check -noreplacetextplain +cat >"$expected" < +eticket + + + Yes, the text/plain part really was empty. + + + +------=_Part_876302-- +EOF + +mhfixmsg last -replacetextplain -noreplacetextplain -outfile "$actual" +check "$expected" "$actual" + + # check rmmproc cat >"$MH_TEST_DIR/Mail/rmmproc" <<'EOF' mv "$1" "$1.backup"
Mile $0.00
Time $78.71
State Tax $5.90
Vehicle License Fee $1.84
State Txn Tax $6.00