Branch Coverage

lib/MARC/Transform.pm
Criterion Covered Total %
branch 237 378 62.7


line true false branch
12 0 0 if $DEBUG
30 0 29 if (-e $yaml) { }
32 0 0 if (defnonull($yamlencode)) { }
33 0 0 unless open $yamls, "<:encoding($yamlencode)", $yaml
35 0 0 unless open $yamls, "< $yaml"
52 6 23 if $mth
54 0 29 if $verb
56 67 12 if (ref $rulesub eq 'HASH')
57 6 61 if (defnonull($rulesub->{'global_subs'}))
61 3 64 if (defnonull($rulesub->{'global_LUT'}))
62 3 0 if (ref $rulesub->{'global_LUT'} eq 'HASH')
70 12 67 if (ref $rule eq 'ARRAY') { }
67 0 elsif (ref $rule eq 'HASH') { }
73 7 21 if (defnonull($rul->{'subs'}))
76 3 25 if (defnonull($rul->{'LUT'}))
84 12 1 if ($boolcondition)
91 0 67 if (defnonull($rule->{'subs'}))
94 1 66 if (defnonull($rule->{'LUT'}))
111 165 881 if (defined $var and $var ne '') { }
115 5 6 unless (defined $type)
120 11 0 if (ref $global_LUT eq 'HASH')
121 11 0 if (exists $global_LUT->{$type})
123 11 0 if (ref $correspondance eq 'HASH')
125 9 21 if ($inLUT eq $cor)
130 2 9 if ($boolnocor)
131 1 1 if defnonull($correspondance->{'_default_value_'})
132 2 0 if $mth
169 34 53 if ($ttype eq 'forceupdate' or $ttype eq 'forceupdatefirst')
170 28 6 if (ref $field eq '' or ref $field eq 'SCALAR')
171 10 18 unless (defined $record->field($field))
174 27 60 if (ref $field eq 'MARC::Field') { }
60 0 elsif (ref $field eq '' or ref $field eq 'SCALAR') { }
177 0 27 if ($tag eq 'i1' or $tag eq "\302\265") { }
0 27 elsif ($tag eq 'i2' or $tag eq "\302\243") { }
181 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
186 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
189 27 0 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
0 0 elsif (ref $subfields->{$tag} eq 'ARRAY') { }
190 0 27 if ($field->is_control_field) { }
196 6 21 if ($ttype eq 'create') { }
1 20 elsif ($ttype eq 'updatefirst') { }
3 17 elsif ($ttype eq 'forceupdatefirst') { }
202 1 0 if (defined $field->subfield($tag))
210 3 0 if (defined $field->subfield($tag)) { }
224 0 0 if (not $field->is_control_field) { }
226 0 0 if ($ttype eq 'create') { }
0 0 elsif ($ttype eq 'updatefirst') { }
0 0 elsif ($ttype eq 'forceupdatefirst') { }
232 0 0 if (defined $field->subfield($tag))
239 0 0 if (defined $field->subfield($tag)) { }
258 17 10 if (not $field->is_control_field and $ttype eq 'update' || $ttype eq 'forceupdate')
261 15 43 if (exists $$subfields{$$subfield[0]}) { }
273 2 15 if ($tag ne 'i1' and $tag ne "\302\265" and $tag ne 'i2' and $tag ne "\302\243" and not defined $newfield->subfield($tag))
274 2 0 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
277 2 0 if $ttype eq 'forceupdate'
289 32 28 if ($ttype eq 'update' or $ttype eq 'updatefirst' or $ttype eq 'forceupdate' or $ttype eq 'forceupdatefirst') { }
28 0 elsif ($ttype eq 'create') { }
290 32 0 if (defined $record->field($field))
293 0 46 if ($tag eq 'i1' or $tag eq "\302\265") { }
0 46 elsif ($tag eq 'i2' or $tag eq "\302\243") { }
46 0 elsif (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
296 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
301 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
304 2 44 if ($updatefield->is_control_field) { }
7 37 elsif ($ttype eq 'updatefirst') { }
3 34 elsif ($ttype eq 'forceupdatefirst') { }
310 6 1 if (defined $updatefield->subfield($tag))
317 2 1 if (defined $updatefield->subfield($tag)) { }
333 31 9 if (not $updatefield->is_control_field and $ttype eq 'update' || $ttype eq 'forceupdate')
336 26 95 if (exists $$subfields{$$subfield[0]}) { }
347 13 21 if ($tag ne 'i1' and $tag ne "\302\265" and $tag ne 'i2' and $tag ne "\302\243" and not defined $newfield->subfield($tag))
348 13 0 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
351 12 1 if $ttype eq 'forceupdate'
366 2 26 if ($field < 10) { }
374 0 35 if ($tag eq 'i1' or $tag eq "\302\265") { }
0 35 elsif ($tag eq 'i2' or $tag eq "\302\243") { }
376 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
380 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
383 31 4 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
4 0 elsif (ref $subfields->{$tag} eq 'ARRAY') { }
384 2 29 if ($newfield->is_control_field) { }
394 4 0 unless ($newfield->is_control_field)
403 26 2 unless ($newfield->is_control_field)
420 24 94 if ($subfieldtemp =~ /\\&/) { }
439 20 60 if (defnonull($rul->{'create'}))
443 6 74 if (defnonull($rul->{'duplicatefield'}))
447 22 58 if (defnonull($rul->{'forceupdate'}))
451 3 77 if (defnonull($rul->{'forceupdatefirst'}))
455 11 69 if (defnonull($rul->{'update'}))
459 3 77 if (defnonull($rul->{'updatefirst'}))
463 7 73 if (defnonull($rul->{'execute'}))
467 12 68 if (defnonull($rul->{'delete'}))
484 59 25 if ($type eq 'create' or $type eq 'forceupdate' or $type eq 'update' or $type eq 'forceupdatefirst' or $type eq 'updatefirst') { }
6 19 elsif ($type eq 'duplicatefield') { }
12 7 elsif ($type eq 'delete') { }
7 0 elsif ($type eq 'execute') { }
485 59 0 if (ref $intaction eq 'HASH') { }
487 11 78 if (ref $intaction->{$kint} eq 'HASH') { }
77 1 elsif (ref $intaction->{$kint} eq '' or ref $intaction->{$kint} eq 'SCALAR') { }
1 0 elsif (ref $intaction->{$kint} eq 'ARRAY') { }
491 0 11 if ($kint =~ /^\$f(\d{3})$/) { }
11 0 elsif ($kint =~ /^f(\d{3})$/) { }
505 19 3 if (ref $subint->{$k} eq '' or ref $subint->{$k} eq 'SCALAR') { }
3 0 elsif (ref $subint->{$k} eq 'ARRAY') { }
507 6 13 if $subint->{$k} =~ /\$f/
516 0 8 if $ssubint =~ /\$f/
528 6 5 if ($boolin) { }
535 8 69 if ($kint =~ /^\$f(\d{3})(\w)$/) { }
0 69 elsif ($kint =~ /^\$i(\d{3})(\w)$/) { }
50 19 elsif ($kint =~ /^f(\d{3})(\w)$/) { }
0 19 elsif ($kint =~ /^i(\d{3})(\w)$/) { }
0 19 elsif ($kint =~ /^i(\d)$/) { }
19 0 elsif ($kint =~ /^(\w)$/) { }
544 0 0 if $2 eq '1'
545 0 0 if $2 eq '2'
554 0 0 if $2 eq '1'
555 0 0 if $2 eq '2'
560 0 0 if $1 eq '1'
561 0 0 if $1 eq '2'
574 6 71 if $intaction->{$kint} =~ /\$f/
578 31 46 if ($boolin) { }
585 0 1 if ($kint =~ /^\$f(\d{3})(\w)$/) { }
0 1 elsif ($kint =~ /^\$i(\d{3})(\w)$/) { }
1 0 elsif ($kint =~ /^f(\d{3})(\w)$/) { }
0 0 elsif ($kint =~ /^i(\d{3})(\w)$/) { }
0 0 elsif ($kint =~ /^(\w)$/) { }
594 0 0 if $2 eq '1'
595 0 0 if $2 eq '2'
604 0 0 if $2 eq '1'
605 0 0 if $2 eq '2'
619 0 2 if $sintaction =~ /\$f/
625 0 1 if ($boolin) { }
634 3 3 if (ref $intaction eq 'ARRAY') { }
3 0 elsif (ref $intaction eq '' or ref $intaction eq 'SCALAR') { }
636 7 0 if (ref $vint eq '' or ref $vint eq 'SCALAR') { }
637 3 4 if ($vint =~ /^\$f(\d{3})\s?>\s?f(\d{3})$/) { }
4 0 elsif ($vint =~ /^f(\d{3})\s?>\s?f(\d{3})$/) { }
638 2 1 if ($1 < 10 and $2 < 10) { }
1 0 elsif ($1 >= 10 and $2 >= 10) { }
650 1 3 if ($1 < 10 and $2 < 10) { }
3 0 elsif ($1 >= 10 and $2 >= 10) { }
676 3 0 if ($vint =~ /^\$f(\d{3})\s?>\s?f(\d{3})$/) { }
0 0 elsif ($vint =~ /^f(\d{3})\s?>\s?f(\d{3})$/) { }
677 1 2 if ($1 < 10 and $2 < 10) { }
2 0 elsif ($1 >= 10 and $2 >= 10) { }
689 0 0 if ($1 < '010' and $2 < '010') { }
0 0 elsif ($1 >= '010' and $2 >= '010') { }
713 3 9 if (ref $intaction eq 'ARRAY') { }
9 0 elsif (ref $intaction eq '' or ref $intaction eq 'SCALAR') { }
715 6 0 if (ref $vint eq '' or ref $vint eq 'SCALAR') { }
717 0 6 if ($vint =~ /^\$f(\d{3})(\w)$/) { }
0 6 elsif ($vint =~ /^\$f(\d{3})$/) { }
3 3 elsif ($vint =~ /^f(\d{3})(\w)$/) { }
3 0 elsif ($vint =~ /^f(\d{3})$/) { }
0 0 elsif ($vint =~ /^(\w)$/) { }
743 1 8 if ($vint =~ /^\$f(\d{3})(\w)$/) { }
1 7 elsif ($vint =~ /^\$f(\d{3})$/) { }
2 5 elsif ($vint =~ /^f(\d{3})(\w)$/) { }
3 2 elsif ($vint =~ /^f(\d{3})$/) { }
2 0 elsif ($vint =~ /^(\w)$/) { }
767 7 0 if (ref $intaction eq '' or ref $intaction eq 'SCALAR') { }
0 0 elsif (ref $intaction eq 'ARRAY') { }
768 0 7 if ($intaction =~ /\$(f|i)(\d{3})/) { }
777 0 0 if ($sintaction =~ /\$(f|i)(\d{3})/) { }
798 7 73 if $subs ne ''
802 60 20 if (defnonull($rul->{'condition'})) { }
804 68 86 if ($_ =~ /^(f)(\d{3}\w)(.*)$/) { }
0 86 elsif ($_ =~ /^(i)(\d{3})(.*)$/) { }
811 68 20 if (substr($subtag, 0, 3) eq $tag)
812 0 68 if (length $subtag == 3) { }
837 63 0 unless $globalconditionstart =~ /$matchdelaration/
839 66 2 if (defined $record->field($tag))
844 58 4 if ($subtag ne 'tempvalueforcurrentfield' and $tag >= 10) { }
4 0 elsif ($subtag ne 'tempvalueforcurrentfield') { }
854 10 56 unless $boolsubtagrule
858 5 55 unless $booltagrule
861 0 60 if $verbose
862 1 0 if ($day =~ /^\d$/)
0 1 if ($month =~ /^\d$/)
0 1 if (int $year > 13) { }
1 0 if ($in =~ m[^(\d{1,2})/(\d{1,2})/(\d{2}).*]) { }
865 0 20 if $verbose
874 2 56 unless $record and $record->fields
877 178 29 if (not $field->is_control_field) { }
878 177 1 if (scalar $field->subfields > 0)
881 153 208 if ($pos eq 'before') { }
208 0 elsif ($pos eq 'after') { }
898 12 17 if ($pos eq 'before') { }
17 0 elsif ($pos eq 'after') { }