--- a/t/000-message.t Fri Nov 25 15:44:37 2011 +0100
+++ b/t/000-message.t Wed Jan 04 12:58:40 2012 +0100
@@ -3,9 +3,46 @@
use Test::More;
use_ok "Message::2822"
- or BAIL_OUT "Can't load the Message::2822 module";
+ or BAIL_OUT "Can't load the Message::2822 module";
+
+my @files = glob("ex/mails/*");
+cmp_ok(@files, ">", 1, "more then 1 test message");
+can_ok("Message::2822", qw(new));
+
+my %message;
+foreach my $file (@files) {
+ my $msg = Message::2822->new(file => $file);
+ isa_ok($msg, "Message::2822", "object is Message::2822 ($file)");
+ $message{$file} = $msg;
+}
+
+# check if we really get all header fields
+foreach my $file (keys %message) {
-my $file = "ex/mails/unsigned";
+ # get a sorted list of header fields
+ open(my $f, $file) or die "Can't open $file: $!\n";
+ $/ = "";
+ $_ = <$f>;
+ my @h = sort /^(\S+?[ :])/mg;
+
+ is_deeply([sort $message{$file}->header_fields()], \@h,
+ "all header fields");
+
+ is_deeply(
+ [sort $message{$file}->header_fields('^f')],
+ [grep /^f/i => @h],
+ "partial header fields '^f'"
+ );
+
+ is_deeply(
+ [sort $message{$file}->header_fields(qr/^f/i)],
+ [grep /^f/i => @h],
+ "partial header fields qr/^f/i"
+ );
+}
+
+done_testing;
+__END__
# the object itself
my $message = Message::2822->new(file => $file);