Condition Coverage

blib/lib/Image/ExifTool/QuickTime.pm
Criterion Covered Total %
condition 221 509 43.4


and 3 conditions

line !l l&&!r l&&r condition
8783 3 2 0 $a[0] == 0 and $a[1] == 0
8831 0 0 2 $a[6] == 0 and $a[7] == 0
8834 1 0 1 $w and $h
8863 0 0 26 $num and $dur
0 0 26 $num and $dur and $et->{'MediaTS'}
8983 1 14 2 $lang eq 'und' || $lang eq 'eng' and not $noDef
9003 6 5 0 $ctry and $ctry <= 255
9004 0 11 0 $lang and $lang <= 255
9011 0 0 5 $ctry and $ctry =~ /^[A-Z]{2}$/
9083 20 0 0 $n and $_[1]
9084 0 0 0 $n > 2 and $_[1] & 1
9270 0 0 0 $et->{'PrimaryItem'} && $et->{'PrimaryItem'} == $id
9349 59 0 3 $items and $raf
9361 0 0 0 $item->{'Extents'} and @{$item->{'Extents'};}
9383 11 0 0 $constMeth == 1 and not $et->{'MediaDataInfo'}
9384 11 0 0 $warn and $name
9386 0 0 11 $item->{'Extents'} and @{$item->{'Extents'};}
9404 0 0 0 $more > 0 and $n
9420 5 6 0 $isImageData{$type} and $et->{'ImageDataHash'}
9445 0 0 0 $inflate and $stat == Compress::Zlib::Z_STREAM_END()
9459 2 0 2 $name eq "EXIF" and length $buff >= 4
9513 0 0 4 defined $primary and $item->{'RefersTo'}
0 4 0 defined $primary and $item->{'RefersTo'} and not $item->{'RefersTo'}{$primary}
9609 0 0 0 $enc == 0 and $tagInfo->{'Unknown'}
9646 48 0 0 $err and $et->{'HandlerType'}
9900 0 0 48 $raf->Seek(-40 - $offset, 2) and $raf->Read($buff, 40) == 40
9973 461 0 25 $topLevel and not $fast
9975 25 0 0 $trailer and not ref $trailer
9983 14 0 11 $tag eq "ftyp" and $size >= 12
9990 0 0 11 $ftypLookup{$type} and $ftypLookup{$type} =~ /\(\.(\w+)/
10004 0 11 0 $ext and $useExt{$ext}
11 0 0 $ext and $useExt{$ext} and $fileType eq $useExt{$ext}
10013 14 11 0 $fileType and $fileType eq "HEIC"
10031 1576 0 0 defined $atomCount and --$atomCount < 0
10077 0 0 0 $tag eq "wide" and $size
10081 0 0 0 $et->{'ValidatePath'}{$path} and not $dupTagOK{$tag}
0 0 0 $et->{'ValidatePath'}{$path} and not $dupTagOK{$tag} and not $dupDirOK{$dirID}
10090 1467 109 0 $isUserData and $et->{'SET_GROUP1'}
10092 0 0 0 $tagInfo and $tagInfo->{'SubDirectory'}
10095 0 0 0 not $tagTablePtr->{$tag} and $tagInfo
10108 689 763 124 $Image::ExifTool::QuickTime::eeBox{$handlerType} and $Image::ExifTool::QuickTime::eeBox{$handlerType}{$tag}
1452 0 0 $ee > 1 and $eeBox2{$handlerType}
0 0 0 $ee > 1 and $eeBox2{$handlerType} and $eeBox2{$handlerType}{$tag}
1452 0 0 $hash and $hashBox{$handlerType}
0 0 0 $hash and $hashBox{$handlerType} and $hashBox{$handlerType}{$tag}
10136 1475 101 0 not defined $tagInfo and $et->{'OPTIONS'}{'Unknown'} || $verbose || $tag =~ /^\xa9/
10162 1576 0 0 $fast > 1 and $tag eq 'mdat' || $tag eq 'idat' && $et->{'FileType'} ne 'HEIC'
10192 88 0 1488 defined $tagInfo and not $ignore
40 1448 0 $tagInfo && $tagInfo->{'DontRead'}
88 0 1488 defined $tagInfo and not $ignore and not $tagInfo && $tagInfo->{'DontRead'}
10206 0 0 0 $item->{'RefersTo'} and $item->{'RefersTo'}{$primary}
6 0 0 not $dont and ($item->{'RefersTo'} and $item->{'RefersTo'}{$primary})
3 3 0 $dont != 1 and $pitem->{'RefersTo'}{$id}
10227 3 6 3 not defined $docNum and defined $lowest
10244 1296 3 189 $dirInfo->{'HasData'} && $val =~ /^....data\0/s
10245 1488 0 0 $verbose and defined $val
1488 0 0 $verbose and defined $val and not $hasData
10247 0 0 0 $tagInfo and $tagInfo->{'Format'}
10270 0 0 0 $to[$i - 1] =~ /(\d+)$/ and $to[$i] == $1 + 1
10281 0 12 56 $tagInfo and $tagInfo->{'Unknown'}
12 28 28 $tagInfo and $tagInfo->{'Unknown'} and not $unkOpt
10285 28 1451 9 $tagInfo and $tagInfo->{'Triplet'}
10286 6 0 3 $tag eq "data" and $triplet{'mean'}
0 0 3 $tag eq "data" and $triplet{'mean'} and $triplet{'name'}
10343 854 0 9 $subdir->{'ByteOrder'} and $subdir->{'ByteOrder'} =~ /^Little/
10347 0 0 863 $tagInfo->{'SubDirectory'} and $tagInfo->{'SubDirectory'}{'TagTable'}
0 815 48 $tagInfo->{'SubDirectory'} and $tagInfo->{'SubDirectory'}{'TagTable'} and $tagInfo->{'SubDirectory'}{'TagTable'} eq "Image::ExifTool::QuickTime::Track"
10359 860 0 3 $tag eq "ipco" and not $et->{'IsItemProperty'}
10384 0 0 193 $type eq "data" and $len >= 16
10444 3 139 37 $tagInfo->{'Groups'} && $tagInfo->{'Groups'}{'1'} && $tagInfo->{'Groups'}{'1'} eq 'Keys'
10460 138 0 4 $tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6
10480 71 0 0 not $len and $pos
10483 0 0 71 $lang < 1024 || $lang == 32767 and not $str =~ /^\xfe\xff/
10514 69 1 1 $tagInfo->{'IText'} and $tagInfo->{'IText'} > 6
10537 45 82 204 defined $key and !$format || $format =~ /^string/
82 180 24 defined $key and !$format || $format =~ /^string/ and not $tagInfo->{'Unknown'}
262 0 24 defined $key and !$format || $format =~ /^string/ and not $tagInfo->{'Unknown'} and not $tagInfo->{'ValueConv'}
180 4 20 defined $key and !$format || $format =~ /^string/ and not $tagInfo->{'Unknown'} and not $tagInfo->{'ValueConv'} and not $tagInfo->{'Binary'}
4 0 20 defined $key and !$format || $format =~ /^string/ and not $tagInfo->{'Unknown'} and not $tagInfo->{'ValueConv'} and not $tagInfo->{'Binary'} and defined $et->{'VALUE'}{$key}
4 0 20 defined $key and !$format || $format =~ /^string/ and not $tagInfo->{'Unknown'} and not $tagInfo->{'ValueConv'} and not $tagInfo->{'Binary'} and defined $et->{'VALUE'}{$key} and not ref $val
10542 4 0 16 not ref $$vp and length $$vp <= 65536
4 16 0 not ref $$vp and length $$vp <= 65536 and $$vp =~ /[\x80-\xff]/
10551 634 816 4 $et->{'SET_GROUP1'} and $dirID eq 'ilst' || $dirID eq 'udta'
816 0 4 $et->{'SET_GROUP1'} and $dirID eq 'ilst' || $dirID eq 'udta' and @found
10555 0 4 0 defined $_ and $et->SetGroup($_, $grp)
10565 88 0 0 $tagInfo and $tagInfo->{'DontRead'}
0 0 0 $tagInfo and $tagInfo->{'DontRead'} and $tagInfo->{'SubDirectory'}
10567 0 0 0 $trailer and $trailer->[1] == $raf->Tell
10582 0 0 88 $raf->Seek($seekTo - 1) and $raf->Read($buff, 1) == 1
10594 76 1039 461 $dirEnd and $dataPos >= $dirEnd
10596 1115 0 0 $trailer and $lastPos >= $trailer->[1]
10601 22 10 1058 $tagTablePtr->{$tag} and $tag ne "free"
10608 0 0 0 $lastTag eq 'mdat' || $lastTag eq 'moov' and !$tagTablePtr->{$tag} || ref $tagTablePtr->{$tag} eq 'HASH' && $tagTablePtr->{$tag}{'Unknown'}
10617 461 0 25 $topLevel and $et->{'FileType'}
0 25 0 $topLevel and $et->{'FileType'} and $et->{'FileType'} eq "MP4"
25 0 0 $topLevel and $et->{'FileType'} and $et->{'FileType'} eq "MP4" and $et->{'save_ftyp'}
0 0 0 $topLevel and $et->{'FileType'} and $et->{'FileType'} eq "MP4" and $et->{'save_ftyp'} and $et->{'HasHandler'}
0 0 0 $topLevel and $et->{'FileType'} and $et->{'FileType'} eq "MP4" and $et->{'save_ftyp'} and $et->{'HasHandler'} and $et->{'save_ftyp'} =~ /^(iso|dash|mp42)/
0 0 0 $topLevel and $et->{'FileType'} and $et->{'FileType'} eq "MP4" and $et->{'save_ftyp'} and $et->{'HasHandler'} and $et->{'save_ftyp'} =~ /^(iso|dash|mp42)/ and $et->{'HasHandler'}{'soun'}
0 0 0 $topLevel and $et->{'FileType'} and $et->{'FileType'} eq "MP4" and $et->{'save_ftyp'} and $et->{'HasHandler'} and $et->{'save_ftyp'} =~ /^(iso|dash|mp42)/ and $et->{'HasHandler'}{'soun'} and not $et->{'HasHandler'}{'vide'}
10625 461 23 2 $doDefaultLang and $et->{'QTLang'}
10655 0 0 0 $trailer->[0] eq "LigoGPS" and $raf->Read($buff, 8) == 8
0 0 0 $trailer->[0] eq "LigoGPS" and $raf->Read($buff, 8) == 8 and $buff =~ /skip$/i
0 0 0 $trailer->[0] eq "Insta360" and $ee
10658 0 0 0 $len > 0 and $raf->Read($buff, $len) == $len
0 0 0 $len > 0 and $raf->Read($buff, $len) == $len and $buff =~ /^LIGOGPSINFO\0/
10678 352 130 4 $ee and $topLevel
482 0 4 $ee and $topLevel and not $et->{'OPTIONS'}{'FastScan'}

or 2 conditions

line l !l condition
9012 2 0 &UnpackLang($lang, 1) || 'und'
9046 0 0 $default || 0
9135 0 6 $et->{'ItemInfo'} || ($et->{'ItemInfo'} = {})
9231 20 0 $et->{'ItemInfo'} || ($et->{'ItemInfo'} = {})
9270 0 0 $items->{$id}{'Type'} || ''
0 0 $items->{$id}{'Name'} || ''
0 0 $items->{$id}{'ContentType'} || ''
9290 6 0 $et->{'ItemInfo'} || ($et->{'ItemInfo'} = {})
9357 8 0 $item->{'ContentType'} || $item->{'Type'} || (next)
9369 5 6 {'Exif', 'EXIF', 'application/rdf+xml', 'XMP', 'jpeg', 'PreviewImage', 'uri ', 'PLIST'}->{$type} || ''
9381 0 11 $item->{'ConstructionMethod'} || 0
9394 6 5 $item->{'BaseOffset'} || 0
9630 0 48 $dirInfo->{'DirStart'} || 0
9647 0 0 $et->{'SET_GROUP1'} || $dirInfo->{'Parent'} || 'unknown'
9662 48 0 $dirInfo->{'DirStart'} || 0
9937 461 25 $dirInfo->{'Base'} || 0
9939 461 25 $dirInfo->{'DirID'} || ''
9955 108 353 $dirInfo->{'DirStart'} || 0
9971 0 486 $et->{'OPTIONS'}{'FastScan'} || 0
10005 11 0 $mimeLookup{$fileType} || 'video/mp4'
10017 134 352 $et->{'OPTIONS'}{'ExtractEmbedded'} || 0
10197 12 0 $et->{'PrimaryItem'} || 0
10198 12 0 $items->{$primary} || {}
10205 12 0 $Image::ExifTool::QuickTime::dontInherit{$tag} || 0
10323 98 765 $subdir->{'Start'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
8983 10 6 1 $lang eq 'und' || $lang eq 'eng'
9162 0 0 20 $ver == 1 or $ver == 2
9176 0 0 20 $ver == 1 or $ver == 2
9237 0 0 20 $ver == 0 or $ver == 1
9386 11 0 0 $item->{'Extents'} and @{$item->{'Extents'};} or $warn
9488 0 0 0 $w == 160 or $h == 160
0 0 0 $w == 1920 or $h == 1920
9556 0 0 13 $flags == 21 or $flags == 22
9587 0 0 0 $size < 10 or $size + $pos > $dirLen
9631 48 0 0 $dirInfo->{'DirLen'} || length($$dataPt) - $pos
9663 48 0 0 $dirInfo->{'DirLen'} || length($$dataPt) - $dirStart
9680 4 84 20 $size < 8 or $size + $try > $end - 8
9708 0 0 0 $et->{'OPTIONS'}{'Unknown'} || $et->{'OPTIONS'}{'Verbose'}
9794 0 0 38 $len < 8 or $pos + $len > $dirLen
9823 0 0 0 $tag =~ /^[-\w. ]+$/ or $tag =~ /\w{4}/
9837 69 45 0 $newInfo->{'Groups'}{$_} or $newInfo->{'Groups'}{$_} = $tagTablePtr->{'GROUPS'}{$_}
9901 0 0 48 $buff =~ /~\0\x04\0zmie~\0\0\x06.{4}([\x10\x18])(\x04)$/s or $buff =~ /~\0\x04\0zmie~\0\0\x0a.{8}([\x10\x18])(\x08)$/s
10019 134 0 352 $ee or $hash
10060 0 0 4 $hi or $lo > 2147483647
10109 68 0 56 $ee or $hash
10111 68 0 0 $tag ne "gps " or $Image::ExifTool::QuickTime::eeBox{$handlerType}{$tag} eq $dirID
10136 13 0 88 $et->{'OPTIONS'}{'Unknown'} || $verbose || $tag =~ /^\xa9/
10162 0 0 0 $tag eq 'mdat' || $tag eq 'idat' && $et->{'FileType'} ne 'HEIC'
10182 0 0 0 not $tagInfo or $tagInfo->{'Unknown'}
10206 6 0 6 $id == $primary or not $dont and ($item->{'RefersTo'} and $item->{'RefersTo'}{$primary})
0 0 6 $id == $primary or not $dont and ($item->{'RefersTo'} and $item->{'RefersTo'}{$primary}) or $dont != 1 and $pitem->{'RefersTo'}{$id}
10220 3 0 0 not defined $docNum or $docNum > $item->{'DocNum'}
10305 0 0 3 $tagInfo->{'Format'} or $tagInfo->{'SubDirectory'}
10322 69 0 333 $tag =~ /^\xa9/ or $tagInfo->{'IText'}
10339 307 556 0 $subdir->{'DirName'} || $tagInfo->{'Name'}
10356 64 781 18 $proc or $subTable->{'PROCESS_PROC'}
10359 860 0 0 $fast < 2 or not $tagInfo->{'MakerNotes'}
10368 16 0 32 $ee or $hash
10381 0 0 193 $pos + $len > $size or not $len
10415 3 0 190 $ctry or $lang
10476 0 0 0 $pos + $len > $size or $len < 0
10483 71 0 0 $lang < 1024 || $lang == 32767
10520 0 71 0 $langInfo || $tagInfo
10537 204 0 82 !$format || $format =~ /^string/
10551 4 0 816 $dirID eq 'ilst' || $dirID eq 'udta'
10554 4 0 0 $Image::ExifTool::QuickTime::avType{$et->{'MediaType'}} || $et->{'SET_GROUP1'}
10578 0 0 0 $proc or $subTable->{'PROCESS_PROC'}
10608 0 0 0 $lastTag eq 'mdat' || $lastTag eq 'moov'
0 0 0 !$tagTablePtr->{$tag} || ref $tagTablePtr->{$tag} eq 'HASH' && $tagTablePtr->{$tag}{'Unknown'}
10649 25 37 424 $topLevel or $dirID eq "meta"