Condition Coverage

blib/lib/Role/Tiny.pm
Criterion Covered Total %
condition 45 68 66.1


and 3 conditions

line !l l&&!r l&&r condition
24 17 0 0 "$]" < 5.011 && !("$]" >= 5.009004 && "$]" < 5.010001)
195 1 0 1 $_->can($method) && !$COMPOSED{'role'}{$_}{'modifiers_only'}{$method}
257 1 0 1 $me->can('role_application_steps') == \&Role::Tiny::role_application_steps && $me->can('apply_single_role_to_package') != \&Role::Tiny::apply_single_role_to_package
8 1 1 $me ne 'Role::Tiny' and exists $BACKCOMPAT_HACK{$me} ? $BACKCOMPAT_HACK{$me} : $BACKCOMPAT_HACK{$me} = $me->can('role_application_steps') == \&Role::Tiny::role_application_steps && $me->can('apply_single_role_to_package') != \&Role::Tiny::apply_single_role_to_package
396 52 16 0 $i =~ /^\(/ and defined &overload::nil && $methods->{$i} == \&overload::nil || defined &overload::_nil && $methods->{$i} == \&overload::_nil
454 0 33 13 $to->can('DOES') and $to->can('DOES') != ('UNIVERSAL'->can('DOES') || 0)
476 170 0 94 $INFO{$role} && ($INFO{$role}{'is_role'} || $INFO{$role}{'not_methods'})

or 2 conditions

line l !l condition
86 0 3 $INFO{$target}{'modifiers'} ||= []
91 0 13 $INFO{$target}{'requires'} ||= []
120 27 18 $APPLIED_TO{$to} ||= {}
205 0 41 $APPLIED_TO{$new_name} ||= {}
311 0 12 $INFO{$role}{'modifiers'} || []
338 1 4 $to_info->{'requires'} ||= []
359 69 50 $info->{'methods'} ||= {map({no strict 'refs'; my $code = exists &{"${role}::$_";} ? \&{"${role}::$_";} : undef; !$code || exists $not_methods->{$code} ? () : ($_, $code);} grep((!ref($stash->{$_}) || ref $stash->{$_} eq 'CODE'), keys %$stash))}
382 0 258 ref $stash->{$_} || *{$stash->{$_};}{'CODE'}
412 1 1 $info ? $info->{'modifiers'} : $COMPOSED{'modifiers'}{$to} ||= []
454 46 0 'UNIVERSAL'->can('DOES') || 0

or 3 conditions

line l !l&&r !l&&!r condition
71 306 61 0 *$_{'CODE'} || ()
141 0 7 0 $COMPOSED{'abbrev'}{$new_name} ||= do { my $abbrev = substr($new_name, 0, 250 - length($role_suffix)); $abbrev =~ s/(?
281 32 23 0 $COMPOSITE_INFO{join '|', sort(@roles)} ||= do { foreach my $role (@roles) { _load_module($role); } ; my %methods; foreach my $role (@roles) { my $this_methods = $me->_concrete_methods_of($role); $methods{$_}{$this_methods->{$_}} = $role foreach (keys %$this_methods); } ; my %requires; @requires{map @{[] unless $INFO{$_}{'requires'};}, @roles} = (); delete $requires{$_} foreach (keys %methods); delete $methods{$_} foreach (grep((keys %{$methods{$_};} == 1), keys %methods)); +{'conflicts', \%methods, 'requires', [keys %requires]} }
334 42 21 29 $requires or $INFO{$name}{'requires'}
358 66 246 51 !$code || exists $not_methods->{$code}
359 363 0 0 !ref($stash->{$_}) || ref $stash->{$_} eq 'CODE'
396 9 0 7 defined &overload::nil && $methods->{$i} == \&overload::nil || defined &overload::_nil && $methods->{$i} == \&overload::_nil
456 33 0 0 $to->can('DOES') || $to->can('isa') || $FALLBACK
468 9 25 0 ref $proto || $proto