Branch Coverage

blib/lib/Data/Hash/Diff/Smart/Engine.pm
Criterion Covered Total %
branch 58 96 60.4


line true false branch
92 4 52 if _is_ignored($path, $ctx->{'ignore'})
97 34 18 if (ref $old and ref $new)
102 1 33 if ($ctx->{'seen'}{$ro}{$rn}++)
113 18 0 unless ($rt_old or $rt_new)
120 0 33 if ($rt_old and $rt_new and $rt_old ne $rt_new)
133 0 33 if ($rt_old and not $rt_new)
143 0 33 if (not $rt_old and $rt_new)
156 31 2 if ($rt_old eq "HASH")
160 2 0 if ($rt_old eq "ARRAY")
178 0 18 if (my $cmp = $ctx->{'compare'}{$path}) { }
180 0 0 if ($@)
190 0 0 if $same
193 10 8 if _eq($old, $new)
218 26 10 if (exists $old->{$k} and exists $new->{$k}) { }
5 5 elsif (exists $old->{$k}) { }
247 0 2 if ($mode eq 'index') { }
1 1 elsif ($mode eq 'lcs') { }
1 0 elsif ($mode eq 'unordered') { }
267 0 0 @$old > @$new ? :
272 0 0 if ($i <= $old->$#* and $i <= $new->$#*) { }
0 0 elsif ($i <= $old->$#*) { }
315 4 20 if (_eq($a[$i - 1], $b[$j - 1])) { }
318 6 14 $dp[$i - 1][$j] > $dp[$i][$j - 1] ? :
330 4 2 if (_eq($a[$i - 1], $b[$j - 1])) { }
0 2 elsif ($dp[$i - 1][$j] >= $dp[$i][$j - 1]) { }
346 6 0 $li < @lcs ? :
348 4 2 if ($ai < @a and $bi < @b and _eq($a[$ai], $b[$bi])) { }
2 0 elsif ($ai < @a and defined $l and _eq($a[$ai], $l)) { }
0 0 elsif ($bi < @b and defined $l and _eq($b[$bi], $l)) { }
377 4 2 if ($li < @lcs and $ai > 0 and $bi > 0 and _eq($a[$ai - 1], $lcs[$li]))
404 2 2 if ($n > $o) { }
2 0 elsif ($o > $n) { }
427 0 8 ref $v ? :
436 36 66 unless ref $v
442 0 0 unless defined $a or defined $b
443 0 62 if defined $a xor defined $b
449 24 2 unless $ignore
456 0 2 if (ref $r eq "Regexp")
462 2 0 if ($r =~ /\*/) { }
476 42 14 unless $rules and @$rules
484 0 14 if ($rule->{'type'} eq 'exact') { }
0 14 elsif ($rule->{'type'} eq 'regex') { }
14 0 elsif ($rule->{'type'} eq 'wildcard') { }
485 0 0 if $path eq $rule->{'path'}
489 0 0 if $path =~ /$rule->{'re'}/
495 10 4 unless @r == @path_parts
498 4 8 if $r[$i] eq "*"
499 0 8 if $r[$i] ne $path_parts[$i]