r8999@llin: dpavlin | 2005-11-20 22:46:22 +0100
[webpac2] / t / 1-lookup.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use Test::More tests => 16;
5 use Test::Exception;
6 use blib;
7
8 use Data::Dumper;
9
10 BEGIN {
11 use_ok( 'WebPAC::Lookup' );
12 }
13
14 throws_ok { new WebPAC::Lookup( no_log => 1 ) } qr/lookup_file/, "new without lookup_file";
15
16 ok(my $lookup = new WebPAC::Lookup(
17         lookup_file => 'conf/lookup/example.pm',
18         filter => {
19                 'upper' => sub { return uc(shift); },
20         },
21 ), "new");
22
23 ok(my $regex = $lookup->regex, "regex");
24 diag "regex: $regex";
25
26 my $rec = {
27         '000' => [ '001' ],
28         '800' => [ 'foo' ],
29         '900' => [ 'bar' ],
30 };
31
32 diag "testing WebPAC::Lookup own methods";
33
34 ok($lookup->add( $rec ), "add");
35
36 ok($lookup->{'_lookup_data'}, "have lookup hash");
37
38 my $lookup_res = { 
39         '800:foo' => [ 'bar' ],
40         '000:001' => [ '001' ],
41         '900:bar' => [ 'FOO', 'foo' ]
42 };
43
44 is_deeply($lookup_res, $lookup->{'_lookup_data'}, "lookup data");
45
46 foreach my $k (keys %{ $lookup_res }) {
47         ok(my @l = $lookup->lookup("lookup{$k}"), "lookup{$k}");
48
49         cmp_ok($#l, '==', $#{$lookup_res->{$k}}, "result size");
50
51         is_deeply($lookup_res->{$k}, \@l, "result values");
52 }
53
54 diag "testing WebPAC::Lookup inherited methods";