diff options
author | Eric Wong <e@yhbt.net> | 2020-02-14 07:05:22 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-02-15 08:19:40 +0000 |
commit | 6940f5c8a8436a7a5c846d2079b9d8588872459f (patch) | |
tree | a0d93c291931aed8f73c7b3580c839bf4d3d03a0 /t | |
parent | 9099c07f7bd99231ba13e43b0f2bbc8c9a2d53b2 (diff) | |
download | public-inbox-6940f5c8a8436a7a5c846d2079b9d8588872459f.tar.gz |
A long overdue test for behavior established in 2016. Fixes: 1b28cc7f00a866cb ("view: try assuming UTF-8 for bogus charsets")
Diffstat (limited to 't')
-rw-r--r-- | t/msg_iter.t | 20 | ||||
-rw-r--r-- | t/x-unknown-alpine.eml | 21 |
2 files changed, 41 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/• bullet point/s, + 'got bullet point when X-UNKNOWN assumes UTF-8'); +} + done_testing(); 1; diff --git a/t/x-unknown-alpine.eml b/t/x-unknown-alpine.eml new file mode 100644 index 00000000..75b0bc55 --- /dev/null +++ b/t/x-unknown-alpine.eml @@ -0,0 +1,21 @@ +Date: Sat, 13 Aug 2016 12:14:15 +0200 (CEST) +From: Alpine User <a@example.com> +To: <list@example.com> +Subject: charset=X-UNKNOWN test +Message-ID: <alpine.DEB.2.20.1608131214070.4924@example> +User-Agent: Alpine 2.20 (DEB 67 2015-01-07) +MIME-Version: 1.0 +Content-Type: multipart/mixed; BOUNDARY="8323329-703494712-1471083256=:4924" + + This message is in MIME format. The first part should be readable text, + while the remaining parts are likely unreadable without MIME-aware tools. + +--8323329-703494712-1471083256=:4924 +Content-Type: text/plain; charset=X-UNKNOWN +Content-Transfer-Encoding: QUOTED-PRINTABLE + +=09https://example.com/ + + =E2=80=A2 bullet point + +--8323329-703494712-1471083256=:4924-- |