#!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 Test::More; use PublicInbox::TestCommon; use PublicInbox::MsgIter; 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 = $cls->new(<<'EOF'); From: Richard Hansen To: git@vger.kernel.org Cc: Richard Hansen Subject: [PATCH 0/2] minor diff orderfile documentation improvements Date: Mon, 9 Jan 2017 19:40:29 -0500 Message-Id: <20170110004031.57985-1-hansenr@google.com> X-Mailer: git-send-email 2.11.0.390.gc69c2f50cf-goog Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="94eb2c0bc864b76ba30545b2bca9" --94eb2c0bc864b76ba30545b2bca9 Richard Hansen (2): diff: document behavior of relative diff.orderFile diff: document the pattern format for diff.orderFile Documentation/diff-config.txt | 5 ++++- Documentation/diff-options.txt | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) --94eb2c0bc864b76ba30545b2bca9 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: (truncated) S/MIME Cryptographic Signature dkTlB69771K2eXK4LcHSH/2LqX+VYa3K44vrx1ruzjXdNWzIpKBy0weFNiwnJCGofvCysM2RCSI1 --94eb2c0bc864b76ba30545b2bca9-- EOF my @parts = $msg->subparts; my $exp = <body, $exp, 'body matches expected'); 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, walters@verbum.org, Lukas Puehringer Subject: Re: [PATCH v6 4/6] builtin/tag: add --format argument for tag -v Message-ID: <20170118182831.pkhqu2np3bh2puei@LykOS.localdomain> References: <20170117233723.23897-1-santiago@nyu.edu> <20170117233723.23897-5-santiago@nyu.edu> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="r24xguofrazenjwe" Content-Disposition: inline In-Reply-To: --r24xguofrazenjwe Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable your tree directly?=20 --r24xguofrazenjwe Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- =7wIb -----END PGP SIGNATURE----- --r24xguofrazenjwe-- 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();