#!perl use strict; use warnings; use File::Spec (); use File::Temp (); use Test::More 'no_plan'; BEGIN { use_ok('Mail::Audit'); } sub readfile { my ($name) = @_; local *MESSAGE_FILE; open MESSAGE_FILE, "<$name" or die "coudn't read $name: $!"; my @lines = ; close MESSAGE_FILE; return \@lines; } my $flat_message = readfile('t/messages/simple.msg'); my $mime_message = readfile('t/messages/mime-text.msg'); { my $audit = Mail::Audit->new( data => $flat_message, log => "/dev/null", ); ok(!$audit->is_mime, "A flat message isn't MIME."); is($audit->subject, 'gorp', 'subject correct'); is($audit->get('subject'), 'gorp', 'subject correct (via header)'); my @subject = $audit->get('subject'); is_deeply(\@subject, ["gorp"], "subject correct (via header, list context)"); } { my $audit = Mail::Audit->new( data => $mime_message, log => "/dev/null", ); ok($audit->is_mime, "A mime message is MIME, of course."); is($audit->subject, 'text attached', 'subject correct'); is($audit->get('subject'), 'text attached', 'subject correct (via header)'); my @subject = $audit->get('subject'); is_deeply( \@subject, ["text attached"], "subject correct (via header, list context)" ); }