1 |
dpavlin |
3 |
#!/usr/bin/perl -w |
2 |
|
|
|
3 |
dpavlin |
4 |
use strict; |
4 |
dpavlin |
12 |
use Test::More tests => 16; |
5 |
dpavlin |
3 |
use Test::Exception; |
6 |
|
|
use blib; |
7 |
|
|
|
8 |
dpavlin |
4 |
use Data::Dumper; |
9 |
|
|
|
10 |
dpavlin |
3 |
BEGIN { |
11 |
dpavlin |
4 |
use_ok( 'WebPAC::Lookup' ); |
12 |
dpavlin |
3 |
} |
13 |
|
|
|
14 |
dpavlin |
4 |
throws_ok { new WebPAC::Lookup() } qr/lookup_file/, "new without lookup_file"; |
15 |
dpavlin |
3 |
|
16 |
dpavlin |
5 |
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 |
dpavlin |
4 |
|
23 |
dpavlin |
12 |
ok(my $regex = $lookup->regex, "regex"); |
24 |
|
|
diag "regex: $regex"; |
25 |
|
|
|
26 |
dpavlin |
4 |
my $rec = { |
27 |
|
|
'000' => [ '001' ], |
28 |
|
|
'800' => [ 'foo' ], |
29 |
|
|
'900' => [ 'bar' ], |
30 |
|
|
}; |
31 |
|
|
|
32 |
dpavlin |
7 |
diag "testing WebPAC::Lookup own methods"; |
33 |
|
|
|
34 |
dpavlin |
4 |
ok($lookup->add( $rec ), "add"); |
35 |
|
|
|
36 |
dpavlin |
30 |
ok($lookup->{'_lookup_data'}, "have lookup hash"); |
37 |
dpavlin |
4 |
|
38 |
|
|
my $lookup_res = { |
39 |
|
|
'800:foo' => [ 'bar' ], |
40 |
|
|
'000:001' => [ '001' ], |
41 |
dpavlin |
5 |
'900:bar' => [ 'FOO', 'foo' ] |
42 |
dpavlin |
4 |
}; |
43 |
|
|
|
44 |
dpavlin |
30 |
is_deeply($lookup_res, $lookup->{'_lookup_data'}, "lookup data"); |
45 |
dpavlin |
4 |
|
46 |
dpavlin |
7 |
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"; |