1 |
#!/usr/bin/perl -w |
#!/usr/bin/perl -w |
2 |
|
|
3 |
use strict; |
use strict; |
4 |
use Test::More tests => 26; |
use Test::More tests => 43; |
5 |
use Test::Exception; |
use Test::Exception; |
6 |
use blib; |
use blib; |
7 |
|
|
49 |
ok(! $parser->valid_database('non-existant'), "no database"); |
ok(! $parser->valid_database('non-existant'), "no database"); |
50 |
ok(! $parser->valid_database_input('foo','non-existant'), "no database input"); |
ok(! $parser->valid_database_input('foo','non-existant'), "no database input"); |
51 |
|
|
52 |
ok(my $l = $parser->{_lookup_create}, "_lookup_create"); |
ok(my $l = $parser->{_lookup_create_key}, "_lookup_create_key"); |
53 |
diag "_lookup_create = ",dump($l); |
ok($parser->{_lookup_create}, "_lookup_create"); |
54 |
|
diag "_lookup_create_key = ",dump($l) if ($debug); |
55 |
|
foreach my $db (keys %$l) { |
56 |
|
foreach my $i (keys %{$l->{$db}}) { |
57 |
|
ok(defined($parser->lookup_create_rules($db,$i)), "have $db/$i"); |
58 |
|
my @keys = sort keys %{$l->{$db}->{$i}}; |
59 |
|
ok(@keys, 'have keys'); |
60 |
|
my @have_keys = sort $parser->have_lookup_create($db,$i); |
61 |
|
ok(@have_keys, 'have_lookup_create'); |
62 |
|
ok(eq_array(\@have_keys, \@keys), "found all lookups"); |
63 |
|
} |
64 |
|
} |
65 |
|
|
66 |
ok(my $n = $parser->{_normalize_source}, "_normalize_source"); |
ok(my $n = $parser->{_normalize_source}, "_normalize_source"); |
67 |
diag "_normalize_source = ",dump($n); |
diag "_normalize_source = ",dump($n) if ($debug); |
68 |
|
|
69 |
ok(my $d = $parser->{depends}, "depends"); |
ok(my $d = $parser->{depends}, "depends"); |
70 |
diag "depends = ",dump($d); |
diag "depends = ",dump($d) if ($debug); |
71 |
|
|
72 |
my $expected_depend = { |
my $expected_depend = { |
73 |
foo => { |
foo => { |
74 |
"foo-input1" => { |
"foo-input1" => { |
75 |
bar => { "bar-input" => "200-a-200-e" }, |
bar => { "bar-input" => { "210-a-210-e" => 1, "220-a-220-e" => 1, "230-a-230-e" => 1 } }, |
76 |
baz => { "baz-input" => "200-a" }, |
baz => { "baz-input" => { "200-a" => 1 } }, |
77 |
foo => { "foo-input1" => 11, "foo-input2" => 11 }, |
foo => { "foo-input1" => { 11 => 1 }, "foo-input2" => { 11 => 1 } }, |
78 |
}, |
}, |
79 |
"foo-input2" => { |
"foo-input2" => { |
80 |
bar => { "bar-input" => "900-x" }, |
bar => { "bar-input" => { "900-x" => 1 } }, |
81 |
baz => { "baz-input" => "900-x" }, |
baz => { "baz-input" => { "900-x" => 1 } }, |
82 |
foo => { "foo-input1" => "245-a", "foo-input2" => "245-a" }, |
foo => { "foo-input1" => { "245-a" => 1 }, "foo-input2" => { "245-a" => 1 } }, |
83 |
}, |
}, |
84 |
}, |
}, |
85 |
bar => { |
bar => { |
86 |
"bar-input" => { |
"bar-input" => { |
87 |
baz => { "baz-input" => "900-x" }, |
baz => { "baz-input" => { "900-x" => 1 } }, |
88 |
foo => { "foo-input1" => "245-a" }, |
foo => { "foo-input1" => { "245-a" => 1 } }, |
89 |
}, |
}, |
90 |
}, |
}, |
91 |
baz => { |
baz => { |
92 |
"baz-input" => { |
"baz-input" => { |
93 |
bar => { "bar-input" => "900-x" }, |
bar => { "bar-input" => { "900-x" => 1 } }, |
94 |
foo => { "foo-input2" => "245-a" }, |
foo => { "foo-input2" => { "245-a" => 1 } }, |
95 |
}, |
}, |
96 |
}, |
}, |
97 |
}; |
}; |
104 |
is_deeply($d->{$db}->{$i}, $parser->depends($db,$i), "depend $db/$i"); |
is_deeply($d->{$db}->{$i}, $parser->depends($db,$i), "depend $db/$i"); |
105 |
} |
} |
106 |
} |
} |
107 |
|
|