Branch Coverage

lib/MARC/Transform.pm
Criterion Covered Total %
branch 237 374 63.3


line true false branch
12 0 0 if $DEBUG
30 0 29 if (-e $yaml) { }
31 0 0 unless open my $yamls, "< $yaml"
47 6 23 if $mth
49 0 29 if $verb
51 67 12 if (ref $rulesub eq 'HASH')
52 6 61 if (defnonull($rulesub->{'global_subs'}))
56 3 64 if (defnonull($rulesub->{'global_LUT'}))
57 3 0 if (ref $rulesub->{'global_LUT'} eq 'HASH')
65 12 67 if (ref $rule eq 'ARRAY') { }
67 0 elsif (ref $rule eq 'HASH') { }
68 7 21 if (defnonull($rul->{'subs'}))
71 3 25 if (defnonull($rul->{'LUT'}))
79 12 1 if ($boolcondition)
86 0 67 if (defnonull($rule->{'subs'}))
89 1 66 if (defnonull($rule->{'LUT'}))
106 165 881 if (defined $var and $var ne '') { }
110 5 6 unless (defined $type)
115 11 0 if (ref $global_LUT eq 'HASH')
116 11 0 if (exists $global_LUT->{$type})
118 11 0 if (ref $correspondance eq 'HASH')
120 9 21 if ($inLUT eq $cor)
125 2 9 if ($boolnocor)
126 1 1 if defnonull($correspondance->{'_default_value_'})
127 2 0 if $mth
164 34 53 if ($ttype eq 'forceupdate' or $ttype eq 'forceupdatefirst')
165 28 6 if (ref $field eq '' or ref $field eq 'SCALAR')
166 10 18 unless (defined $record->field($field))
169 27 60 if (ref $field eq 'MARC::Field') { }
60 0 elsif (ref $field eq '' or ref $field eq 'SCALAR') { }
172 0 27 if ($tag eq 'i1' or $tag eq "\302\265") { }
0 27 elsif ($tag eq 'i2' or $tag eq "\302\243") { }
176 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
181 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
184 27 0 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
0 0 elsif (ref $subfields->{$tag} eq 'ARRAY') { }
185 0 27 if ($field->is_control_field) { }
191 6 21 if ($ttype eq 'create') { }
1 20 elsif ($ttype eq 'updatefirst') { }
3 17 elsif ($ttype eq 'forceupdatefirst') { }
197 1 0 if (defined $field->subfield($tag))
205 3 0 if (defined $field->subfield($tag)) { }
219 0 0 if (not $field->is_control_field) { }
221 0 0 if ($ttype eq 'create') { }
0 0 elsif ($ttype eq 'updatefirst') { }
0 0 elsif ($ttype eq 'forceupdatefirst') { }
227 0 0 if (defined $field->subfield($tag))
234 0 0 if (defined $field->subfield($tag)) { }
253 17 10 if (not $field->is_control_field and $ttype eq 'update' || $ttype eq 'forceupdate')
256 15 43 if (exists $$subfields{$$subfield[0]}) { }
268 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))
269 2 0 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
272 2 0 if $ttype eq 'forceupdate'
284 32 28 if ($ttype eq 'update' or $ttype eq 'updatefirst' or $ttype eq 'forceupdate' or $ttype eq 'forceupdatefirst') { }
28 0 elsif ($ttype eq 'create') { }
285 32 0 if (defined $record->field($field))
288 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') { }
291 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
296 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
299 2 44 if ($updatefield->is_control_field) { }
7 37 elsif ($ttype eq 'updatefirst') { }
3 34 elsif ($ttype eq 'forceupdatefirst') { }
305 6 1 if (defined $updatefield->subfield($tag))
312 2 1 if (defined $updatefield->subfield($tag)) { }
328 31 9 if (not $updatefield->is_control_field and $ttype eq 'update' || $ttype eq 'forceupdate')
331 26 95 if (exists $$subfields{$$subfield[0]}) { }
342 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))
343 13 0 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
346 12 1 if $ttype eq 'forceupdate'
361 2 26 if ($field < 10) { }
369 0 35 if ($tag eq 'i1' or $tag eq "\302\265") { }
0 35 elsif ($tag eq 'i2' or $tag eq "\302\243") { }
371 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
375 0 0 if ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR'
378 31 4 if (ref $subfields->{$tag} eq '' or ref $subfields->{$tag} eq 'SCALAR') { }
4 0 elsif (ref $subfields->{$tag} eq 'ARRAY') { }
379 2 29 if ($newfield->is_control_field) { }
389 4 0 unless ($newfield->is_control_field)
398 26 2 unless ($newfield->is_control_field)
415 24 94 if ($subfieldtemp =~ /\\&/) { }
434 20 60 if (defnonull($rul->{'create'}))
438 6 74 if (defnonull($rul->{'duplicatefield'}))
442 22 58 if (defnonull($rul->{'forceupdate'}))
446 3 77 if (defnonull($rul->{'forceupdatefirst'}))
450 11 69 if (defnonull($rul->{'update'}))
454 3 77 if (defnonull($rul->{'updatefirst'}))
458 7 73 if (defnonull($rul->{'execute'}))
462 12 68 if (defnonull($rul->{'delete'}))
479 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') { }
480 59 0 if (ref $intaction eq 'HASH') { }
482 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') { }
486 0 11 if ($kint =~ /^\$f(\d{3})$/) { }
11 0 elsif ($kint =~ /^f(\d{3})$/) { }
500 19 3 if (ref $subint->{$k} eq '' or ref $subint->{$k} eq 'SCALAR') { }
3 0 elsif (ref $subint->{$k} eq 'ARRAY') { }
502 6 13 if $subint->{$k} =~ /\$f/
511 0 8 if $ssubint =~ /\$f/
523 6 5 if ($boolin) { }
530 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)$/) { }
539 0 0 if $2 eq '1'
540 0 0 if $2 eq '2'
549 0 0 if $2 eq '1'
550 0 0 if $2 eq '2'
555 0 0 if $1 eq '1'
556 0 0 if $1 eq '2'
569 6 71 if $intaction->{$kint} =~ /\$f/
573 31 46 if ($boolin) { }
580 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)$/) { }
589 0 0 if $2 eq '1'
590 0 0 if $2 eq '2'
599 0 0 if $2 eq '1'
600 0 0 if $2 eq '2'
614 0 2 if $sintaction =~ /\$f/
620 0 1 if ($boolin) { }
629 3 3 if (ref $intaction eq 'ARRAY') { }
3 0 elsif (ref $intaction eq '' or ref $intaction eq 'SCALAR') { }
631 7 0 if (ref $vint eq '' or ref $vint eq 'SCALAR') { }
632 3 4 if ($vint =~ /^\$f(\d{3})\s?>\s?f(\d{3})$/) { }
4 0 elsif ($vint =~ /^f(\d{3})\s?>\s?f(\d{3})$/) { }
633 2 1 if ($1 < 10 and $2 < 10) { }
1 0 elsif ($1 >= 10 and $2 >= 10) { }
645 1 3 if ($1 < 10 and $2 < 10) { }
3 0 elsif ($1 >= 10 and $2 >= 10) { }
671 3 0 if ($vint =~ /^\$f(\d{3})\s?>\s?f(\d{3})$/) { }
0 0 elsif ($vint =~ /^f(\d{3})\s?>\s?f(\d{3})$/) { }
672 1 2 if ($1 < 10 and $2 < 10) { }
2 0 elsif ($1 >= 10 and $2 >= 10) { }
684 0 0 if ($1 < '010' and $2 < '010') { }
0 0 elsif ($1 >= '010' and $2 >= '010') { }
708 3 9 if (ref $intaction eq 'ARRAY') { }
9 0 elsif (ref $intaction eq '' or ref $intaction eq 'SCALAR') { }
710 6 0 if (ref $vint eq '' or ref $vint eq 'SCALAR') { }
712 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)$/) { }
738 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)$/) { }
762 7 0 if (ref $intaction eq '' or ref $intaction eq 'SCALAR') { }
0 0 elsif (ref $intaction eq 'ARRAY') { }
763 0 7 if ($intaction =~ /\$(f|i)(\d{3})/) { }
772 0 0 if ($sintaction =~ /\$(f|i)(\d{3})/) { }
793 7 73 if $subs ne ''
797 60 20 if (defnonull($rul->{'condition'})) { }
799 68 86 if ($_ =~ /^(f)(\d{3}\w)(.*)$/) { }
0 86 elsif ($_ =~ /^(i)(\d{3})(.*)$/) { }
806 68 20 if (substr($subtag, 0, 3) eq $tag)
807 0 68 if (length $subtag == 3) { }
832 63 0 unless $globalconditionstart =~ /$matchdelaration/
834 66 2 if (defined $record->field($tag))
839 58 4 if ($subtag ne 'tempvalueforcurrentfield' and $tag > 10) { }
4 0 elsif ($subtag ne 'tempvalueforcurrentfield') { }
849 10 56 unless $boolsubtagrule
853 5 55 unless $booltagrule
856 0 60 if $verbose
857 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}).*]) { }
860 0 20 if $verbose
869 2 56 unless $record and $record->fields
872 178 29 if (not $field->is_control_field) { }
873 177 1 if (scalar $field->subfields > 0)
876 153 208 if ($pos eq 'before') { }
208 0 elsif ($pos eq 'after') { }
893 12 17 if ($pos eq 'before') { }
17 0 elsif ($pos eq 'after') { }