t/000-message.t
changeset 16 3996e5b8789f
parent 12 9f127fcfdf6d
equal deleted inserted replaced
15:7c3215a97e4b 16:3996e5b8789f
     1 use strict;
     1 use strict;
     2 use warnings;
     2 use warnings;
     3 use Test::More;
     3 use Test::More;
     4 
     4 
     5 use_ok "Message::2822"
     5 use_ok "Message::2822"
     6     or BAIL_OUT "Can't load the Message::2822 module";
     6   or BAIL_OUT "Can't load the Message::2822 module";
     7 
     7 
     8 my $file = "ex/mails/unsigned";
     8 my @files = glob("ex/mails/*");
       
     9 cmp_ok(@files, ">", 1, "more then 1 test message");
       
    10 can_ok("Message::2822", qw(new));
       
    11 
       
    12 my %message;
       
    13 foreach my $file (@files) {
       
    14     my $msg = Message::2822->new(file => $file);
       
    15     isa_ok($msg, "Message::2822", "object is Message::2822 ($file)");
       
    16     $message{$file} = $msg;
       
    17 }
       
    18 
       
    19 # check if we really get all header fields
       
    20 foreach my $file (keys %message) {
       
    21 
       
    22     # get a sorted list of header fields
       
    23     open(my $f, $file) or die "Can't open $file: $!\n";
       
    24     $/ = "";
       
    25     $_ = <$f>;
       
    26     my @h = sort /^(\S+?[ :])/mg;
       
    27 
       
    28     is_deeply([sort $message{$file}->header_fields()], \@h,
       
    29         "all header fields");
       
    30 
       
    31     is_deeply(
       
    32         [sort $message{$file}->header_fields('^f')],
       
    33         [grep /^f/i => @h],
       
    34         "partial header fields '^f'"
       
    35     );
       
    36 
       
    37     is_deeply(
       
    38         [sort $message{$file}->header_fields(qr/^f/i)],
       
    39         [grep /^f/i => @h],
       
    40         "partial header fields qr/^f/i"
       
    41     );
       
    42 }
       
    43 
       
    44 done_testing;
       
    45 __END__
     9 
    46 
    10 # the object itself
    47 # the object itself
    11 my $message = Message::2822->new(file => $file);
    48 my $message = Message::2822->new(file => $file);
    12 isa_ok($message => "Message::2822");
    49 isa_ok($message => "Message::2822");
    13 
    50