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 => 55; |
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)), "lookup_create_rules($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 |
|
foreach my $db (keys %$n) { |
69 |
|
foreach my $i (keys %{$n->{$db}}) { |
70 |
|
ok(my $r = $parser->normalize_rules($db,$i), "normalize_source($db/$i)"); |
71 |
|
diag "normalize_rules($db,$i) = $r" if ($debug); |
72 |
|
cmp_ok($n->{$db}->{$i}, 'eq', $r, "same"); |
73 |
|
} |
74 |
|
} |
75 |
|
|
76 |
ok(my $d = $parser->{depends}, "depends"); |
ok(my $d = $parser->{depends}, "depends"); |
77 |
diag "depends = ",dump($d); |
diag "depends = ",dump($d) if ($debug); |
78 |
|
|
79 |
my $expected_depend = { |
my $expected_depend = { |
80 |
foo => { |
foo => { |
111 |
is_deeply($d->{$db}->{$i}, $parser->depends($db,$i), "depend $db/$i"); |
is_deeply($d->{$db}->{$i}, $parser->depends($db,$i), "depend $db/$i"); |
112 |
} |
} |
113 |
} |
} |
114 |
|
|
115 |
|
$config_path = "$abs_path/conf/marc.yml"; |
116 |
|
|
117 |
|
ok(-e $config_path, "$config_path exists"); |
118 |
|
|
119 |
|
ok( |
120 |
|
my $parser = new WebPAC::Parser( |
121 |
|
config => new WebPAC::Config( path => $config_path ), |
122 |
|
base_path => $abs_path, |
123 |
|
debug => $debug, |
124 |
|
), "new"); |
125 |
|
|
126 |
|
ok(my $marc = $parser->generate_marc('marc','marc-input'), 'generate_marc'); |
127 |
|
|
128 |
|
diag "marc: ",dump($marc) if ($debug); |
129 |
|
|
130 |
|
is_deeply($marc, { |
131 |
|
marc => 1, |
132 |
|
marc_compose => 1, |
133 |
|
marc_duplicate => 1, |
134 |
|
marc_indicators => 1, |
135 |
|
marc_leader => 1, |
136 |
|
marc_original_order => 1, |
137 |
|
marc_remove => 1, |
138 |
|
marc_repeatable_subfield => 1, |
139 |
|
}, 'catched all marc_*'); |
140 |
|
|