Branch Coverage

blib/lib/Image/ExifTool/PLIST.pm
Criterion Covered Total %
branch 90 140 64.2


line true false branch
115 0 37 unless @$props
120 0 37 if ($verbose > 1)
128 2 35 if ($prop eq 'data') { }
2 33 elsif ($prop eq 'date') { }
1 32 elsif ($prop eq 'true' or $prop eq 'false') { }
129 0 2 if ($val =~ /^[0-9a-f]+$/ and not length $val & 1) { }
144 17 15 if ($prop eq "key")
145 15 2 if (@$props <= 3) { }
157 2 18 unless @$keys
161 16 2 unless ($tagInfo)
162 0 16 if $verbose
170 2 14 if ($prop eq "date")
177 14 4 if ($et->{'LastPListTag'} and $et->{'LastPListTag'} ne $tagInfo)
182 0 18 if $plistType{$tag} and $et->{'FILE_TYPE'} eq "XMP"
209 0 51 unless $raf->Read($buff, 1) == 1
212 1 50 if ($type == 0) { }
14 36 elsif ($type == 1 or $type == 2 or $type == 3) { }
0 36 elsif ($type == 8) { }
216 10 4 $type == 1 ? :
0 14 unless my $proc = $type == 1 ? $readProc{$size} : $readProc{$size + 256}
217 14 0 if $raf->Read($buff, $size) == $size
218 3 11 if ($type == 3 and defined $val)
225 0 0 unless $raf->Read($buff, $size) == $size
227 0 0 if ($proc) { }
0 0 elsif ($size == 16) { }
237 5 31 if ($size == 15)
240 0 5 unless defined $size and $size =~ /^\d+$/
242 2 34 if ($type == 4) { }
26 8 elsif ($type == 5) { }
1 7 elsif ($type == 6) { }
7 0 elsif ($type == 10 or $type == 12 or $type == 13) { }
243 2 0 if ($size < 1000000 or $et->Options('Binary')) { }
244 0 2 unless $raf->Read($buff, $size) == $size
250 0 26 unless $raf->Read($val, $size) == $size
253 0 1 unless $raf->Read($buff, $size) == $size
259 3 4 $type == 13 ? :
261 0 7 unless $raf->Read($buff, $len) == $len
266 0 39 if $ref >= @$table
269 3 4 if ($type == 13) { }
271 0 3 if (defined $parent and length $parent > 1000)
280 0 15 unless $raf->Seek($$table[$refs[$i]], 0)
282 0 15 unless defined $key and length $key
284 0 15 unless $raf->Seek($$table[$refs[$i + $size]], 0)
286 2 13 defined $parent ? :
289 0 15 unless defined $obj
290 0 15 unless ($tagTablePtr)
291 0 0 if defined $obj
294 1 14 if ref $obj eq "HASH"
296 0 14 unless ($tagInfo)
297 0 0 if $verbose
302 0 0 if ($plistInfo->{'DateFormat'})
309 12 2 if ($et->{'LastPListTag'} and $et->{'LastPListTag'} ne $tagInfo)
318 0 9 unless $raf->Seek($table->[$ref], 0)
320 0 9 unless defined $val and ref $val ne "HASH"
343 6 1 if ($dataPt)
345 1 5 if ($start or $dirInfo->{'DirLen'} and $dirInfo->{'DirLen'} != length $$dataPt) { }
354 0 7 unless my $raf = $dirInfo->{'RAF'}
355 0 7 unless $raf->Seek(-32, 2) and $raf->Read($buff, 32) == 32
362 0 7 if $topObj >= $numObj
363 0 7 unless my $intProc = $readProc{$intSize}
364 0 7 unless my $refProc = $readProc{$refSize}
368 0 7 unless $raf->Seek($tableOff, 0) and $raf->Read($buff, $tableSize) == $tableSize
380 0 7 unless $raf->Seek($table[$topObj], 0)
382 7 0 defined $dirInfo->{'Value'} ? :
398 4 2 unless ($result)
400 0 4 unless my $raf = $dirInfo->{'RAF'}
401 0 4 unless $raf->Seek(0, 0) and $raf->Read($buff, 64)
402 1 3 if ($buff =~ /^bplist0/) { }
0 3 elsif ($et->{'FILE_EXT'} and $et->{'FILE_EXT'} eq 'PLIST' and $buff =~ /^\xfe\xff\x00/) { }
407 0 1 unless (&ProcessBinaryPLIST($et, $dirInfo, $tagTablePtr))