Branch Coverage

blib/lib/Image/ExifTool/WriteCanonRaw.pl
Criterion Covered Total %
branch 135 212 63.6


line true false branch
82 0 57 unless $formName
85 0 57 if $tagInfo and $tagInfo->{'Name'} eq "UserComment"
90 19 38 if ($count and $size != $count * $fsiz) { }
91 0 19 if ($size < $count * $fsiz)
104 35 22 if ($size > 4) { }
109 0 35 if $size & 1
114 8 14 if $size < 4
132 0 6 unless $numEntries
139 22 35 unless $makerInfo->{'FixupTags'}{$tagID}
160 6 0 if (defined $rotation and defined $mapRotation{$rotation})
175 5 145 if ($tagName eq 'JpgFromRaw' or $tagName eq 'ThumbnailImage') { }
176 1 4 unless ($$valPtr =~ /^\xff\xd8/ or $et->Options("IgnoreMinorErrors"))
182 130 15 unless ($format)
186 145 0 if $format
199 0 3 unless my $dataPt = $dirInfo->{'DataPt'}
200 0 3 unless my $outfile = $dirInfo->{'OutFile'}
201 0 3 unless $dirInfo->{'RAF'}
204 0 3 unless ($$dataPt =~ /^.{8}CR\x02\0/s)
206 0 0 if ($$dataPt =~ /^.{8}CR/s) { }
0 0 elsif ($$dataPt =~ /^.{8}\xba\xb0\xac\xbb/s) { }
214 0 0 if $et->Error($msg, $minor)
220 0 3 unless defined $newData
221 0 3 unless ($dirInfo->{'LastIFD'})
226 3 0 if (length $newData)
233 0 3 unless &Write($outfile, $header, $newData)
237 3 0 if (ref $dirInfo->{'ImageData'})
238 0 3 unless $et->CopyImageData($dirInfo->{'ImageData'}, $outfile)
259 174 49 unless $et
262 0 49 unless my $raf = $dirInfo->{'RAF'}
263 0 49 unless my $outfile = $dirInfo->{'OutFile'}
264 0 49 unless my $outPos = $dirInfo->{'OutPos'}
271 0 49 unless $raf->Seek($blockStart + $blockSize - 4, 0)
272 0 49 unless $raf->Read($buff, 4) == 4
274 0 49 unless $raf->Seek($dirOffset, 0)
275 0 49 unless $raf->Read($buff, 2) == 2
278 0 49 unless $raf->Read($buff, 10 * $entries) == 10 * $entries
287 7 42 if ($dirInfo->{'Nesting'} == 0)
291 1 14 if defined $permanent and not $permanent
298 287 49 if ($index < $entries)
307 1 1 if (@addTags and !defined($tag) || $tag >= $addTags[0])
311 1 0 if (defined $newVal)
316 0 1 if length $newVal & 1
321 0 1 unless &Write($outfile, $newVal)
323 0 1 if $verbose > 1
329 49 287 unless defined $tag
330 0 287 if $tag & 32768
338 233 54 if ($tagInfo)
340 15 218 if $tagInfo->{'Format'}
343 97 190 if ($valueInDir) { }
347 72 25 if not defined $count and $format and $format ne "string" and not $subdir
350 42 148 if ($tagType == 40 or $tagType == 48) { }
353 42 0 if $tagInfo
354 0 42 unless $name
367 0 42 unless $result
374 0 148 unless $valuePtr + $size <= $blockSize
376 0 148 unless $raf->Seek($ptr, 0)
377 0 148 unless $raf->Read($value, $size) == $size
381 167 120 if ($format and not $count)
388 233 54 if ($tagInfo)
389 67 166 if ($subdir and $subdir->{'TagTable'}) { }
16 150 elsif ($newTags->{$tagID}) { }
392 0 67 unless $newTagTable
395 0 67 if $subdir->{'Start'}
408 0 67 if (defined $subdir->{'Validate'} and not eval $subdir->{'Validate'}) { }
412 61 6 if (defined $subdir and length $subdir)
413 0 61 if ($subdirStart) { }
422 1 15 if ($delTag{$tagID})
423 0 1 if $verbose > 1
428 15 0 if ($format) { }
434 14 1 if ($et->IsOverwriting($nvHash, $oldVal))
437 0 14 if $verbose > 1
439 14 0 if (defined $newVal and $format)
442 14 0 if (defined $newVal)
451 97 189 if ($valueInDir)
453 5 92 if ($len < 8) { }
0 92 elsif ($len > 8) { }
464 147 42 if (defined $value)
468 0 147 if ($diff)
469 0 0 if ($writable and $writable eq 'resize') { }
0 0 elsif ($diff > 0) { }
478 2 145 if $size & 1
481 0 147 unless &Write($outfile, $value)
491 0 49 unless &Write($outfile, $newDir)
514 0 7 unless $raf->Read($buff, 2) == 2
515 0 7 unless &SetByteOrder($buff)
516 0 7 unless $raf->Read($buff, 4) == 4
517 0 7 unless $raf->Read($sig, 8) == 8
518 0 7 unless $sig =~ /^HEAP(CCDR|JPGM)/
522 0 7 if ($et->{'DEL_GROUP'}{'MakerNotes'})
523 0 0 if ($type eq 'CCDR') { }
532 3 4 if ($et->{'FILE_TYPE'} eq "CRW")
537 0 7 unless $raf->Seek(0, 0)
538 0 7 unless $raf->Read($buff, $hlen) == $hlen
539 0 7 unless &Write($outfile, $buff)
541 0 7 unless $raf->Seek(0, 2)
542 0 7 unless my $filesize = $raf->Tell
562 4 3 unless my $trailInfo = &Image::ExifTool::IdentifyTrailer($raf)
566 0 3 unless $success = $et->ProcessTrailers($trailInfo)
569 1 2 if length $$trailPt < 4
572 7 0 if ($success) { }
575 1 2 if (not $trailPt and $et->{'ADD_DIRS'}{'CanonVRD'})
580 1 0 if (&Image::ExifTool::CanonVRD::ProcessCanonVRD($et, {"OutFile", \$outbuff}) > 0)
586 5 2 if ($trailPt)
590 1 4 $len & 1 ? :
591 0 5 unless &Write($outfile, $pad, substr($$trailPt, 0, $len - 4), $newDirStart)
593 0 7 $err ? :