Branch Coverage

blib/lib/Class/EHierarchy.pm
Criterion Covered Total %
branch 150 198 75.7


line true false branch
109 13 1 if (defined $obj and @rec = @$obj) { }
111 23 68 unless defined $_
131 4 36 scalar @available ? :
183 8 6 if (exists $objects[$$parent][6]{$alias}) { }
247 0 16 if (not defined $orphan) { }
1 15 elsif (not $orphan->isa('Class::EHierarchy')) { }
1 14 elsif ($$parent == $$orphan) { }
0 14 elsif (defined $objects[$$orphan][1]) { }
283 2 12 if (grep {$$_ == $$parent;} @descendants)
289 12 2 if ($irv)
318 12 0 if ($objects[$$child][1] == $parent)
348 0 214 unless ref $pkg eq ''
351 10 74 "$caller"->isa($pkg) ? :
130 84 $caller eq $pkg ? :
373 110 120 if defined $prop and not exists ${$properties[$$self];}{$prop}
375 208 22 if (defined $prop and exists ${$properties[$$self];}{$prop}) { }
387 12 196 unless ($cscope >= $pscope)
390 12 0 $pscope == 2 ? :
0 12 $pscope == 4 ? :
400 0 22 unless defined $prop
420 114 0 if (defined $attr)
425 50 64 if ($attr & 4)
434 0 116 if exists ${$properties[$$obj];}{$prop}
437 0 116 unless ($attr ^ 504) > 0
439 0 116 unless ($attr ^ 7) > 0
446 32 48 $attr & 32 ? :
36 80 $attr & 16 ? :
484 8 40 if defined *{"${class}::_properties";}
489 0 54 unless defined $prop
491 0 54 unless (__declProp($class, $obj, @$prop[0, 1]))
498 48 6 if ($rv and defined $$prop[2])
503 24 24 $pscope == 4 ? :
511 12 22 $pattr == 32 ? :
14 34 $pattr == 16 ? :
540 64 57 if ($pattr != 16 and $pattr != 32) { }
543 2 62 if (not defined $val[0]) { }
547 0 2 unless $pundef
552 52 10 if ($pattr == 8) { }
8 2 elsif ($pattr == 64) { }
0 2 elsif ($pattr == 256) { }
2 0 elsif ($pattr == 128) { }
553 52 0 if $pref eq ''
555 0 8 if $pref eq 'CODE'
557 0 0 if $pref eq 'GLOB'
559 2 0 if $pref ne ''
570 111 10 if ($rv)
571 30 81 if ($pattr == 16) { }
27 54 elsif ($pattr == 32) { }
603 15 40 $pattr == 32 ? :
30 55 $pattr == 16 ? :
619 36 0 if (defined $attr)
634 24 12 if $methods{$mfqn}
636 12 0 if (defined $code) { }
639 4 8 if ($attr == 4) { }
4 4 elsif ($attr == 2) { }
644 4 4 if $caller eq $pkg
654 6 4 if "$caller"->isa($pkg)
699 6 42 if defined *{"${class}::_methods";}
704 0 18 unless defined $method
705 0 18 unless (__declMethod($class, @$method[0, 1]))
737 0 40 unless defined $isaref
739 8 32 if $tclass ne 'Class::EHierarchy' and "$tclass"->isa('Class::EHierarchy')
748 0 8 unless defined $isaref
750 0 8 if $nclass ne 'Class::EHierarchy' and "$nclass"->isa('Class::EHierarchy')
767 48 0 unless ($super{$tclass})
774 0 48 unless ($rv)
783 28 20 defined *{"${tclass}::_initialize";} ? :
791 0 48 unless ($rv)
799 40 0 if ($self)
878 0 0 if defined $pref
895 11 0 if (defined $alias)
896 9 2 if exists $objects[$$self][6]{$alias}
914 1 0 if (defined $alias)
935 3 12 if (defined $alias) { }
938 0 3 if (exists $objects[$$self][6]{$alias}) { }
973 15 0 if @children
1008 73 85 if (@values) { }
1043 0 40 if $pscope == 4 and ${$properties[$$self];}{$_}[1] ne $opkg
1044 24 16 if $cscope >= $pscope
1069 1 1 unless $pattr == 16
1093 1 1 unless $pattr == 16
1117 1 1 unless $pattr == 16
1141 1 1 unless $pattr == 16
1167 1 2 unless $pattr == 32
1191 1 4 unless $pattr == 32
1218 0 3 unless $pattr == 32 or $pattr == 16
1222 1 2 if ($pattr == 32) { }
1260 0 5 unless $pattr == 32 or $pattr == 16
1264 3 2 if ($pattr == 16) { }
1265 0 3 if (@elements == 1 and not wantarray) { }
1273 0 2 if (@elements == 1 and not wantarray) { }
1302 0 2 unless $pattr == 32 or $pattr == 16
1306 1 1 if ($pattr == 16) { }
1310 2 5 if grep {$_ == $i;} @elements
1338 0 12 unless $pattr == 32 or $pattr == 16
1342 7 5 $pattr == 16 ? :
1358 40 0 if (defined $objects[$$self])
1364 0 10 unless defined $parent
1373 0 48 if defined *{"${class}::_deconstruct";}