Branch Coverage

blib/lib/Image/ExifTool/PLIST.pm
Criterion Covered Total %
branch 88 134 65.6


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 49 unless $raf->Read($buff, 1) == 1
212 1 48 if ($type == 0) { }
13 35 elsif ($type == 1 or $type == 2 or $type == 3) { }
0 35 elsif ($type == 8) { }
216 9 4 $type == 1 ? :
0 13 unless my $proc = $type == 1 ? $readProc{$size} : $readProc{$size + 256}
217 13 0 if $raf->Read($buff, $size) == $size
218 3 10 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 4 31 if ($size == 15)
240 0 4 unless defined $size and $size =~ /^\d+$/
242 1 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 1 0 if ($size < 1000000 or $et->Options('Binary')) { }
244 0 1 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)
279 0 15 unless $raf->Seek($$table[$refs[$i]], 0)
281 0 15 unless defined $key and length $key
283 0 15 unless $raf->Seek($$table[$refs[$i + $size]], 0)
285 2 13 defined $parent ? :
288 1 14 if not defined $val or ref $val eq "HASH"
290 0 14 unless ($tagInfo)
291 0 0 if $verbose
296 0 0 if ($plistInfo->{'DateFormat'})
303 12 2 if ($et->{'LastPListTag'} and $et->{'LastPListTag'} ne $tagInfo)
313 0 9 unless $raf->Seek($table->[$ref], 0)
315 0 9 unless defined $val and ref $val ne "HASH"
338 5 1 if ($dataPt)
340 1 4 if ($start or $dirInfo->{'DirLen'} and $dirInfo->{'DirLen'} != length $$dataPt) { }
349 0 6 unless my $raf = $dirInfo->{'RAF'}
350 0 6 unless $raf->Seek(-32, 2) and $raf->Read($buff, 32) == 32
357 0 6 if $topObj >= $numObj
358 0 6 unless my $intProc = $readProc{$intSize}
359 0 6 unless my $refProc = $readProc{$refSize}
363 0 6 unless $raf->Seek($tableOff, 0) and $raf->Read($buff, $tableSize) == $tableSize
375 0 6 unless $raf->Seek($table[$topObj], 0)
377 6 0 defined $dirInfo->{'Value'} ? :
393 4 2 unless ($result)
395 0 4 unless my $raf = $dirInfo->{'RAF'}
396 0 4 unless $raf->Seek(0, 0) and $raf->Read($buff, 64)
397 1 3 if ($buff =~ /^bplist0/) { }
0 3 elsif ($et->{'FILE_EXT'} and $et->{'FILE_EXT'} eq 'PLIST' and $buff =~ /^\xfe\xff\x00/) { }
402 0 1 unless (&ProcessBinaryPLIST($et, $dirInfo, $tagTablePtr))