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 |