From 0283273a14e1871955f6a9132f4f3f7884ec8a3f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 7 May 2020 21:05:55 +0000 Subject: remove most internal Email::MIME usage We no longer load or use Email::MIME outside of comparison tests. --- t/mime.t | 83 +++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 46 insertions(+), 37 deletions(-) (limited to 't/mime.t') diff --git a/t/mime.t b/t/mime.t index b9a4d66b..d17ec58e 100644 --- a/t/mime.t +++ b/t/mime.t @@ -1,16 +1,23 @@ +#!perl -w # Copyright (C) 2017-2020 all contributors # This library is free software; you can redistribute it and/or modify # it under the same terms as Perl itself. # Artistic or GPL-1+ use strict; -use warnings; use Test::More; -use_ok 'PublicInbox::MIME'; +use PublicInbox::TestCommon; use PublicInbox::MsgIter; - -local $SIG{__WARN__} = sub {}; -my $msg = PublicInbox::MIME->new( -'From: Richard Hansen +my @classes = qw(PublicInbox::Eml); +SKIP: { + require_mods('Email::MIME', 1); + push @classes, 'PublicInbox::MIME'; +}; +use_ok $_ for @classes; +local $SIG{__WARN__} = sub {}; # needed for old Email::Simple (used by E::M) + +for my $cls (@classes) { + my $msg = PublicInbox::MIME->new(<<'EOF'); +From: Richard Hansen To: git@vger.kernel.org Cc: Richard Hansen Subject: [PATCH 0/2] minor diff orderfile documentation improvements @@ -40,10 +47,11 @@ Content-Description: (truncated) S/MIME Cryptographic Signature dkTlB69771K2eXK4LcHSH/2LqX+VYa3K44vrx1ruzjXdNWzIpKBy0weFNiwnJCGofvCysM2RCSI1 --94eb2c0bc864b76ba30545b2bca9-- -'); +EOF -my @parts = $msg->parts; -my $exp = 'Richard Hansen (2): + my @parts = $msg->parts; + my $exp = <isa('Email::MIME'), 'compatible with Email::MIME'); -is($parts[0]->body, $exp, 'body matches expected'); +EOF + is($parts[0]->body, $exp, 'body matches expected'); -my $raw = q^Date: Wed, 18 Jan 2017 13:28:32 -0500 + my $raw = <<'EOF'; +Date: Wed, 18 Jan 2017 13:28:32 -0500 From: Santiago Torres To: Junio C Hamano Cc: git@vger.kernel.org, peff@peff.net, sunshine@sunshineco.com, @@ -92,28 +99,30 @@ Content-Type: application/pgp-signature; name="signature.asc" --r24xguofrazenjwe-- -^; - -$msg = PublicInbox::MIME->new($raw); -my $nr = 0; -msg_iter($msg, sub { - my ($part, $level, @ex) = @{$_[0]}; - is($level, 1, 'at expected level'); - if (join('fail if $#ex > 0', @ex) eq '1') { - is($part->body_str, "your tree directly? \r\n", 'body OK'); - } elsif (join('fail if $#ex > 0', @ex) eq '2') { - is($part->body, "-----BEGIN PGP SIGNATURE-----\n\n" . - "=7wIb\n" . - "-----END PGP SIGNATURE-----\n", - 'sig "matches"'); - } else { - fail "unexpected part\n"; - } - $nr++; -}); - -is($nr, 2, 'got 2 parts'); -is($msg->as_string, $raw, - 'stringified sufficiently close to original'); +EOF + + $msg = $cls->new($raw); + my $nr = 0; + msg_iter($msg, sub { + my ($part, $level, @ex) = @{$_[0]}; + is($level, 1, 'at expected level'); + if (join('fail if $#ex > 0', @ex) eq '1') { + is($part->body_str, "your tree directly? \r\n", + 'body OK'); + } elsif (join('fail if $#ex > 0', @ex) eq '2') { + is($part->body, "-----BEGIN PGP SIGNATURE-----\n\n" . + "=7wIb\n" . + "-----END PGP SIGNATURE-----\n", + 'sig "matches"'); + } else { + fail "unexpected part\n"; + } + $nr++; + }); + + is($nr, 2, 'got 2 parts'); + is($msg->as_string, $raw, + 'stringified sufficiently close to original'); +} done_testing(); -- cgit v1.2.3-24-ge0c7