Branch Coverage

blib/lib/Image/ExifTool/Jpeg2000.pm
Criterion Covered Total %
branch 154 286 53.8


line true false branch
710 95 19 if ($et->{'jumd_level'}) { }
722 19 95 if (@{$et->{'jumd_level'};} < 2)
741 0 114 if $dirInfo->{'DirLen'} < 17
747 114 0 if ($flags & 2)
749 0 114 unless $$dataPt =~ /\0/g
754 114 0 if ($len)
759 0 114 if length $name < 2
763 0 114 if ($flags & 4)
764 0 0 if $pos + 4 > $end
768 0 114 if ($flags & 8)
769 0 0 if $pos + 32 > $end
773 0 114 unless $pos == $end
795 0 1 unless $tagInfo->{'List'} or $et->IsOverwriting($nvHash) > 0
796 0 1 if $nvHash->{'EditOnly'}
801 0 1 unless &Write($outfile, $boxhdr, $val)
809 2 12 if ($dirName eq "XML" or $dirName eq "Exif")
810 1 1 $dirName eq 'XML' ? :
812 1 1 if ref $tagInfo eq "ARRAY"
815 1 1 if $dir eq "XMP"
821 2 0 if (defined $newdir and length $newdir)
823 1 1 $dirName eq 'Exif' ? :
825 0 2 unless &Write($outfile, $boxhdr, $pad, $newdir)
829 10 2 unless $uuid{$dirName}
832 8 2 unless $tagInfo->{'Name'} eq $dirName
843 2 0 if (defined $newdir and length $newdir)
845 0 2 unless &Write($outfile, $boxhdr, $newdir)
866 1 0 unless ($meth)
867 0 1 if ($icc) { }
1 0 elsif (defined $space) { }
0 0 elsif (defined $cdata) { }
877 1 0 if ($meth eq '1') { }
0 0 elsif ($meth eq '2' or $meth eq '3') { }
0 0 elsif ($meth eq '4') { }
878 0 1 unless defined $space
881 0 0 unless defined $icc
884 0 0 unless defined $cdata
889 0 1 unless &Write($outfile, $boxhdr, pack("CCC", $meth, $prec, $approx), $cdata)
914 3 141 if ($outfile) { }
915 1 2 unless ($raf)
921 1 2 if ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "JP2Header")
922 0 0 if defined $et->GetNewValue("ColorSpecMethod") or $et->GetNewValue("ICC_Profile") or defined $et->GetNewValue("ColorSpecPrecedence") or defined $et->GetNewValue("ColorSpace") or defined $et->GetNewValue("ColorSpecApproximation") or defined $et->GetNewValue("ColorSpecData")
929 0 141 if $verbose
936 40 431 if ($raf) { }
138 293 elsif ($pos >= $dirEnd - $hdrLen) { }
939 6 34 unless ($n == $hdrLen)
940 0 6 if $n
941 2 4 if $outfile
948 0 138 unless $pos == $dirEnd
954 1 326 if ($doColour and $boxID eq "colr")
955 1 0 if ($doColour == 1)
965 0 326 if ($boxLen == 1) { }
0 326 elsif ($boxLen == 0) { }
968 0 0 if ($raf)
970 0 0 if ($raf->Read($buf2, 8) == 8)
975 0 0 if $pos > $dirEnd - 8
977 0 0 if $hi
981 0 0 if ($raf)
982 0 0 if ($outfile) { }
0 0 elsif ($verbose) { }
983 0 0 unless &CreateNewBoxes($et, $outfile)
985 0 0 unless &Write($outfile, $$dataPt)
987 0 0 unless &Write($outfile, $buff)
999 0 326 if $boxLen < 0
1001 0 326 unless (defined $tagInfo or $verbose)
1003 0 0 if ($raf) { }
0 0 elsif ($outfile) { }
1004 0 0 if ($outfile) { }
1005 0 0 unless &Write($outfile, $$dataPt)
1006 0 0 unless $raf->Read($buff, $boxLen) == $boxLen
1007 0 0 unless &Write($outfile, $buff)
1009 0 0 unless $raf->Seek($boxLen, 1)
1012 0 0 unless &Write($outfile, substr($$dataPt, $pos - $hdrLen, $boxLen + $hdrLen))
1016 34 292 if ($raf) { }
0 292 elsif ($pos + $boxLen > $dirEnd) { }
1019 0 34 unless $raf->Read($buff, $boxLen) == $boxLen
1028 10 316 if (defined $tagInfo and not $tagInfo)
1030 4 6 $boxLen < 128 ? :
1034 9 317 if ($outfile and $tagInfo)
1035 0 9 if ($boxID eq 'uuid' and $et->{'DEL_GROUP'}{'*'}) { }
2 7 elsif ($tagInfo->{'Writable'}) { }
1041 0 2 if ($et->{'DEL_GROUP'}{'Jpeg2000'}) { }
1047 2 0 if ($isOverwriting) { }
0 0 elsif (not $tagInfo->{'List'}) { }
1058 57 114 if ($tagInfo and $et->{'JUMBFLabel'} and !$tagInfo->{'SubDirectory'} || $tagInfo->{'BlockExtract'})
1065 0 324 if ($verbose)
1073 0 0 unless $tagInfo
1075 319 5 if ($tagInfo->{'SubDirectory'}) { }
1 4 elsif ($tagInfo->{'Format'} and not $outfile) { }
1 3 elsif ($outfile) { }
1078 11 308 if (defined $subdir->{'Start'})
1098 6 313 if ($outfile) { }
1103 2 4 if ($uuid or $boxID eq 'Exif' or $boxID eq 'xml ' and $et->{'IsJXL'} or $boxID eq 'jp2h' and $et->{'EDIT_DIRS'}{'jp2h'}) { }
0 4 elsif (defined $uuid) { }
1107 0 2 if defined $newdir and not length $newdir
1112 4 2 unless defined $newdir
1115 2 4 if $prefixLen
1116 0 6 unless &Write($outfile, $boxhdr, $newdir)
1118 1 5 if ($doColour and $boxID eq "ihdr")
1120 1 0 $doColour == 2 ? :
1124 62 251 if $tagInfo->{'BlockExtract'}
1125 0 313 if defined $uuid and $uuid eq 0
1126 0 313 unless ($et->ProcessDirectory(\%subdirInfo, $subTable, $subdir->{'ProcessProc'}))
1127 0 0 if ($subTable eq $tagTablePtr)
1138 1 0 if (defined $val)
1141 0 1 if defined $rational and defined $key
1145 0 1 unless &Write($outfile, $boxhdr, substr($$dataPt, $valuePtr, $boxLen))
1148 0 144 if (defined $err)
1149 0 0 unless $err
1150 0 0 if ($outfile)
1151 0 0 unless $err eq 1
1152 0 0 $raf ? :
1156 1 143 if $outfile and not $raf
1175 572 52 if ($i) { }
1176 216 356 if $set
1178 14 38 if $set
1194 1 1 if (length $$dataPt < 14)
1201 0 2 if ($small) { }
1207 2 0 if ($ratio == 0) { }
1208 0 2 if ($small) { }
1235 0 7 unless $raf->Read($hdr, 12) == 12
1236 1 2 unless ($hdr eq "\0\0\0\fjP \r\n\207\n" or $hdr eq "\0\0\0\fjP\32\32\r\n\207\n" or $et->{'IsJXL'})
1240 0 1 unless $hdr =~ /^\xff\x4f\xff\x51\0/
1241 0 1 if ($outfile)
1246 1 0 unless ($Image::ExifTool::jpegMarker{'79'})
1253 2 4 if ($outfile) { }
1254 0 2 unless &Write($outfile, $hdr)
1255 1 1 if ($et->{'IsJXL'}) { }
1268 4 0 if ($raf->Read($buff, 12) == 12 and $buff =~ /^.{4}ftyp(.{4})/s)
1269 0 4 if $1 eq "jpx "
1270 0 4 if $1 eq "jpm "
1271 1 3 if $1 eq "jxl "
1273 4 0 if defined $buff
1297 0 3 unless $raf->Read($hdr, 12) == 12
1298 1 2 if ($hdr eq "\000\000\000\fJXL \r\n\207\n") { }
2 0 elsif ($hdr =~ /^\xff\x0a/) { }
1303 1 1 if ($outfile) { }
1304 1 0 if ($et->{'OPTIONS'}{'IgnoreMinorErrors'}) { }
1321 0 2 unless $raf->Seek(0, 0)
1325 1 0 if ($outfile and $success > 0 and $et->{'IsJXL'} == 2)
1327 0 1 unless $raf->Seek(0, 2)
1329 0 1 unless $raf->Seek(0, 0)
1331 0 1 unless &Write($outfile, &Set32u($size + 8), "jxlc")
1333 0 1 unless &Write($outfile, $buff)