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
8751 3 2 0 $a[0] == 0 and $a[1] == 0
8799 0 0 2 $a[6] == 0 and $a[7] == 0
8802 1 0 1 $w and $h
8831 0 0 26 $num and $dur
0 0 26 $num and $dur and $et->{'MediaTS'}
8951 1 14 2 $lang eq 'und' || $lang eq 'eng' and not $noDef
8971 6 5 0 $ctry and $ctry <= 255
8972 0 11 0 $lang and $lang <= 255
8979 0 0 5 $ctry and $ctry =~ /^[A-Z]{2}$/
9051 20 0 0 $n and $_[1]
9052 0 0 0 $n > 2 and $_[1] & 1
9238 0 0 0 $et->{'PrimaryItem'} && $et->{'PrimaryItem'} == $id
9317 59 0 3 $items and $raf
9329 0 0 0 $item->{'Extents'} and @{$item->{'Extents'};}
9351 11 0 0 $constMeth == 1 and not $et->{'MediaDataInfo'}
9352 11 0 0 $warn and $name
9354 0 0 11 $item->{'Extents'} and @{$item->{'Extents'};}
9372 0 0 0 $more > 0 and $n
9388 5 6 0 $isImageData{$type} and $et->{'ImageDataHash'}
9413 0 0 0 $inflate and $stat == Compress::Zlib::Z_STREAM_END()
9427 2 0 2 $name eq "EXIF" and length $buff >= 4
9481 0 0 4 defined $primary and $item->{'RefersTo'}
0 4 0 defined $primary and $item->{'RefersTo'} and not $item->{'RefersTo'}{$primary}
9577 0 0 0 $enc == 0 and $tagInfo->{'Unknown'}
9614 48 0 0 $err and $et->{'HandlerType'}
9868 0 0 48 $raf->Seek(-40 - $offset, 2) and $raf->Read($buff, 40) == 40
9941 461 0 25 $topLevel and not $fast
9943 25 0 0 $trailer and not ref $trailer
9951 14 0 11 $tag eq "ftyp" and $size >= 12
9958 0 0 11 $ftypLookup{$type} and $ftypLookup{$type} =~ /\(\.(\w+)/
9972 0 11 0 $ext and $useExt{$ext}
11 0 0 $ext and $useExt{$ext} and $fileType eq $useExt{$ext}
9981 14 11 0 $fileType and $fileType eq "HEIC"
9999 1576 0 0 defined $atomCount and --$atomCount < 0
10045 0 0 0 $tag eq "wide" and $size
10049 0 0 0 $et->{'ValidatePath'}{$path} and not $dupTagOK{$tag}
0 0 0 $et->{'ValidatePath'}{$path} and not $dupTagOK{$tag} and not $dupDirOK{$dirID}
10057 1467 109 0 $isUserData and $et->{'SET_GROUP1'}
10059 0 0 0 $tagInfo and $tagInfo->{'SubDirectory'}
10062 0 0 0 not $tagTablePtr->{$tag} and $tagInfo
10075 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}
10103 1475 101 0 not defined $tagInfo and $et->{'OPTIONS'}{'Unknown'} || $verbose || $tag =~ /^\xa9/
10129 1576 0 0 $fast > 1 and $tag eq 'mdat' || $tag eq 'idat' && $et->{'FileType'} ne 'HEIC'
10159 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'}
10173 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}
10194 3 6 3 not defined $docNum and defined $lowest
10211 1296 3 189 $dirInfo->{'HasData'} && $val =~ /^....data\0/s
10212 1488 0 0 $verbose and defined $val
1488 0 0 $verbose and defined $val and not $hasData
10214 0 0 0 $tagInfo and $tagInfo->{'Format'}
10237 0 0 0 $to[$i - 1] =~ /(\d+)$/ and $to[$i] == $1 + 1
10248 0 12 56 $tagInfo and $tagInfo->{'Unknown'}
12 28 28 $tagInfo and $tagInfo->{'Unknown'} and not $unkOpt
10252 28 1451 9 $tagInfo and $tagInfo->{'Triplet'}
10253 6 0 3 $tag eq "data" and $triplet{'mean'}
0 0 3 $tag eq "data" and $triplet{'mean'} and $triplet{'name'}
10310 854 0 9 $subdir->{'ByteOrder'} and $subdir->{'ByteOrder'} =~ /^Little/
10314 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"
10326 860 0 3 $tag eq "ipco" and not $et->{'IsItemProperty'}
10351 0 0 193 $type eq "data" and $len >= 16
10411 3 139 37 $tagInfo->{'Groups'} && $tagInfo->{'Groups'}{'1'} && $tagInfo->{'Groups'}{'1'} eq 'Keys'
10427 138 0 4 $tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6
10447 71 0 0 not $len and $pos
10450 0 0 71 $lang < 1024 || $lang == 32767 and not $str =~ /^\xfe\xff/
10481 69 1 1 $tagInfo->{'IText'} and $tagInfo->{'IText'} > 6
10504 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
10509 4 0 16 not ref $$vp and length $$vp <= 65536
4 16 0 not ref $$vp and length $$vp <= 65536 and $$vp =~ /[\x80-\xff]/
10518 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
10522 0 4 0 defined $_ and $et->SetGroup($_, $grp)
10532 88 0 0 $tagInfo and $tagInfo->{'DontRead'}
0 0 0 $tagInfo and $tagInfo->{'DontRead'} and $tagInfo->{'SubDirectory'}
10534 0 0 0 $trailer and $trailer->[1] == $raf->Tell
10549 0 0 88 $raf->Seek($seekTo - 1) and $raf->Read($buff, 1) == 1
10561 76 1039 461 $dirEnd and $dataPos >= $dirEnd
10563 1115 0 0 $trailer and $lastPos >= $trailer->[1]
10568 22 10 1058 $tagTablePtr->{$tag} and $tag ne "free"
10575 0 0 0 $lastTag eq 'mdat' || $lastTag eq 'moov' and !$tagTablePtr->{$tag} || ref $tagTablePtr->{$tag} eq 'HASH' && $tagTablePtr->{$tag}{'Unknown'}
10584 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'}
10592 461 23 2 $doDefaultLang and $et->{'QTLang'}
10619 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
10622 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/
10642 352 130 4 $ee and $topLevel
482 0 4 $ee and $topLevel and not $et->{'OPTIONS'}{'FastScan'}

