Condition Coverage

blib/lib/Image/ExifTool/Nikon.pm
Criterion Covered Total %
condition 31 144 21.5


and 3 conditions

line !l l&&!r l&&r condition
11779 1 0 4 defined $serial and defined $count
11832 0 0 0 $raf->Seek(-20 - $offset, 2) and $raf->Read($buff, 20) == 20
0 0 0 $raf->Seek(-20 - $offset, 2) and $raf->Read($buff, 20) == 20 and substr($buff, -16) eq "\0\0\0\0\0\0/NIKON APP"
11856 0 0 0 $trailerLen >= 64 and $raf->Seek($fileEnd - $trailerLen, 0)
0 0 0 $trailerLen >= 64 and $raf->Seek($fileEnd - $trailerLen, 0) and $raf->Read($buff, 64) == 64
0 0 0 $trailerLen >= 64 and $raf->Seek($fileEnd - $trailerLen, 0) and $raf->Read($buff, 64) == 64 and $buff =~ /NIKON APP\0/
11869 0 0 0 $id == 0 and $len == 0
11928 0 0 0 $rational and $key
11950 3 0 0 $ignoreSubdir and $tagInfo->{'SubDirectory'}
11971 3 0 0 $vars->{'NIKON_OFFSETS'} and not $vars->{'NIKON_INITIALIZED'}
11997 0 2 2 @tagIDs and $tagIDs[0] < $start
12075 0 0 0 ref $tagInfo eq "HASH" and defined($subdir = $tagInfo->{'SubDirectory'})
12076 0 0 0 $tagInfo and ref $tagInfo ne 'HASH' || !$tagInfo->{'Unknown'}
12082 0 0 0 $subdir and $subdir->{'KnownEnd'}
12110 0 0 3 defined $serial and defined $count
0 0 3 defined $serial and defined $count and $serial =~ /^\d+$/
0 0 3 defined $serial and defined $count and $serial =~ /^\d+$/ and $count =~ /^\d+$/
12113 0 0 0 defined $serial and defined $count
12144 0 0 3 $tagInfo and $tagInfo->{'SubDirectory'}
12162 0 2 1 $dMode == 0 and $subdir->{'KnownStart'}
12178 0 0 3 $len and $len < $maxLen
12241 0 0 24 $dirStart >= 0 and $dirStart <= $dataLen - 2
12250 0 0 0 $raf->Seek($dataPos + $base, 0) and $raf->Read($data, 2) == 2
12278 0 0 0 $raf and $raf->Seek($base + $valuePtr + $dataPos, 0)
0 0 0 $raf and $raf->Seek($base + $valuePtr + $dataPos, 0) and $raf->Read($buff, $size) == $size
12314 0 0 2 $count and $count * 12 + 2 <= $dirLen

or 2 conditions

line l !l condition
11456 0 0 $dirInfo->{'DirStart'} || 0
11621 0 0 $norm || 'Normal'
11626 0 0 $fmt || '%+d'
0 0 $div || 1
11637 36 19 $div || 1
11829 0 0 $dirInfo->{'Offset'} || 0
11951 0 1 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'} || 'int8u'
11990 3 0 $subdir->{'DecryptStart'} || 0
12148 3 0 $subdir->{'DecryptStart'} || 0
12233 7 17 $dirInfo->{'DataPos'} || 0
12235 24 0 $dirInfo->{'DirStart'} || 0
12236 24 0 $dirInfo->{'Base'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
11778 1 0 4 not defined $len or $len > $maxLen
11815 8 24 0 not defined $serial or $serial =~ /^\d+$/
11843 0 0 0 $trailerLen > $fileEnd or not $raf->Seek($dirInfo->{'DataPos'}, 0)
0 0 0 $trailerLen > $fileEnd or not $raf->Seek($dirInfo->{'DataPos'}, 0) or $raf->Read(${$$dirInfo{"OutFile"};}, $trailerLen) != $trailerLen
11854 0 0 0 $verbose or $et->{'HTML_DUMP'}
12027 0 0 0 $offset + 4 > $dataLen or $offset < $start
12046 0 0 0 ref $tagInfo ne "HASH" or not $tagInfo->{'Unknown'}
12076 0 0 0 ref $tagInfo ne 'HASH' || !$tagInfo->{'Unknown'}
12094 0 0 0 $decryptMode == 2 or not $end
0 0 0 $decryptMode == 2 or not $end or $end < $dpos
12111 0 0 0 defined $serial or defined $count
12155 0 0 3 $verbose > 2 || $et->Options('Unknown') > 1
12266 0 0 8 $format < 1 or $format > 13
12277 0 0 1 $valuePtr < 0 or $valuePtr + $size > $dataLen