Condition Coverage

blib/lib/Image/ExifTool/PDF.pm
Criterion Covered Total %
condition 75 247 30.3


and 3 conditions

line !l l&&!r l&&r condition
688 2 39 0 $offset and $offset =~ /^I/
724 217 0 217 $data =~ /\S/ and not $data =~ /^\s*%/
760 0 0 0 defined $obj and ref $obj eq "HASH"
761 0 0 0 $obj->{'First'} and $obj->{'N'}
778 0 0 0 $index < $obj->{'N'} and $table->[$i] == $objNum
892 0 0 0 $objData =~ /^\d+$/ and $$dataPt =~ s/^(\d+)\s+R//s
898 0 0 70 $raf and $raf->ReadLine($data)
1045 0 0 1148 $raf and $raf->ReadLine($buff)
1074 0 0 0 $2 eq ">>" and $delim[0] eq ">"
1137 0 0 0 @lzw >= $mask and $bits < 12
1171 43 0 0 $filters[0] and $filters[0] eq "/Crypt"
1193 0 0 0 $pre and $pre ne 1
0 0 0 $pre and $pre ne 1 and $pre ne 12
1202 0 0 0 $inflate and $stat == Compress::Zlib::Z_STREAM_END()
1212 0 0 0 $pre and $pre eq 12
1291 0 0 0 $_ ge "!" and $_ le "u"
1450 0 0 4 $encrypt and ref $encrypt eq "HASH"
1454 0 0 4 $filt and $filt =~ s[^/][]
1462 4 0 0 $encrypt->{'SubFilter'} and $encrypt->{'SubFilter'} =~ m[^/(.*)]
1471 0 0 4 $encrypt->{'O'} and $encrypt->{'P'}
0 0 4 $encrypt->{'O'} and $encrypt->{'P'} and $encrypt->{'U'}
1489 0 6 0 $$flagPt and $$flagPt eq "/Identity"
1490 0 6 0 $$flagPt and $$flagPt ne "/StdCF"
1494 0 0 3 ref $encrypt->{'CF'} eq "HASH" and ref $encrypt->{'CF'}{'StdCF'} eq "HASH"
0 0 3 ref $encrypt->{'CF'} eq "HASH" and ref $encrypt->{'CF'}{'StdCF'} eq "HASH" and $encrypt->{'CF'}{'StdCF'}{'CFM'}
1548 0 1 0 $] >= "5.006" and eval { do { require Encode; &Encode::is_utf8($password) } } || $@
1691 0 0 0 $cryptInfo and $type ne "/XRef"
0 0 0 $cryptInfo and $type ne "/XRef" and $cryptInfo->{'_meta'} || $type ne '/Metadata'
1755 350 0 0 defined $unknown && !$unknown && $et->Options('ExtractEmbedded')
1766 172 112 66 $et->{'PDF_CAPTURE'} and $tagTablePtr->{'VARS'}
112 0 66 $et->{'PDF_CAPTURE'} and $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'CAPTURE'}
1773 31 35 0 $type and $type ne $name
1783 350 0 0 defined $next and not $next
1793 704 0 0 $embedded and $tag =~ /^(.*?)(\d+)$/
704 0 0 $embedded and $tag =~ /^(.*?)(\d+)$/ and $tagTablePtr->{$1}
0 0 0 $embedded and $tag =~ /^(.*?)(\d+)$/ and $tagTablePtr->{$1} and ref $val ne 'SCALAR' || !$fetched{$$val}
1800 0 0 0 ref $tagInfo eq "HASH" and $tagInfo->{'JoinStreams'}
1804 0 0 0 ref $obj eq "HASH" and $obj->{'_stream'}
1817 0 0 0 $tag eq "Next" and not $next
1867 0 0 0 not $tagInfo and defined $val
0 0 0 not $tagInfo and defined $val and $unknown
1895 37 0 0 $tagInfo->{'ConvertToDict'} and @$val == 2
37 0 0 $tagInfo->{'ConvertToDict'} and @$val == 2 and not ref $val->[0]
2003 0 75 0 not $tagInfo->{'Binary'} and $val =~ /[\x18-\x1f\x80-\xff]/
2008 63 0 12 $tagInfo->{'List'} and not $et->{'OPTIONS'}{'NoPDFList'}
2034 0 0 0 defined $list->[1] and $list->[1] =~ /^%.*?([\x0d\x0a]*)/
2137 0 18 0 ref $dict eq "HASH" and $dict->{'Linearized'}
18 0 0 ref $dict eq "HASH" and $dict->{'Linearized'} and $dict->{'L'}
2247 0 33 37 $mainDict->{'Size'} and $mainDict->{'Size'} > $mainDictSize
2256 0 0 0 $mainDict->{'Type'} eq "/XRef" and $mainDict->{'W'}
0 0 0 $mainDict->{'Type'} eq "/XRef" and $mainDict->{'W'} and @{$mainDict->{'W'};} > 2
0 0 0 $mainDict->{'Type'} eq "/XRef" and $mainDict->{'W'} and @{$mainDict->{'W'};} > 2 and $mainDict->{'Size'}
0 0 0 $mainDict->{'Type'} eq "/XRef" and $mainDict->{'W'} and @{$mainDict->{'W'};} > 2 and $mainDict->{'Size'} and &DecodeStream($et, $mainDict)
2279 70 0 0 $encrypt and $encrypt eq "null"
2280 41 0 29 $mainDict->{'ID'} and ref $mainDict->{'ID'} eq "ARRAY"

