Branch Coverage

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


line true false branch
38 1 1685 unless defined $needle
40 8 1677 $r1 ? :
43 5 2578 if $r1 xor $r2
44 5 2573 if $r2 and $f1 eq Data::Dmp::dmp($_)
45 357 2216 if not $r2 and $needle eq $_
55 107 223 if ($self->config) { }
58 0 107 unless $is_hashref or UNIVERSAL::isa($self->config, 'Data::ModeMerge::Config')
60 107 0 if $is_hashref
69 330 0 if (not $self->combine_rules)
126 0 1980 if (ref $name0) { }
0 1980 elsif ($name0 =~ /^\w+(::\w+)+$/) { }
1980 0 elsif ($name0 =~ /^\w+$/) { }
130 0 0 if $@
134 0 1980 if $@
139 0 1980 if $self->modes->{$name}
146 2 16 if ref $hash_key
148 0 16 if (defined $dis and ref $dis ne 'ARRAY')
155 5 75 if ($mh->check_prefix($hash_key))
164 2 5 unless ref $hash eq 'HASH'
167 2 5 if ($self->check_prefix($_))
174 2 34 if ref $hash_key
176 0 34 if (defined $dis and ref $dis ne 'ARRAY')
179 0 34 if ($dis and $self->_in($mode, $dis))
183 0 34 unless my $mh = $self->modes->{$mode}
189 2 2291 if ref $hash_key
191 1 2290 if (defined $dis and ref $dis ne 'ARRAY')
197 912 10460 if ($mh->check_prefix($hash_key))
199 909 3 if (wantarray) { }
203 1377 1 if (wantarray) { }
209 2 1 unless ref $hash eq 'HASH'
213 1 3 unless $old ne $_
215 0 3 if exists $hash->{$_}
234 89 233 @{$self->errors;} ? :
243 746 9 if ($self->cur_mem_key)
246 2 1035 if (defined $res and @{$self->mem->{$mk}{'todo'};})
250 0 2 if @{$self->errors;}
264 0 776 unless $mh
269 377 0 !$rl ? :
4 377 $rl eq 'CODE' ? :
52 381 $rl eq 'ARRAY' ? :
343 433 $rl eq 'HASH' ? :
270 379 0 !$rr ? :
4 379 $rr eq 'CODE' ? :
53 383 $rr eq 'ARRAY' ? :
340 436 $rr eq 'HASH' ? :
271 0 776 unless ($tl)
272 0 776 unless ($tr)
273 5 1 if (not $c->allow_create_array and $tl ne 'ARRAY' and $tr eq 'ARRAY')
276 5 1 if (not $c->allow_create_hash and $tl ne 'HASH' and $tr eq 'HASH')
279 5 3 if (not $c->allow_destroy_array and $tl eq 'ARRAY' and $tr ne 'ARRAY')
282 5 3 if (not $c->allow_destroy_hash and $tl eq 'HASH' and $tr ne 'HASH')
286 0 756 unless ($mh->can($meth))
291 406 350 if ($rl or $rr)
292 387 15 $rl ? :
402 4 defined $l ? :
402 4 defined $l ? :
385 15 $rr ? :
400 6 defined $r ? :
400 6 defined $r ? :
303 406 350 if ($memkey) { }
304 3 403 if (exists $self->mem->{$memkey}) { }
306 0 3 if (defined $self->mem->{$memkey}{'res'}) { }
336 2 4 if (not defined $p2->[$i] or $p1->[$i] ne $p2->[$i])