Condition Coverage

blib/lib/Moose/Meta/Attribute.pm
Criterion Covered Total %
condition 120 166 72.2


and 3 conditions

line !l l&&!r l&&r condition
143 196 9 5 $traits->[$i] and ref $traits->[$i]
207 177 3 8 exists $options{$_} && exists $self->{$_}
338 1954 0 84 &blessed($options->{'isa'}) and $options->{'isa'}->can("has_coercion")
355 2728 1 18 exists $options->{'does'} and not exists $options->{'isa'}
358 17 0 1 &blessed($options->{'does'}) and $options->{'does'}->can("has_coercion")
462 1723 978 1 $options->{'required'} and not !exists $options->{'init_arg'} || defined $options->{'init_arg'} || exists $options->{'default'} || defined $options->{'builder'}
483 3 4235 1932 defined $init_arg and exists $params->{$init_arg}
492 3870 6 56 $self->is_required and not $self->has_default
3876 4 52 $self->is_required and not $self->has_default and not $self->has_builder
521 679 2563 47 ref $val and $self->is_weak_ref
555 52 0 1 $self->is_required and not @args
571 50 1 1 $self->has_trigger and $self->has_value($instance)
577 52 0 0 ref $value and $self->is_weak_ref
679 4352 0 146 $self->should_coerce and $self->type_constraint->has_coercion
802 4279 9 2 $self->has_initializer and $self->is_lazy
837 2 0 1 ref $value and $self->is_weak_ref
843 68 0 1 $self->should_auto_deref and not $for_trigger
1042 2863 8 390 $method and $method->isa("Class::MOP::Method::Accessor")
1056 1 0 388 $generate_as_inline_methods and not $method->is_inline
1 1 388 $method->associated_attribute->name eq $self->name and ($generate_as_inline_methods and not $method->is_inline)
1075 0 0 2 defined $method_context->{'file'} and $method_context->{'line'}
1091 0 0 2 defined $self_context->{'file'} and $self_context->{'line'}
1098 2863 1 397 $method and not $method->is_stub
2864 390 7 $method and not $method->is_stub and not $method->isa("Class::MOP::Method::Accessor")
391 7 0 $method and not $method->is_stub and not $method->isa("Class::MOP::Method::Accessor") and !$self->definition_context || $method->package_name eq $self->definition_context->{'package'}
1111 398 2862 1 not $self->associated_class->has_method($accessor) and $self->associated_class->has_package_symbol("&" . $accessor)
1163 3 1079 33 $class_name->isa("Moose::Object") and $handle =~ /^BUILD|DEMOLISH$/ || 'Moose::Object'->can($handle)
1191 2 1 1 &blessed($handles) and $handles->isa("Moose::Meta::TypeConstraint::DuckType")
2 0 1 &blessed($handles) and $handles->isa("Moose::Meta::TypeConstraint::Role")
1222 0 2 4 &blessed($role_meta) and $role_meta->isa("Moose::Meta::Role")
1315 3928 0 115 $self->should_coerce and $self->type_constraint->has_coercion

or 2 conditions

line l !l condition
52 4072 0 $throw_args || ''
77 1 0 $options{'definition_context'}{'context'} || 'attribute constructor'
78 1 0 $options{'definition_context'}{'type'} || 'class'
592 2570 1078 $tc ||= "\$type_constraint"
593 2570 1078 $coercion ||= "\$type_coercion"
594 2570 1078 $message ||= "\$type_message"
876 0 3002 $tc ||= "\$type_constraint"
877 0 3002 $coercion ||= "\$type_coercion"
878 0 3002 $message ||= "\$type_message"
1021 27 2 $self->_is_metadata || ''
1039 0 3261 ref $accessor || ''

or 3 conditions

line l !l&&r !l&&!r condition
111 31 2329 0 ref $class || $class
135 210 0 0 Moose::Util::resolve_metatrait_alias('Attribute', $trait) || $trait
239 31 0 0 delete $params{'metaclass'} || ref $self
291 2 1897 0 $options->{'reader'} ||= $name
296 0 1 0 $options->{'reader'} ||= $name
419 8 3 1 $options->{'type_constraint'}->is_a_type_of("ArrayRef") or $options->{'type_constraint'}->is_a_type_of("HashRef")
436 0 23 0 $options->{'builder'} ||= "_build_$name"
439 0 1 0 $options->{'clearer'} ||= "_clear$name"
440 0 1 0 $options->{'predicate'} ||= "_has$name"
443 0 22 0 $options->{'clearer'} ||= "clear_$name"
444 0 22 0 $options->{'predicate'} ||= "has_$name"
454 62 461 2 exists $options->{'default'} or defined $options->{'builder'}
462 0 0 1 !exists $options->{'init_arg'} || defined $options->{'init_arg'} || exists $options->{'default'} || defined $options->{'builder'}
905 197 465 0 $self->has_default or $self->has_builder
1021 2282 27 2 @{$self->associated_methods;} or ($self->_is_metadata || '') eq "bare"
1098 5 0 2 !$self->definition_context || $method->package_name eq $self->definition_context->{'package'}
1163 4 29 1079 $handle =~ /^BUILD|DEMOLISH$/ || 'Moose::Object'->can($handle)