1 |
#!/usr/bin/perl -w |
2 |
|
3 |
use strict; |
4 |
use Test::More tests => 17; |
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'}, "{_lookup_data}"); |
37 |
ok($lookup->lookup_hash, "lookup_hash"); |
38 |
|
39 |
my $lookup_res = { |
40 |
'800:foo' => [ 'bar' ], |
41 |
'000:001' => [ '001' ], |
42 |
'900:bar' => [ 'FOO', 'foo' ] |
43 |
}; |
44 |
|
45 |
is_deeply($lookup_res, $lookup->{'_lookup_data'}, "lookup data"); |
46 |
|
47 |
foreach my $k (keys %{ $lookup_res }) { |
48 |
ok(my @l = $lookup->lookup("lookup{$k}"), "lookup{$k}"); |
49 |
|
50 |
cmp_ok($#l, '==', $#{$lookup_res->{$k}}, "result size"); |
51 |
|
52 |
is_deeply($lookup_res->{$k}, \@l, "result values"); |
53 |
} |
54 |
|
55 |
diag "testing WebPAC::Lookup inherited methods"; |