Condition Coverage

blib/lib/Class/XSConstructor.pm
Criterion Covered Total %
condition 78 165 47.2


and 3 conditions

line !l l&&!r l&&r condition
72 39 1 0 is_Object($thing) and $thing->can('compiled_check') || $thing->can('check')
93 62 0 1 is_Object($spec{'isa'}) and $spec{'isa'}->can("compiled_check")
62 0 0 is_Object($spec{'isa'}) and $spec{'isa'}->can("check")
104 62 1 0 defined $spec{'coerce'} and not ref $spec{'coerce'}
63 0 0 defined $spec{'coerce'} and not ref $spec{'coerce'} and $spec{'coerce'} eq 1
106 0 0 0 $type->can("has_coercion") and $type->has_coercion
0 0 0 $type->can("has_coercion") and $type->has_coercion and $type->can("coercion")
0 0 0 $type->can("has_coercion") and $type->has_coercion and $type->can("coercion") and is_Object($c = $type->coercion)
0 0 0 $type->can("has_coercion") and $type->has_coercion and $type->can("coercion") and is_Object($c = $type->coercion) and $c->can("compiled_coercion")
119 50 13 0 $spec{'required'} and exists $spec{'init_arg'}
13 0 0 $spec{'required'} and exists $spec{'init_arg'} and not defined $spec{'init_arg'}
140 60 0 2 defined $spec{'trigger'} and not ref $spec{'trigger'}
156 62 0 1 is_Object($type) and $type->isa("Type::Tiny")
231 0 0 0 $value and "$value" eq 1
0 0 0 $value and "$value" eq 1 and $value + 0 == 1
232 0 0 0 not $value and "$value" eq ""
0 0 0 not $value and "$value" eq "" and $value + 0 == 0
244 3 0 8 $flags & 12288 and not $flags & 16384
250 0 5 3 defined $value and not ref $value
5 0 3 defined $value and not ref $value and not &_is_bool($value)
259 0 0 4 is_Object($type) and $type->isa("Type::Tiny")
261 0 0 0 $type->is_parameterized and @{$type->parameters;} == 1
0 0 0 $type->is_parameterized and @{$type->parameters;} == 1 and $type->parameterized_from == Types::Common::ArrayRef() || $type->parameterized_from == Types::Common::HashRef()
334 58 2 3 exists $spec->{'init_arg'} and not defined $spec->{'init_arg'}
335 61 0 2 defined $spec->{'init_arg'} and $spec->{'init_arg'} ne $name
367 6 3 0 &_created_as_number($default) and $default == 0
368 6 2 1 &_created_as_number($default) and $default == 1
369 8 0 0 &_is_bool($default) and not $default
370 8 0 0 &_is_bool($default) and $default
371 7 1 0 &_created_as_string($default) and $default eq ""
372 6 1 1 is_ScalarRef($default) and $$default eq "[]"
373 6 0 1 is_ScalarRef($default) and $$default eq "{}"
392 8 0 1 $INC{'Moo.pm'} and $Moo::MAKERS{$parent}
469 31 1 2 $meta->{'foreignconstructor'} and not $meta->{'foreignbuildall'}

or 2 conditions

line l !l condition
43 1 36 $methodname ||= "new"
45 0 37 $META{$package} ||= {"package", $package}
180 38 25 $META{$package}{'params'} ||= []

or 3 conditions

line l !l&&r !l&&!r condition
42 0 36 0 our $SETUP_FOR || caller
1 36 0 $package ||= our $SETUP_FOR || caller
72 1 0 0 $thing->can('compiled_check') || $thing->can('check')
151 7 1 55 exists $spec{'default'} or defined $spec{'builder'}
175 0 2 61 $spec{'clone_on_write'} or $spec{'clone'}
176 0 2 0 $spec{'clone_on_write'} || $spec{'clone'}
261 0 0 4 $type == Types::Common::Any() or $type == Types::Common::Item()
0 0 0 $type->parameterized_from == Types::Common::ArrayRef() || $type->parameterized_from == Types::Common::HashRef()
341 0 2 61 $spec->{'clone_on_write'} or $spec->{'clone'}
346 7 1 55 exists $spec->{'default'} or defined $spec->{'builder'}
417 0 2 0 ref $_[0] || $_[0]
418 0 2 0 ref $_[1] || $_[1]
440 0 35 0 ref $_[0] || $_[0]
441 0 35 0 ref $_[1] || $_[1]
462 0 34 0 ref $_[0] || $_[0]
466 0 3 31 $meta->{'buildargs'} ||= $klass->can("BUILDARGS")
469 0 1 1 $meta->{'foreignbuildargs'} ||= $klass->can("FOREIGNBUILDARGS")
475 0 33 0 ref $_[0] || $_[0]
481 0 1 0 ref $_[0] || $_[0]