diff --git a/MANIFEST b/MANIFEST index 31cd420..3e97eaa 100644 --- a/MANIFEST +++ b/MANIFEST @@ -541,5 +541,6 @@ README.txt RELNOTES t/compile.t t/readmail-MAILhead_get_disposition.t +t/readmail-MAILread_body.t TODO xt/perltidy.t diff --git a/lib/mhexternal.pl b/lib/mhexternal.pl index 5ebb702..90a93dc 100644 --- a/lib/mhexternal.pl +++ b/lib/mhexternal.pl @@ -226,7 +226,7 @@ sub filter { $ret = '

' . mhonarc::htmlize($fields->{'content-description'}[0]) . "

\n" - if (defined $fields{'content-description'}); + if (defined $fields->{'content-description'}); $ret .= qq|

\n|; diff --git a/t/readmail-MAILread_body.t b/t/readmail-MAILread_body.t new file mode 100644 index 0000000..5106f87 --- /dev/null +++ b/t/readmail-MAILread_body.t @@ -0,0 +1,58 @@ +# -*- indent-tabs-mode: nil; -*- +# vim:ft=perl:et:sw=4 + +use strict; +use warnings; +use English qw(no_match_vars); +use Test::More; + +require 'mhopt.pl'; +require 'readmail.pl'; +require 'ewhutil.pl'; # for htmlize() +# Dummies for tests +sub mhonarc::dir_create {1} +sub mhonarc::file_temp { my $x; open my $fh, '>', \$x; return ($fh, '') } +sub mhonarc::file_chmod {1} + +mhonarc::mhinit_readmail_vars(); + +my @tests = map { [split /\n[.]\n/, $_] } split /\n[.][.]\n*/, + do { local $RS; }; + +foreach my $test (@tests) { + my ($name, $mesg, $result) = @$test; + my ($fields, $header_txt) = readmail::MAILread_header(\$mesg); + my ($ret, @files) = readmail::MAILread_body($fields, \$mesg); + + ok $ret =~ /$result/, $name; + diag "Returned:\n$ret" unless $ret =~ /$result/; +} + +done_testing(); + +__END__ +GH#16: Content-Description fields are omitted with inline images +. +Content-type: image/jpeg; name="image.jpg" +Content-Description: This is a JPEG file +Content-Disposition: inline; filename="image.jpg" +Content-transfer-encoding: base64 + +XXXX + +. +This is a JPEG file +.. +GH#16: Content-Description fields are omitted with inline images +. +Content-type: image/jpeg; name="image.jpg" +Content-Description: This is a JPEG file +Content-Disposition: attachment; filename="image.jpg" +Content-transfer-encoding: base64 + +XXXX + +. +This is a JPEG file +.. +