Branch Coverage

blib/lib/Image/ExifTool/Matroska.pm
Criterion Covered Total %
branch 66 166 39.7


line true false branch
905 0 0 unless (ref $tagInfo eq "HASH")
909 0 0 if length $name < 2
914 0 0 if ($pid) { }
917 0 0 unless ($tagTbl->{$id})
926 0 0 if (defined $struct->{'TagString'} or defined $struct->{'TagBinary'})
927 0 0 defined $struct->{'TagString'} ? :
931 0 0 $lang ? :
0 0 if $ctry
932 0 0 if ($code) { }
939 0 0 if ($tag eq "COUNTRY")
944 0 0 if ($struct->{'struct'})
958 1 135 if $_[1] >= length $_[0]
961 0 135 unless ($val)
962 0 0 if $_[1] >= length $_[0]
964 0 0 unless $val
974 0 135 if $_[1] + $num > length $_[0]
977 79 0 if $b != 255
981 0 135 $unknown ? :
995 0 1 unless $raf->Read($buff, 4) == 4
996 0 1 unless $buff =~ /^\x1a\x45\xdf\xa3/
999 0 1 unless $raf->Read($buff, 65532)
1005 0 1 unless $hlen and $hlen > 0
1006 0 1 if $pos + $hlen > $dataLen
1013 0 1 $verbose || $et->Options('Unknown') > 1 ? :
1014 0 1 if $et->Options("ExtractEmbedded")
1024 11 62 if ($pos + $dataPos >= $dirEnd[-1][0]) { }
1025 4 7 if ($dirEnd[-1][1] eq "Seek")
1027 4 0 if (defined $seekInfo{'ID'} and defined $seekInfo{'Position'})
1029 4 0 if (ref $seekTag eq "HASH" and $seekTag->{'Name'})
1036 0 11 if ($struct)
1037 0 0 if (@dirEnd and $dirEnd[-1][2]) { }
1039 0 0 unless $dirEnd[-1][2]{'struct'}
1048 11 0 @dirEnd ? :
1050 3 8 if $trackIndent and $trackIndent eq $et->{'INDENT'}
1060 0 66 if ($pos + 24 > $dataLen and $raf->Read($buf2, 65536))
1068 1 65 unless defined $tag and $tag >= 0
1069 1 64 if $tag == 21863284
1071 0 65 unless defined $size
1073 0 65 if $size < 0
1074 0 65 if (@dirEnd and $pos + $dataPos + $size > $dirEnd[-1][0])
1077 0 0 if ($pos < 0 or $pos > $dataLen)
1082 0 0 unless $raf->Seek($dataPos, 0)
1087 0 0 if (not $tagInfo and ref $tagTablePtr->{$tag} eq "HASH" and $tagTablePtr->{$tag}{'SeekInfo'})
1091 65 0 if ($tagInfo) { }
0 0 elsif ($verbose) { }
1093 12 53 if ($tagInfo->{'SubDirectory'} and not $tagInfo->{'NotEBML'})
1096 0 12 if ($tagName eq 'Cluster' and $processAll < 2) { }
1098 0 0 unless ($processAll)
1099 0 0 if ($seek{'Tags'} and $seek{'Tags'} > $pos + $dataPos and $raf->Seek($seek{'Tags'}, 0))
1115 0 12 if $dirName eq "SimpleTag"
1117 0 12 if ($tagName eq 'ChapterAtom') { }
1 22 elsif ($tagName eq 'Info' and not $et->{'SET_GROUP1'}) { }
1130 0 53 if $unknownSize
1131 0 53 if ($pos + $size > $dataLen)
1135 0 0 if (not $tagInfo or $more > 10000000) { }
1137 0 0 if ($more >= 2147483648)
1138 0 0 unless $et->Options("LargeFileSupport")
1139 0 0 if ($et->Options("LargeFileSupport") eq 2)
1143 0 0 unless $raf->Seek($more, 1)
1152 0 0 if ($raf->Read($buf2, $more))
1159 0 0 if $pos + $size > $dataLen
1162 0 53 unless ($tagInfo)
1168 48 5 if ($tagInfo->{'Format'})
1170 10 38 if ($fmt eq 'string' or $fmt eq 'utf8') { }
4 34 elsif ($fmt eq 'float') { }
1172 2 8 if $fmt eq "utf8"
1174 4 0 if ($size == 4) { }
0 0 elsif ($size == 8) { }
1184 1 33 if ($fmt eq 'signed' or $fmt eq 'date') { }
1191 0 1 if $vals[0] & 128
1193 1 0 if ($fmt eq "date")
1205 2 46 if ($tagName eq 'TrackNumber') { }
2 44 elsif ($tagName eq 'TrackUID' and $et->{'SET_GROUP1'}) { }
0 44 elsif ($tagName eq 'TagTrackUID' and $trackNum{$val}) { }
1226 0 53 if ($tagInfo->{'NoSave'} or $struct) { }
8 45 elsif ($tagInfo->{'SeekInfo'}) { }
1227 0 0 if $verbose
1228 0 0 if $struct
1231 4 4 unless defined $val
1233 8 0 unless $seekInfoOnly
1242 0 0 unless ($trackTypes{'1'} or $trackTypes{'3'})
1243 0 0 if ($trackTypes{'2'}) { }
0 0 elsif ($trackTypes{'17'}) { }