or 2 conditions

line l !l condition
8980 2 0 &UnpackLang($lang, 1) || 'und'
9014 0 0 $default || 0
9103 0 6 $et->{'ItemInfo'} || ($et->{'ItemInfo'} = {})
9199 20 0 $et->{'ItemInfo'} || ($et->{'ItemInfo'} = {})
9238 0 0 $items->{$id}{'Type'} || ''
0 0 $items->{$id}{'Name'} || ''
0 0 $items->{$id}{'ContentType'} || ''
9258 6 0 $et->{'ItemInfo'} || ($et->{'ItemInfo'} = {})
9325 8 0 $item->{'ContentType'} || $item->{'Type'} || (next)
9337 5 6 {'Exif', 'EXIF', 'application/rdf+xml', 'XMP', 'jpeg', 'PreviewImage', 'uri ', 'PLIST'}->{$type} || ''
9349 0 11 $item->{'ConstructionMethod'} || 0
9362 6 5 $item->{'BaseOffset'} || 0
9598 0 48 $dirInfo->{'DirStart'} || 0
9615 0 0 $et->{'SET_GROUP1'} || $dirInfo->{'Parent'} || 'unknown'
9630 48 0 $dirInfo->{'DirStart'} || 0
9905 461 25 $dirInfo->{'Base'} || 0
9907 461 25 $dirInfo->{'DirID'} || ''
9923 108 353 $dirInfo->{'DirStart'} || 0
9939 0 486 $et->{'OPTIONS'}{'FastScan'} || 0
9973 11 0 $mimeLookup{$fileType} || 'video/mp4'
9985 134 352 $et->{'OPTIONS'}{'ExtractEmbedded'} || 0
10164 12 0 $et->{'PrimaryItem'} || 0
10165 12 0 $items->{$primary} || {}
10172 12 0 $Image::ExifTool::QuickTime::dontInherit{$tag} || 0
10290 98 765 $subdir->{'Start'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
8951 10 6 1 $lang eq 'und' || $lang eq 'eng'
9130 0 0 20 $ver == 1 or $ver == 2
9144 0 0 20 $ver == 1 or $ver == 2
9205 0 0 20 $ver == 0 or $ver == 1
9354 11 0 0 $item->{'Extents'} and @{$item->{'Extents'};} or $warn
9456 0 0 0 $w == 160 or $h == 160
0 0 0 $w == 1920 or $h == 1920
9524 0 0 13 $flags == 21 or $flags == 22
9555 0 0 0 $size < 10 or $size + $pos > $dirLen
9599 48 0 0 $dirInfo->{'DirLen'} || length($$dataPt) - $pos
9631 48 0 0 $dirInfo->{'DirLen'} || length($$dataPt) - $dirStart
9648 4 84 20 $size < 8 or $size + $try > $end - 8
9676 0 0 0 $et->{'OPTIONS'}{'Unknown'} || $et->{'OPTIONS'}{'Verbose'}
9762 0 0 38 $len < 8 or $pos + $len > $dirLen
9791 0 0 0 $tag =~ /^[-\w. ]+$/ or $tag =~ /\w{4}/
9805 69 45 0 $newInfo->{'Groups'}{$_} or $newInfo->{'Groups'}{$_} = $tagTablePtr->{'GROUPS'}{$_}
9869 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
9987 134 0 352 $ee or $hash
10028 0 0 4 $hi or $lo > 2147483647
10076 68 0 56 $ee or $hash
10078 68 0 0 $tag ne "gps " or $Image::ExifTool::QuickTime::eeBox{$handlerType}{$tag} eq $dirID
10103 13 0 88 $et->{'OPTIONS'}{'Unknown'} || $verbose || $tag =~ /^\xa9/
10129 0 0 0 $tag eq 'mdat' || $tag eq 'idat' && $et->{'FileType'} ne 'HEIC'
10149 0 0 0 not $tagInfo or $tagInfo->{'Unknown'}
10173 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}
10187 3 0 0 not defined $docNum or $docNum > $item->{'DocNum'}
10272 0 0 3 $tagInfo->{'Format'} or $tagInfo->{'SubDirectory'}
10289 69 0 333 $tag =~ /^\xa9/ or $tagInfo->{'IText'}
10306 307 556 0 $subdir->{'DirName'} || $tagInfo->{'Name'}
10323 64 781 18 $proc or $subTable->{'PROCESS_PROC'}
10326 860 0 0 $fast < 2 or not $tagInfo->{'MakerNotes'}
10335 16 0 32 $ee or $hash
10348 0 0 193 $pos + $len > $size or not $len
10382 3 0 190 $ctry or $lang
10443 0 0 0 $pos + $len > $size or $len < 0
10450 71 0 0 $lang < 1024 || $lang == 32767
10487 0 71 0 $langInfo || $tagInfo
10504 204 0 82 !$format || $format =~ /^string/
10518 4 0 816 $dirID eq 'ilst' || $dirID eq 'udta'
10521 4 0 0 $Image::ExifTool::QuickTime::avType{$et->{'MediaType'}} || $et->{'SET_GROUP1'}
10545 0 0 0 $proc or $subTable->{'PROCESS_PROC'}
10575 0 0 0 $lastTag eq 'mdat' || $lastTag eq 'moov'
0 0 0 !$tagTablePtr->{$tag} || ref $tagTablePtr->{$tag} eq 'HASH' && $tagTablePtr->{$tag}{'Unknown'}
10613 25 37 424 $topLevel or $dirID eq "meta"