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"; |