Branch Coverage

blib/lib/Minions.pm
Criterion Covered Total %
branch 112 144 77.7


line true false branch
32 4 19 if (my $bindings = $arg{'bind'}) { }
1 18 elsif (my $methods = $arg{'declare_interface'}) { }
51 51 2 unless ($spec->{'name'})
54 18 33 if ($caller_pkg eq 'Minions')
58 25 26 unless $cls_stash->get_symbol('%__meta__')
77 49 4 unless (ref $spec->{'implementation'})
80 0 49 unless $pkg ne $spec->{'name'}
88 14 35 unless $meta->{'has'}
95 7 53 if ($is_semiprivate->{$sub})
108 49 0 if @_ > 0
121 0 0 unless return $Util_class{$class}
128 52 1 if ref $spec->{'interface'}
132 1 1 if (my $methods = $Interface_for{$spec->{'interface'}}) { }
137 0 1 if $count > 0
149 53 30 unless ($roles)
157 0 30 if ($spec->{'composed_role'}{$role}) { }
179 0 31 unless $meta->{'role'}
194 1 2 unless (defined $spec->{'implementation'}{'methods'}{$name} or defined $spec->{'implementation'}{'semiprivate'}{$name})
201 1 1 unless defined $spec->{'implementation'}{'has'}{$name}
211 1 105 unless defined $spec->{'implementation'}{'methods'}{$method}
215 0 46 unless $count > 0
223 29 52 unless ($stash->has_symbol('%__meta__'))
227 0 81 unless ($stash->has_symbol('%__meta__'))
237 1 10 if (my $other_role = $from_role->{$name}) { }
241 7 3 unless ($spec->{'implementation'}{$type}{$name})
256 1 27 unless &all(sub { defined $in_class_interface->{$_}; } , keys %$in_role_interface)
262 40 2 if ($in_role_interface->{$name} or $in_class_interface->{$name}) { }
2 0 elsif ($is_semiprivate->{$name}) { }
265 2 38 if (my $other_role = $from_role->{'method'}{$name})
268 36 2 unless ($spec->{'implementation'}{'methods'}{$name})
274 0 2 if (my $other_role = $from_role->{'semiprivate'}{$name})
277 1 1 unless ($spec->{'implementation'}{'semiprivate'}{$name})
314 33 50 ref $meta->{'default'} eq 'CODE' ? :
2 83 $init->{$attr} ? :
350 9 38 if (my $builder = $obj->{$obfu_pkg}->can('BUILD'))
358 0 36 unless exists $spec->{'construct_with'}{$slot}
362 11 25 unless $meta->{'assert'}
364 11 14 unless &$code($val)
390 47 2 if (not exists $spec->{'class_methods'}{'new'})
395 5 58 if (scalar @_ == 1) { }
26 32 elsif (scalar @_ > 1) { }
401 0 63 if (my(@unknown) = grep({not exists $spec->{'construct_with'}{$_};} keys %$arg))
409 7 26 unless ($spec->{'construct_with'}{$name}{'optional'} or defined $arg->{$name})
412 32 8 if (defined $arg->{$name})
418 0 31 if ($dup)
421 19 12 if ($attr)
425 2 17 $sub ? :
434 3 44 if ($build_args)
450 6 13 unless $meta->{'assert'}
451 2 11 if exists $spec->{'implementation'}{'has'}{$attr}{'assert'}{$desc}
465 0 3 unless exists $spec->{'implementation'}{'has'}{$slot}
469 0 3 unless $meta->{'assert'}
471 2 1 unless &$code($val)
478 1 11 unless ($r)
480 0 1 $spec->{'interface_name'} ? :
481 0 1 unless defined wantarray
482 1 0 wantarray ? :
493 0 17 unless ($f)
495 0 0 unless defined wantarray
496 0 0 wantarray ? :
504 7 0 if (not $spec->{'implementation'}{'methods'}{$name} and $meta->{'reader'} and $in_interface->{$name})
508 7 0 $meta->{'reader'} == 1 ? :
513 0 0 if (not $spec->{'implementation'}{'methods'}{$name} and $meta->{'writer'} and $in_interface->{$name})
531 2 255 unless $in_interface->{$name}
552 1 4 if (exists $spec->{'implementation'}{'semiprivate'}{$called} and $caller_pkg eq ref $self) { }
0 4 elsif ($called eq 'DESTROY') { }
572 4 46 if ($meta->{'handles'})
575 2 2 if (ref $meta->{'handles'} eq 'ARRAY') { }
1 1 elsif (ref $meta->{'handles'} eq 'HASH') { }
1 0 elsif (not ref $meta->{'handles'}) { }
589 0 14 if (defined $spec->{'implementation'}{'methods'}{$meth}) { }
597 14 0 $in_interface->{$meth} ? :