about summary refs log tree commit
path: root/t/msg_iter.t
diff options
context:
space:
mode:
Diffstat (limited to 't/msg_iter.t')
-rw-r--r--t/msg_iter.t20
1 files changed, 20 insertions, 0 deletions
diff --git a/t/msg_iter.t b/t/msg_iter.t
index de9c39fa..e33bfc69 100644
--- a/t/msg_iter.t
+++ b/t/msg_iter.t
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 use Test::More;
 use Email::MIME;
+use PublicInbox::Hval qw(ascii_html);
 use_ok('PublicInbox::MsgIter');
 
 {
@@ -58,5 +59,24 @@ use_ok('PublicInbox::MsgIter');
         is(index($raw, '$$$'), -1, 'no unescaped $$$');
 }
 
+{
+        my $f = 't/x-unknown-alpine.eml';
+        my $mime = Email::MIME->new(do {
+                open my $fh, '<', $f or die "open($f): $!";
+                local $/;
+                binmode $fh;
+                <$fh>;
+        });
+        my $raw = '';
+        msg_iter($mime, sub {
+                my ($part, $level, @ex) = @{$_[0]};
+                my ($s, $err) = msg_part_text($part, 'text/plain');
+                $raw .= $s;
+        });
+        like($raw, qr!^\thttps://!ms, 'tab expanded with X-UNKNOWN');
+        like(ascii_html($raw), qr/&#8226; bullet point/s,
+                'got bullet point when X-UNKNOWN assumes UTF-8');
+}
+
 done_testing();
 1;