Branch Coverage

blib/lib/Image/ExifTool/FlashPix.pm
Criterion Covered Total %
branch 188 422 44.5


line true false branch
1364 0 0 if $val
1381 0 1 if $dirEnd < 4
1388 0 18 unless defined $value
1395 1 2 if length $vals[$i + 5]
1416 46 264 if ($flags)
1417 46 0 if ($flags == 4096) { }
1420 0 46 if ($valPos + $size > $dirEnd)
1425 0 46 if $count == 0
1433 101 209 unless ($format =~ /^VT_/)
1435 0 101 if ($valPos + $size > $dirEnd)
1447 0 216 if ($valPos + $size > $dirEnd)
1452 2 33 if ($noPad and defined $len and $len & 3)
1454 2 0 if ($valPos + $pad + $size <= $dirEnd)
1456 0 2 if substr($$dataPt, $valPos, $pad) eq "\0" x $pad
1460 24 192 if ($format eq 'VT_VARIANT') { }
50 142 elsif ($format eq 'VT_FILETIME') { }
0 142 elsif ($format eq 'VT_DATE') { }
117 25 elsif ($format =~ /STR$/) { }
2 23 elsif ($format eq 'VT_BLOB' or $format eq 'VT_CF') { }
23 0 elsif ($format eq 'VT_CLSID') { }
1464 0 24 unless defined $val
1472 49 1 if ($val > 365 * $secDay)
1478 0 49 if ($val < 0 or $val > $sec100yr)
1482 0 0 if ($v2 > 0 and $v2 < $sec100yr) { }
0 0 elsif ($val < 0 and $val + $unixTimeZero > 0) { }
1494 0 0 if $val != 0
1498 98 19 if $format eq "VT_LPWSTR"
1499 0 117 if ($valPos + $len + 4 > $dirEnd)
1504 98 19 if ($format eq 'VT_LPWSTR') { }
19 0 elsif ($codePage) { }
1509 19 0 if ($charset) { }
0 0 elsif ($codePage == 1200) { }
1519 29 88 $noPad ? :
1522 0 2 if ($valPos + $len + 4 > $dirEnd)
1537 0 209 if @vals > 1 and not wantarray
1542 268 42 if (wantarray) { }
0 42 elsif (@vals > 1) { }
1569 0 0 if ($$dataPt =~ /^..\0+\xff\xff\x01\0\x0d\0CDocumentPage/s) { }
0 0 elsif ($$dataPt =~ /^\0{4}.(.{1,255})\x60\xa1\x3f\x22\0{5}(.{8})/gs) { }
1581 0 0 if ($$dataPt =~ /\G\x01\0{4}(.{12})/gs)
1585 0 0 if ($size and pos($$dataPt) + $size < length $$dataPt)
1597 0 0 if $index == 4294967295
1598 0 0 if $et->{'IeImg_lkup'}{$index}
1600 0 0 if $1
1607 0 0 if ($$dataPt =~ /<\0\?\0x\0p\0a\0c\0k\0e\0t\0 \0b\0e\0g\0i\0n\0=\0['"](\0\xff\xfe|\xfe\xff)/g)
1609 0 0 if ($$dataPt =~ /<\0\?\0x\0p\0a\0c\0k\0e\0t\0 \0e\0n\0d\0=\0['"]\0[wr]\0['"]\0\?\0>\0?/g)
1614 0 0 if $et->{'FILE_TYPE'} ne "FLA" and $et->{'VALUE'}{'Format'} and $et->{'VALUE'}{'Format'} eq "application/vnd.adobe.fla"
1617 0 0 if $isFLA
1628 0 0 unless my $dataPt = $dirInfo->{'DataPt'}
1631 0 0 unless ($dirLen > 2 and &Get16u($dataPt, 0) == 42476)
1638 0 0 if $pos + 2 > $dirLen
1641 0 0 if $pos + 2 > $dirLen
1644 0 0 if $pos + 2 > $dirLen
1647 0 0 if $pos + $n * 8 > $dirLen
1652 0 0 if $off + 8 > $n * 8
1684 0 1 $i ? :
1686 1 0 unless defined $offsets
1688 0 0 if $extra->{$key}
1689 0 0 unless $doc
1693 0 0 $j ? :
1694 0 0 unless defined $value->{$key}
1696 0 0 if $extra->{$key}
1697 0 0 unless $tmp
1698 0 0 if ($tmp eq $doc)
1703 0 0 unless defined $docFlags
1704 0 0 $docFlags & 512 ? :
1707 0 0 $j ? :
1708 0 0 unless defined $value->{$key}
1710 0 0 if $extra->{$key}
1711 0 0 unless $tmp
1712 0 0 if ($tmp eq $doc)
1717 0 0 unless defined $docTable
1722 0 0 unless @$offsets
1725 0 0 unless $len and $off + $len <= length $$docTable
1737 0 3 $i ? :
1738 3 0 unless defined $value->{$key}
1758 0 0 if $pos + $len * 2 > $end
1776 0 0 if $pos + 6 > $end
1781 0 0 if $pos + 2 > $end
1784 0 0 if $pos + $len * 2 > $end
1787 0 0 if $pos + 2 > $end
1790 0 0 if $pos + $len * 2 > $end
1807 2 23 if $bom == 65534
1808 0 23 unless $bom == 65279
1827 0 25 if ($dirLen < 48)
1832 0 25 unless (&CheckBOM($dataPt, $pos))
1838 0 25 if ($pos < 48)
1845 0 26 if $pos + 8 > $dirEnd
1848 0 26 unless $size
1850 0 26 if $verbose
1851 0 26 if ($pos + 8 + 8 * $numEntries > $dirEnd)
1861 0 269 if $valStart >= $dirEnd
1864 1 268 if ($tag == 0)
1868 0 6 if $valPos + 8 > $dirEnd
1872 0 6 if $valPos > $dirEnd
1875 0 6 unless length $name
1877 2 4 if $tagTablePtr->{$name}
1881 0 4 unless length $name
1882 0 4 if $verbose
1889 6 262 if (defined $dictionary{$tag})
1894 0 268 unless @vals
1895 4 264 @vals > 1 ? :
1899 46 222 if $flags
1903 26 242 if (not $custom and $tag == 1 || $tag == 2147483648) { }
56 186 elsif ($tagTablePtr->{$tag}) { }
184 4 elsif ($tagTablePtr->{'VARS'} and not $custom) { }
1907 26 0 if ($tag == 1)
1908 0 26 if $val < 0
1918 184 152 if ($masked->{$mask}{$tag & $mask})
1935 0 26 if $index < $numEntries
1936 24 2 unless $dirInfo->{'Multi'}
1949 0 6 unless $raf
1953 6 33 if $sect >= 4294967294
1954 0 33 if $loadedSect{$sect}
1957 0 33 unless $offset <= 2147483647 || $raf->{'LargeFileSupport'} and $raf->Seek($offset, 0) and $raf->Read($buff, $sectSize) == $sectSize
1962 0 33 if $sect * 4 > length($$fatPt) - 4
1980 0 67 if ($dirLen < 13)
1988 21 46 if ($type == 1) { }
46 0 elsif ($type == 2) { }
0 0 elsif ($type != 3) { }
1990 0 21 if $vers != 0
1991 0 21 if ($et->{'FPXR'})
1997 0 21 if $verbose
2001 0 48 if ($pos + 4 > $dirLen)
2010 0 48 unless ($$dataPt =~ m[\G(/\0(..)*?)\0\0]gs)
2016 0 48 if ($verbose)
2017 0 0 $size == 4294967295 ? :
2024 2 46 if ($size == 4294967295)
2025 0 2 unless ($$dataPt =~ /(.{16})/gs)
2034 25 23 unless ($tagTablePtr->{$name})
2038 23 2 if $name =~ /(.*) \d{6}$/s and $tagTablePtr->{$1} or $name =~ /(.*)_[0-9a-f]{16}$/s and $tagTablePtr->{$1}
2060 46 0 if ($fpxr and $fpxr->[$index]) { }
0 0 elsif ($index == 512 and $dirLen > 60 and $et->{'FujiPreview'} || $dirLen > 64 && substr($$dataPt, $dirStart + 60, 4) eq "\377\330\377\333") { }
2063 46 0 if (not defined $obj->{'Stream'}) { }
2071 0 0 if ($overlap < 0 or $dirLen - $overlap < 13) { }
2083 46 0 if ($len >= $obj->{'Size'})
2084 0 46 if $verbose
2085 0 46 if ($len > $obj->{'Size'})
2100 0 0 unless defined $et->{'FujiPreview'}
2105 0 0 if $index != 255
2115 21 46 if ($dirInfo->{'LastFPXR'})
2116 21 0 if ($et->{'FPXR'})
2119 48 0 unless defined $obj->{'Stream'} and length $obj->{'Stream'}
2128 0 21 if ($et->{'FujiPreview'})
2143 0 5 unless my $obj = $hier->{$index}
2144 0 5 if exists $obj->{'DocNum'}
2146 2 3 if $obj->{'Left'}
2147 1 4 if $obj->{'Right'}
2148 1 4 if (defined $obj->{'Child'})
2149 1 0 unless $used
2151 0 1 if $doc
2154 0 1 if ($meta) { }
0 1 elsif (@subDoc) { }
2177 0 1 unless $raf->Read($buff, 512) == 512
2179 0 1 unless $buff =~ /^\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1/
2183 0 1 unless $fileType and $fpxFileType{$fileType}
2185 0 1 substr($buff, 28, 2) eq "\377\376" ? :
2201 0 1 if ($verbose)
2216 0 1 $sectSize > 512 ? :
2222 108 1 if $sect == 4294967295
2225 0 1 unless ($raf->Seek($offset, 0) and $raf->Read($fatSect, $sectSize) == $sectSize)
2234 1 0 if $difStart >= 4294967294
2236 0 0 if (++$difCountCheck > $difCount)
2240 0 0 if ($loadedDifSect{$difStart})
2245 0 0 unless ($raf->Seek($offset, 0) and $raf->Read($buff, $sectSize) == $sectSize)
2256 0 1 if ($fatCountCheck != $fatCount)
2264 0 1 unless (defined $miniFat and defined $dir)
2268 0 1 if ($verbose)
2279 0 1 if ($verbose)
2293 3 5 if $type == 0
2294 0 5 if ($type > 5)
2302 3 2 if $len > 32
2310 1 4 unless ($miniStream)
2312 0 1 unless (defined $miniStreamBuff)
2320 3 2 if ($tagTablePtr->{$tag}) { }
2327 0 0 if $tag =~ /(.*) \d{6}$/s and $tagTablePtr->{$1} or $tag =~ /(.*)_[0-9a-f]{16}$/s and $tagTablePtr->{$1} or $tag =~ /(.*)_[0-9]{4}$/s and $tagTablePtr->{$1}
2336 4 1 unless $obj = $hier{$index}
2337 2 3 unless $lSib == 4294967295
2338 1 4 unless $rSib == 4294967295
2339 1 4 unless ($chld == 4294967295)
2341 1 0 unless $sub = $hier{$chld}
2345 2 3 unless $tagInfo or $verbose
2350 3 0 if ($typeStr eq 'STREAM') { }
0 0 elsif ($typeStr eq 'ROOT') { }
2351 0 3 if ($size >= $miniCutoff) { }
3 0 elsif ($size) { }
2360 0 3 unless (defined $buff)
2361 0 0 $tagInfo ? :
2372 0 3 if ($verbose)
2376 0 0 unless $lSib == 4294967295
2377 0 0 unless $rSib == 4294967295
2378 0 0 unless $chld == 4294967295
2387 3 0 if ($tagInfo and $buff)
2390 2 1 if ($subdir) { }
0 1 elsif (defined $size and $size > length $buff) { }
2402 1 0 if defined $size and $size < length $buff
2403 0 1 if ($tag =~ /^IeImg_0*(\d+)$/) { }
2408 0 0 if ($et->{'IeImg_lkup'} and $et->{'IeImg_lkup'}{$num})
2412 0 0 if ($et->{'IeImg_class'} and $et->{'IeImg_class'}{$num})
2428 1 0 unless ($et->{'DOC_NUM'})
2436 11 39 unless defined $num and $objIndex{$num}
2437 0 39 unless my $obj = $hier{$objIndex{$num}}
2439 39 0 unless $docNums and @$docNums
2441 0 0 unless $tag =~ / /
2447 0 0 unless defined $et->{'VALUE'}{$key}
2449 0 0 if $extra and $extra->{'G3'}
2460 0 1 if $verbose
2462 0 1 if ($et->{'FileType'} eq "FPX")
2464 0 0 if ($val)
2468 0 0 unless $val =~ /$pat/
2477 0 1 if ($et->{'IeImg_lkup'} and %{$et->{'IeImg_lkup'};})