or 2 conditions

line l !l condition
591 10 0 $3 || '00'
1458 4 0 $encrypt->{'V'} || 0
1459 3 1 $encrypt->{'R'} || 0
1463 3 1 $encrypt->{'Length'} || 40
1579 1 0 $encrypt->{'Length'} || 40
1688 0 0 $dict->{'Type'} || ''
1760 280 70 $nesting || 0
1952 0 280 $subTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::PDF::ProcessDict
2001 10 65 $tagInfo->{'Format'} || $tagInfo->{'Writable'} || 'string'
2067 0 0 $dict->{'Filter'} || ''
2199 177 0 $raf->ReadLine($buff) or return -6

or 3 conditions

line l !l&&r !l&&!r condition
786 0 0 0 $$table[$i + 3] || length $obj->{'_stream'}
904 102 58 594 $delim eq "(" or $delim eq "<"
1055 0 434 0 $2 eq "(" or $2 eq ")"
1171 0 0 43 defined $dict->{'_decrypted'} or $filters[0] and $filters[0] eq "/Crypt"
1244 0 0 0 defined $name or $name eq "Identity"
1406 0 0 0 $i < 64 or $i < ord(substr $x, -1, 1) + 32
1482 1 0 3 $ver == 1 or $ver == 2
1 2 0 $ver == 4 or $ver == 5
1492 3 0 0 $cryptString or $cryptStream
1535 1 2 1 $ver < 4 or not $encrypt->{'EncryptMetadata'}
3 0 1 $ver < 4 or not $encrypt->{'EncryptMetadata'} or not $encrypt->{'EncryptMetadata'} =~ /false/i
1548 0 0 1 eval { do { require Encode; &Encode::is_utf8($password) } } || $@
1570 0 1 1 $rev == 3 or $rev == 4
1602 0 0 3 length $o < 48 or length $u < 48
1672 1 2 1 $cryptInfo->{'_aesv2'} or $cryptInfo->{'_aesv3'}
1691 0 0 0 $cryptInfo->{'_meta'} || $type ne '/Metadata'
1793 0 0 0 ref $val ne 'SCALAR' || !$fetched{$$val}
1853 0 0 0 ref $_ eq "HASH" or ref $_ eq "SCALAR"
1871 0 0 0 $val2 || $val
2070 0 0 0 $filter eq "/DCTDecode" or $filter eq "/JPXDecode"