Condition Coverage

blib/lib/PDF/Builder/Basic/PDF/File.pm
Criterion Covered Total %
condition 65 156 41.6


and 3 conditions

line !l l&&!r l&&r condition
260 18 0 0 defined $options{'-diags'} and not defined $options{'diags'}
299 0 18 0 defined $2 and length $2 > 0
360 22 4 5 defined $trailer_version && $trailer_version > $header_version
368 3 0 0 defined $opts{'-silent'} and not defined $opts{'silent'}
429 6 0 0 defined $opts{'-silent'} and not defined $opts{'silent'}
489 5 0 0 defined $opts{'-silent'} and not defined $opts{'silent'}
499 3 2 0 defined $old_version and $old_version > $version
576 5878 340 2527 builtin::blessed($item) and $item->can("release")
727 170 0 0 defined $self->{' newroot'} && $self->{' newroot'} ne ''
745 170 0 0 $^O eq "MacOS" and not ref $self->{' fname'}
823 151 0 11 $str =~ s/^stream(?:(?:\015\012)|\012|\015)// and $result->{'Length'}->val != 0
844 96 28 38 defined $result->{'Type'} and defined $PDF::Builder::Basic::PDF::File::types{$result->{'Type'}->val}
978 2 364 4 $update and $str =~ /^$re_whitespace*$/s || $str =~ /^$re_whitespace+[0-9]+$re_whitespace*$/s
1128 1385 14 0 defined $self->{' free'} and scalar @{$self->{' free'};} > 0
1145 1400 0 0 defined $i and $i != 0
1362 0 0 0 $obj->isa("PDF::Builder::Basic::PDF::Dict") and $obj->{'Linearized'}
1569 21 0 0 defined $options{'-diags'} and not defined $options{'diags'}
1630 23 0 0 $entry_size != 20 and $options{'diags'} == 1
1641 23 0 132 $xnum-- > 0 and $buf =~ /^$PDF::Builder::Basic::PDF::File::ws_char*(\d+)$PDF::Builder::Basic::PDF::File::ws_char+(\d+)$PDF::Builder::Basic::PDF::File::ws_char+([nf])$PDF::Builder::Basic::PDF::File::ws_char*$PDF::Builder::Basic::PDF::File::cr/
1667 114 18 0 $xmin == 0 and $subsection_count > 1
132 0 0 $xmin == 0 and $subsection_count > 1 and $options{'diags'} == 1
1687 0 0 0 $subsection_count == 1 and exists $xlist->{'1'}
1690 0 0 0 $xlist->{'1'}[0] == 0 and $xlist->{'1'}[1] == 65535
0 0 0 $xlist->{'1'}[0] == 0 and $xlist->{'1'}[1] == 65535 and $xlist->{'1'}[2] eq "f"
1726 18 0 0 $xlist->{$_}[1] <= 0 and $options{'diags'} == 1
1732 114 0 0 $xlist->{$_}[0] <= 0 and $options{'diags'} == 1
1735 114 0 0 $xlist->{$_}[1] < 0 and $options{'diags'} == 1
1746 18 0 0 $xlist->{'0'}[1] != 65535 and $options{'diags'} == 1
1760 0 18 0 $next_free and exists $xlist->{$next_free}
1761 18 0 0 scalar @free_list and $options{'diags'} == 1
1766 18 0 0 not $buf =~ /^\s*trailer\b/i and $options{'diags'} == 1
1819 26 0 0 $cols[0] > 2 and $options{'diags'} == 1
1845 18 0 3 defined $tdict->{'Prev'} and $tdict->{'Prev'}->val != 0
1921 1066 0 0 defined $freelist[$k] and defined $xref
1066 0 0 defined $freelist[$k] and defined $xref and "$freelist[$k]" eq "$xref"
1947 178 0 0 exists $tdict->{'Type'} and $tdict->{'Type'}->val eq "XRef"
1969 0 0 0 $_->[1] == 65535 and $_->[2] eq "f"

or 2 conditions

line l !l condition
619 8 0 $self->{' version'} || 1.4
692 0 0 'IO::File'->new(">$filename") || die("Unable to open $filename for writing")
697 170 0 $self->{' version'} // "1.4"
1018 86 0 $self->read_objnum($objind->{' objnum'}, $objind->{' objgen'}, %opts) || (return)
1044 94 0 $self->locate_obj($num, $gen) || (return)
1839 21 0 $xmin ||= 0

or 3 conditions

line l !l&&r !l&&!r condition
732 0 170 0 $self->{'Size'} || PDFNum(1)
978 4 2 362 $str =~ /^$re_whitespace*$/s || $str =~ /^$re_whitespace+[0-9]+$re_whitespace*$/s
1152 0 0 0 $self->test_obj($i, $ng) || $self->add_obj('PDF::Builder::Basic::PDF::Objind'->new, $i, $ng)
1339 0 0 0 $nl < $minl or $mini == 0
1355 0 0 0 not $res or $res->is_obj($outpdf)
1435 11 0 0 $str =~ /endstream/ or $fh->eof
1441 3209 42 128 $str =~ /$PDF::Builder::Basic::PDF::File::cr/ or $fh->eof
1448 1 0 0 $str =~ /$PDF::Builder::Basic::PDF::File::cr/ or $fh->eof
1644 132 0 0 $buf =~ /^\d{10} \d{5} [nf]$PDF::Builder::Basic::PDF::File::cr/ or $entry_format_error
1684 18 0 0 exists $xlist->{'0'} or $xrefListEmpty
1911 178 12 1054 $i > $#xreflist or $self->{' objects'}{$xreflist[$i]->uid}[0] != $j + 1