t/indexlevels-mirror-v1.t
t/indexlevels-mirror.t
t/init.t
+t/iso-2202-jp.mbox
t/linkify.t
t/main-bin/spamc
t/mda.t
# times when it should not have been:
# <87llgalspt.fsf@free.fr>
# <200308111450.h7BEoOu20077@mail.osdl.org>
- if ($ct =~ m!\btext/plain\b!i || $ct =~ m!\bmultipart/mixed\b!i) {
+ if ($err && ($ct =~ m!\btext/plain\b!i ||
+ $ct =~ m!\bmultipart/mixed\b!i)) {
# Try to assume UTF-8 because Alpine seems to
# do wacky things and set charset=X-UNKNOWN
$part->charset_set('UTF-8');
--- /dev/null
+From historical@ruby-dev Thu Jan 1 00:00:00 1970
+Message-Id: <199707281508.AAA24167@hoyogw.example>
+Date: Tue, 29 Jul 97 00:08:29 +0900
+From: matz@example.com
+Subject: [ruby-dev:4]
+To: ruby-dev@example
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-2022-JP
+
+|\e$B$1$$$8$e!w:#$O%U%j!<\e(B(^^;;;\e$B$G$9\e(B.
'nested part shows up properly');
}
+{
+ my $f = 't/iso-2202-jp.mbox';
+ my $mime = Email::MIME->new(do {
+ open my $fh, '<', $f or die "open($f): $!";
+ local $/;
+ <$fh>;
+ });
+ my $raw = '';
+ msg_iter($mime, sub {
+ my ($part, $level, @ex) = @{$_[0]};
+ my ($s, $err) = msg_part_text($part, 'text/plain');
+ ok(!$err, 'no error');
+ $raw .= $s;
+ });
+ ok(length($raw) > 0, 'got non-empty message');
+ is(index($raw, '$$$'), -1, 'no unescaped $$$');
+}
+
done_testing();
1;