# Copyright (C) 2018 all contributors # License: AGPL-3.0+ use strict; use warnings; use Test::More; use PublicInbox::ContentId qw(content_id); use Email::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 $orig = content_id($mime); my $reload = content_id(Email::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();