Condition Coverage

blib/lib/Role.pm
Criterion Covered Total %
condition 36 62 58.0


and 3 conditions

line !l l&&!r l&&r condition
156 32 0 11 $class->can("has") and $class->can("extends")
226 57 0 2 ref $arg eq "HASH" and $arg->{'role'}
229 0 0 2 $arg->{'alias'} and ref $arg->{'alias'} eq "HASH"
261 43 12 0 $APPLIED_ROLES{$class} and grep {$_ eq $role;} @{$APPLIED_ROLES{$class};}
385 15 37 0 not $can_handle_attributes and %$role_attrs
454 4 0 0 $APPLIED_ROLES{$class} and grep {$_ eq $role;} @{$APPLIED_ROLES{$class};}

or 2 conditions

line l !l condition
61 0 2 $APPLIED_ROLES{$caller} ||= []
65 2 0 $REQUIRED_METHODS{$caller} ||= []
279 9 43 $APPLIED_ROLES{$class} ||= []
284 52 0 $REQUIRED_METHODS{$role} || []
308 2 45 $METHOD_ALIASES{$class}{$role} || {}
382 6 46 $ROLE_ATTRIBUTES{$role} || {}
424 0 16 $METHOD_ALIASES{$class}{$role} || {}

or 3 conditions

line l !l&&r !l&&!r condition
121 2 0 0 ref $class_or_obj || $class_or_obj
126 0 0 0 ref $self || $self
295 18 1 6 $class->can($method) or $role_provides{$method}
315 2 54 0 $aliases_for_role->{$name} || $name
320 0 9 6 $origin eq $class or $origin eq $role
347 1 4 0 $first ||= $conflicts[0]
365 1 48 0 $aliases_for_role->{$name} || $name
426 0 16 0 $reverse_aliases{$method} || $method
428 14 0 2 defined &{"${role}::$original_name";} or exists $reverse_aliases{$method}
464 13 0 0 ref $self || $self