X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fcontent_id.t;h=0325164df77de292075b2ec8c885e5642cf8a1b8;hb=e39585ee2bdcbeaab7b6bd33b3568021042d0879;hp=c0ae6ecde27a47bd440ebd5c93a456182365400e;hpb=ccafffd2888ae58be036b35e2323c2126fa633c9;p=public-inbox.git diff --git a/t/content_id.t b/t/content_id.t index c0ae6ecd..0325164d 100644 --- a/t/content_id.t +++ b/t/content_id.t @@ -1,24 +1,33 @@ -# Copyright (C) 2018 all contributors +# Copyright (C) 2018-2020 all contributors # License: AGPL-3.0+ use strict; use warnings; use Test::More; use PublicInbox::ContentId qw(content_id); -use Email::MIME; +use PublicInbox::MIME; -my $mime = Email::MIME->create( - header => [ - From => 'a@example.com', - To => 'b@example.com', - 'Content-Type' => 'text/plain', - Subject => 'this is a subject', - 'Message-ID' => '', - Date => 'Fri, 02 Oct 1993 00:00:00 +0000', - ], - body => "hello world\n", -); +my $mime = PublicInbox::MIME->new(<<'EOF'); +From: a@example.com +To: b@example.com +Subject: this is a subject +Message-ID: +Date: Fri, 02 Oct 1993 00:00:00 +0000 -my $res = content_id($mime); -like($res, qr/\ASHA-256:[a-f0-9]{64}\z/, 'cid in format expected'); +hello world +EOF + +my $orig = content_id($mime); +my $reload = content_id(PublicInbox::MIME->new($mime->as_string)); +is($orig, $reload, 'content_id matches after serialization'); + +foreach my $h (qw(From To Cc)) { + my $n = q("Quoted N'Ame" ); + $mime->header_set($h, "$n"); + my $q = content_id($mime); + is($mime->header($h), $n, "content_id does not mutate $h:"); + $mime->header_set($h, 'Quoted N\'Ame '); + my $nq = content_id($mime); + is($nq, $q, "quotes ignored in $h:"); +} done_testing();