Branch Coverage

blib/lib/PICA/Record.pm
Criterion Covered Total %
branch 118 158 74.6


line true false branch
84 13 522 unless @_
88 521 1 if (defined $first) { }
90 7 514 if ($#_ == 0 and ref \$first eq 'SCALAR') { }
6 508 elsif (ref $first eq 'GLOB' or eval { do { $first->isa('IO::Handle') } }) { }
93 1 6 if (@l2 > @lines)
99 5 57 if $line =~ /^\s*$/
102 57 0 if $field
128 4 53 looks_like_number($_[0]) ? :
131 4 53 ref $specs[-1] eq 'CODE' ? :
132 1 56 if $test and not @specs
134 0 57 unless @specs
141 43 266 if ($maybe->tag =~ /$regex/)
143 38 5 if (not $test or &$test($maybe))
144 3 35 unless wantarray
146 5 30 if ($limit > 0)
147 2 3 unless --$limit
163 8 559 looks_like_number($_[0]) ? :
164 0 567 unless defined $_[0]
172 0 574 unless $tag =~ /^([^\$_]{3,})([\$_]([^\$_]+))?/
174 560 14 if (defined $2) { }
180 0 574 unless defined $subfield
185 582 228 if ($f->tag =~ /$tag_regex/)
187 580 2 if (@s)
188 545 35 unless wantarray
189 10 25 if ($limit > 0)
190 5 5 if (scalar @s >= $limit)
202 2 15 unless wantarray
219 0 685 if @_
232 0 1 unless $$self{'_fields'}[0]
259 152 9035 if $f->tag =~ /^0/
261 175 8860 if ($f->tag eq '101@' and defined $f->sf('a')) { }
0 8860 elsif ($curiln eq '') { }
264 0 175 if (@pending)
279 0 7 if @pending
281 2 5 if ($iln)
283 0 2 unless $holdings{$iln}
298 2 5 $iln ? :
310 63 3269 unless $f->tag =~ /^[^0]/
312 181 3088 if ($f->tag =~ /^1/) { }
314 57 124 if @fields
317 0 3088 unless $f->tag =~ m[^2.../(..)]
319 385 2703 unless ($prevocc and $prevocc eq $1)
321 323 62 if @fields
328 5 0 if @fields
336 36 0 unless $field->empty
344 1 3 if (@_)
346 1 0 if (defined $ppn) { }
390 36 494 if (@_)
396 36 0 if @params > 1
414 2 0 if $field
424 0 8 unless PICA::Field::parse_pp_tag($tag)
429 1 7 unless @_
431 1 6 if (not defined $_[0]) { }
4 2 elsif (UNIVERSAL::isa($_[0], 'PICA::Field') or ref $_[0] eq 'CODE') { }
442 7 26 if ($field->tag =~ /$regex/)
444 2 5 if (UNIVERSAL::isa($replace, 'CODE'))
446 1 1 unless UNIVERSAL::isa($rep, 'PICA::Field')
448 6 1 if (defined $rep)
449 3 3 if $rep->tag eq '003@'
452 5 2 unless ref $replace eq 'CODE'
462 0 5 unless @specs
470 32 15 if ($maybe->tag =~ /$regex/) { }
471 1 31 if $maybe->tag eq '003@'
504 0 0 unless defined $eln
507 0 0 unless defined $status
509 0 0 defined $params{'timestamp'} ? :
539 34 0 unless defined $args{'endfield'}
552 6 0 unless $prefix
569 0 0 unless (UNIVERSAL::isa($writer, 'XML::Writer'))
571 0 0 unless (defined $params{'OUTPUT'})
578 0 0 if (UNIVERSAL::isa($writer, 'XML::Writer::Namespaces')) { }
588 0 0 defined $sref ? :
609 0 3 unless $writer
617 1 1 @_ == 1 && UNIVERSAL::isa($_[0], 'PICA::Record') ? :
623 2 4 if &$block()
632 1 0 @_ == 1 && UNIVERSAL::isa($_[0], 'PICA::Record') ? :
639 0 3 if (@r == 1 and UNIVERSAL::isa($_[0], 'PICA::Field')) { }
652 0 3 if (wantarray and defined $options{'Limit'})
657 0 3 unless $record and not $record->empty