Branch Coverage

blib/lib/Image/ExifTool/GIF.pm
Criterion Covered Total %
branch 122 258 47.2


line true false branch
192 0 7 unless $raf->Read($buff, 6) == 6 and $buff =~ /^GIF(8[79]a)$/ and $raf->Read($s, 7) == 7
202 3 4 if ($outfile) { }
206 15 21 unless ref $extTable->{$ext} eq "HASH"
208 15 0 unless $extInfo->{'SubDirectory'} and $extInfo->{'Writable'} and not $gifMap{$extInfo->{'Name'}}
217 3 0 if $nvComment or $delGroup->{'File'}
219 3 0 if %$addDirs or defined $newComment
220 0 3 unless &Write($outfile, $buff, $s)
228 7 0 if ($flags & 128)
231 0 7 unless $raf->Read($buff, $length) == $length
232 3 4 if $outfile
239 0 33 unless $raf->Read($ch, 1)
241 6 27 if ($outfile and ord $ch != 33)
243 0 0 if (defined $newComment and $nvComment->{'IsCreating'})
245 0 0 unless &Write($outfile, "!\376")
246 0 0 if $verbose
253 0 0 if $size > 255
255 0 0 unless &Write($outfile, pack("C", $size), $str)
257 0 0 unless &Write($outfile, "\0")
268 1 12 if ($newExt->{$ext}) { }
0 12 elsif (exists $addDirs->{$name} and not defined $doneDir{$name}) { }
277 0 0 if $verbose
282 1 0 if (defined $buff and length $buff) { }
284 0 1 unless &Write($outfile, "!\377\13", substr($ext, 0, 8), substr($ext, 9, 3))
286 1 0 if (not $extTable->{$ext}{'IncludeLengthBytes'}) { }
0 0 elsif ($extTable->{$ext}{'IncludeLengthBytes'} < 2) { }
290 1 1 if $n > 255
291 0 2 unless &Write($outfile, chr $n, substr($buff, $pos, $n))
294 0 1 unless &Write($outfile, "\0")
298 0 0 unless &Write($outfile, $buff, scalar "\0" x ($pos - length($buff) + 1))
301 0 0 unless &Write($outfile, $buff, pack("C*", 1, reverse(0..255), 0))
305 0 0 if $verbose
309 7 26 if (ord $ch == 44)
311 3 4 if $outfile
313 0 7 unless $raf->Read($buff, 8) == 8 and $raf->Read($ch, 1)
314 3 4 if $outfile
315 0 7 if ($verbose and not $outfile)
319 0 7 if (ord $ch & 128)
322 0 0 unless $raf->Read($buff, $length) == $length
323 0 0 if $outfile
326 0 7 unless $raf->Read($buff, 1)
327 3 4 if $outfile
330 0 14 unless $raf->Read($ch, 1)
331 6 8 if $outfile
332 7 7 unless ord $ch
333 0 7 unless $raf->Read($buff, ord $ch)
334 3 4 if $outfile
339 7 19 unless (ord $ch == 33)
340 3 4 if ($outfile)
341 0 3 unless &Write($outfile, $ch)
344 0 0 unless &Write($outfile, $buff)
351 0 19 unless $raf->Read($s, 2) == 2
355 7 12 if ($a == 254) { }
12 0 elsif ($a == 255 and $length == 11) { }
0 0 elsif ($a == 249 and $length == 4) { }
0 0 elsif ($a == 1 and $length == 12) { }
359 0 10 unless $raf->Read($buff, $length) == $length
360 6 4 unless $outfile
363 0 10 unless $raf->Read($ch, 1)
366 0 7 if $length
367 3 4 if ($outfile) { }
369 3 0 if ($setComment)
370 3 0 if ($nvComment) { }
373 3 0 if defined $newComment
379 3 0 if ($isOverwriting) { }
383 3 0 if defined $comment
388 3 0 if (defined $comment)
390 0 3 unless &Write($outfile, "!\376")
397 1 3 if $size > 255
399 0 4 unless &Write($outfile, pack("C", $size), $str)
401 0 3 unless &Write($outfile, "\0")
406 4 0 if $comment
409 0 4 if $et->Options("FastScan")
415 0 12 unless $raf->Read($buff, $length) == $length
420 0 12 if $verbose
424 12 0 if ($extInfo) { }
425 1 11 if ($outfile and $$newExt{$extInfo->{'TagID'}}) { }
434 0 12 if $outfile and not $extInfo->{'Writable'}
436 0 0 if $outfile
438 0 12 if $justCopy
443 0 378 unless $raf->Read($ch, 1)
444 12 366 unless $length = ord $ch
445 0 366 unless $raf->Read($buff, $length) == $length
446 0 366 if $justCopy
447 356 10 $inclLen ? :
449 0 12 if ($justCopy) { }
7 5 elsif ($inclLen) { }
450 0 0 unless &Write($outfile, "\0")
454 7 0 if ($extInfo->{'Terminator'} and $dat =~ /$extInfo->{'Terminator'}/g) { }
0 0 elsif ($dat =~ /\0/g) { }
460 11 1 if ($subdir) { }
1 0 elsif ($outfile and not $justCopy) { }
0 0 elsif (not $outfile) { }
469 7 4 unless ($outfile)
473 0 4 if $justCopy
474 0 4 if ($doneDir{$name} and $doneDir{$name} > 1)
478 3 1 if (defined $buff)
479 1 2 unless length $buff
485 1 0 if ($nvHash and $et->IsOverwriting($nvHash, $dat))
489 0 1 unless defined $val and length $val
498 0 4 unless &Write($outfile, $hdr)
499 3 1 if ($inclLen) { }
501 0 3 if $inclLen and $dat =~ /\0/
502 3 0 if ($inclLen > 1) { }
504 3 0 if $inclLen
512 0 3 unless &Write($outfile, $dat)
519 1 1 if $n > 255
520 0 2 unless &Write($outfile, chr $n, substr($dat, $pos, $n))
524 0 4 unless &Write($outfile, "\0")
529 0 0 unless $raf->Read($buff, $length) == $length
533 0 0 if $verbose
536 0 0 if $bits & 1
537 0 0 unless $raf->Seek(-$length, 1)
541 0 0 unless $raf->Read($buff, $length) == $length
542 0 0 if $outfile
543 0 0 if ($verbose and not $outfile)
549 0 0 unless $raf->Read($ch, 1)
550 0 0 unless $length = ord $ch
551 0 0 unless $raf->Read($buff, $length) == $length
552 0 0 if $outfile
555 0 0 if $outfile
559 0 0 if $outfile
562 0 0 unless $raf->Read($buff, $length) == $length
563 0 0 if $outfile
564 0 0 unless $raf->Read($ch, 1)
565 0 0 if $outfile
569 4 3 unless ($outfile)
570 0 4 if $frameCount > 1
571 0 4 if $delayTime
575 0 7 if $rtnVal and $err