r1032@llin: dpavlin | 2006-09-29 14:22:09 +0200
[webpac2] / t / 2-parse.t
index 4dad815..7589e5a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 36;
+use Test::More tests => 51;
 use Test::Exception;
 use blib;
 
@@ -49,18 +49,29 @@ foreach my $db (keys %$inputs) {
 ok(! $parser->valid_database('non-existant'), "no database");
 ok(! $parser->valid_database_input('foo','non-existant'), "no database input");
 
-ok(my $l = $parser->{_lookup_create}, "_lookup_create");
-diag "_lookup_create = ",dump($l) if ($debug);
+ok(my $l = $parser->{_lookup_create_key}, "_lookup_create_key");
+ok($parser->{_lookup_create}, "_lookup_create");
+diag "_lookup_create_key = ",dump($l) if ($debug);
 foreach my $db (keys %$l) {
        foreach my $i (keys %{$l->{$db}}) {
-               foreach my $k (keys %{$l->{$db}->{$i}}) {
-                       ok(defined($parser->lookup_create_rules($db,$i)->{$k}), "have $db/$i/$k");
-               }
+               ok(defined($parser->lookup_create_rules($db,$i)), "lookup_create_rules($db/$i)");
+               my @keys = sort keys %{$l->{$db}->{$i}};
+               ok(@keys, 'have keys');
+               my @have_keys = sort $parser->have_lookup_create($db,$i);
+               ok(@have_keys, 'have_lookup_create');
+               ok(eq_array(\@have_keys, \@keys), "found all lookups");
        }
 }
 
 ok(my $n = $parser->{_normalize_source}, "_normalize_source");
 diag "_normalize_source = ",dump($n) if ($debug);
+foreach my $db (keys %$n) {
+       foreach my $i (keys %{$n->{$db}}) {
+               ok(my $r = $parser->normalize_rules($db,$i), "normalize_source($db/$i)");
+               diag "normalize_rules($db,$i) = $r" if ($debug);
+               cmp_ok($n->{$db}->{$i}, 'eq', $r, "same");
+       }
+}
 
 ok(my $d = $parser->{depends}, "depends");
 diag "depends = ",dump($d) if ($debug);