Branch Coverage

blib/lib/Data/ModeMerge.pm
Criterion Covered Total %
branch 103 126 81.7


line true false branch
41 1 1679 unless defined $needle
43 8 1671 $r1 ? :
46 5 2572 if $r1 xor $r2
47 5 2567 if $r2 and $f1 eq Data::Dmp::dmp($_)
48 356 2211 if not $r2 and $needle eq $_
58 107 223 if ($self->config) { }
61 0 107 unless $is_hashref or UNIVERSAL::isa($self->config, 'Data::ModeMerge::Config')
63 107 0 if $is_hashref
72 330 0 if (not $self->combine_rules)
129 0 1980 if (ref $name0) { }
0 1980 elsif ($name0 =~ /^\w+(::\w+)+$/) { }
1980 0 elsif ($name0 =~ /^\w+$/) { }
133 0 0 if $@
137 0 1980 if $@
142 0 1980 if $self->modes->{$name}
149 2 15 if ref $hash_key
151 0 15 if (defined $dis and ref $dis ne 'ARRAY')
158 5 70 if ($mh->check_prefix($hash_key))
167 2 5 unless ref $hash eq 'HASH'
170 2 4 if ($self->check_prefix($_))
177 2 34 if ref $hash_key
179 0 34 if (defined $dis and ref $dis ne 'ARRAY')
182 0 34 if ($dis and $self->_in($mode, $dis))
186 0 34 unless my $mh = $self->modes->{$mode}
192 2 2291 if ref $hash_key
194 1 2290 if (defined $dis and ref $dis ne 'ARRAY')
200 912 10460 if ($mh->check_prefix($hash_key))
202 909 3 if (wantarray) { }
206 1377 1 if (wantarray) { }
212 2 1 unless ref $hash eq 'HASH'
216 1 3 unless $old ne $_
218 0 3 if exists $hash->{$_}
237 89 233 @{$self->errors;} ? :
246 746 9 if ($self->cur_mem_key)
249 2 1027 if (defined $res and @{$self->mem->{$mk}{'todo'};})
253 0 2 if @{$self->errors;}
267 0 776 unless $mh
272 377 0 !$rl ? :
4 377 $rl eq 'CODE' ? :
52 381 $rl eq 'ARRAY' ? :
343 433 $rl eq 'HASH' ? :
273 379 0 !$rr ? :
4 379 $rr eq 'CODE' ? :
53 383 $rr eq 'ARRAY' ? :
340 436 $rr eq 'HASH' ? :
274 0 776 unless ($tl)
275 0 776 unless ($tr)
276 5 1 if (not $c->allow_create_array and $tl ne 'ARRAY' and $tr eq 'ARRAY')
279 5 1 if (not $c->allow_create_hash and $tl ne 'HASH' and $tr eq 'HASH')
282 5 3 if (not $c->allow_destroy_array and $tl eq 'ARRAY' and $tr ne 'ARRAY')
285 5 3 if (not $c->allow_destroy_hash and $tl eq 'HASH' and $tr ne 'HASH')
289 0 756 unless ($mh->can($meth))
294 406 350 if ($rl or $rr)
295 387 15 $rl ? :
402 4 defined $l ? :
402 4 defined $l ? :
385 15 $rr ? :
400 6 defined $r ? :
400 6 defined $r ? :
306 406 350 if ($memkey) { }
307 3 403 if (exists $self->mem->{$memkey}) { }
309 0 3 if (defined $self->mem->{$memkey}{'res'}) { }
339 2 4 if (not defined $p2->[$i] or $p1->[$i] ne $p2->[$i])