Condition Coverage

blib/lib/MooX/Press.pm
Criterion Covered Total %
condition 225 421 53.4


and 2 conditions

line l !l condition
214 437 4 0 $opts{$_} and $modifiers{$_} = delete $opts{$_}

and 3 conditions

line !l l&&!r l&&r condition
101 25 0 24 not $no_warn and defined $opts->{'factory_package'}
25 24 0 not $no_warn and defined $opts->{'factory_package'} and $opts->{'factory_package'} eq "Local"
133 0 0 1 is_HashRef($pkg->[1]) and is_CodeRef($pkg->[1]{'code'})
141 0 0 1 is_HashRef($pkg->[1]) and is_CodeRef($pkg->[1]{'code'})
158 56 4 9 defined $pkg->[1]{'extends'} and not ref $pkg->[1]{'extends'}
308 674 229 6 defined $parent and $name =~ /^\+(.+)/
319 12 10 380 length $prefix and lc substr($name, 0, length $prefix) eq lc $prefix
535 176 0 15 defined $opts{'subclass'} and not $opts{'is_role'}
583 0 0 7 defined $method_name and not ref $method_name
603 174 0 15 defined $opts{'subclass'} and not $opts{'is_role'}
686 82 0 2 @raw > 1 and ref $raw[1]
731 51 0 88 $toolkit eq "Moo" and eval {
732 113 26 0 $toolkit eq "Moose" and eval {
841 204 0 0 defined $opts{'factory_package_can'} and defined $opts{'factory_package'}
846 204 0 0 defined $opts{'type_library_can'} and defined $opts{'type_library'}
877 75 27 1 @roles > 1 and ref $roles[1]
905 139 64 1 $opts{'is_role'} and defined $opts{'requires'}
914 182 0 0 $opts{'abstract'} and $opts{'factory'}->$_handle_list
937 0 20 26 @methods and not ref $methods[0]
959 113 0 26 $toolkit eq "Moose" and not $opts{'mutable'}
966 51 88 0 $toolkit eq "Moo" and eval {
976 4 3 1 (ref $_[0] || $_[0]) eq $qname and $_[1] eq "new"
1006 9 187 8 $opts{'type_library'} and $opts{'type_name'}
1045 1 6 1 $kind eq "class" and my $extends = delete $spec{'extends'}
1058 1 7 0 $kind eq "class" and my $overload = delete $spec{'overload'}
1108 2 0 0 @roles > 1 and ref $roles[1]
1125 3 4 0 $fp and my $factory = delete $spec{'factory'}
1129 3 4 0 $fp and my $factory = delete $spec{'multifactory'}
1170 179 12 207 @methods and not ref $methods[0]
1199 0 0 0 is_ArrayRef($meta{'signature'}) and 1 == @sigtypes
0 0 0 is_ArrayRef($meta{'signature'}) and 1 == @sigtypes and not $meta{'named'}
1348 0 108 17 $INC{'Moo/Role.pm'} && 'Moo::Role'->is_role($package)
1407 0 0 0 $factory and $factory->can("type_library")
1430 26 11 0 $meta and $meta->is_immutable
1458 46 0 10 is_Object($attrspec) && $attrspec->can('check')
1467 55 1 2 defined $spec{'clearer'} and not ref $spec{'clearer'}
56 2 0 defined $spec{'clearer'} and not ref $spec{'clearer'} and $spec{'clearer'} eq 1
1492 30 21 7 $spec{'isa'} and not ref $spec{'isa'}
1502 55 0 3 is_Object($spec{'type'}) and $spec{'type'}->can("check")
1510 10 1 47 ref $spec{'isa'} and not exists $spec{'coerce'}
11 40 7 ref $spec{'isa'} and not exists $spec{'coerce'} and $spec{'isa'}->has_coercion
1515 22 0 1 defined $spec{'trigger'} and not ref $spec{'trigger'}
22 0 1 defined $spec{'trigger'} and not ref $spec{'trigger'} and $spec{'trigger'} eq 1
1518 22 0 1 defined $spec{'trigger'} and not ref $spec{'trigger'}
1539 58 0 0 is_Object($spec{'default'}) and $spec{'default'}->isa("Ask::Question")
1543 0 0 0 $spec{'isa'} and not $default->has_type
1556 47 11 0 $toolkit eq "Mouse" and is_Object($spec{'default'})
46 12 0 $toolkit eq "Moose" and is_Object($spec{'default'})
58 0 0 $toolkit eq "Moose" and is_Object($spec{'default'}) and not $spec{'default'}->isa("Class::MOP::Method")
1650 6 23 4 is_Object($spec->{'isa'}) and $spec->{'isa'}->isa("Type::Tiny::Enum")
29 3 1 is_Object($spec->{'isa'}) and $spec->{'isa'}->isa("Type::Tiny::Enum") and $spec->{'handles'}
1670 2 8 2 is_Object($spec->{'isa'}) and $spec->{'isa'}->isa('Type::Tiny::Enum') || $spec->{'isa'}->isa('Moose::Meta::TypeConstraint::Enum')
8 2 0 is_Object($spec->{'isa'}) and $spec->{'isa'}->isa('Type::Tiny::Enum') || $spec->{'isa'}->isa('Moose::Meta::TypeConstraint::Enum') and $spec->{'handles'}
1687 2 7 2 is_Object($spec->{'isa'}) and $spec->{'isa'}->isa("Type::Tiny::Enum")
9 2 0 is_Object($spec->{'isa'}) and $spec->{'isa'}->isa("Type::Tiny::Enum") and $spec->{'handles'}
1795 0 0 0 is_ArrayRef($method_spec->{'signature'}) and 1 == @sigtypes
0 0 0 is_ArrayRef($method_spec->{'signature'}) and 1 == @sigtypes and $signature_style eq "positional"
1932 202 4 2 $signature and $methods->{$name}{'optimize'}
1957 202 2 4 $signature && !$optimized
202 2 4 $signature && !$optimized
1998 0 0 0 is_ArrayRef($signature) and 1 == @sigtypes
0 0 0 is_ArrayRef($signature) and 1 == @sigtypes and $signature_style eq "positional"
2026 2 1 2 is_HashRef($sig[0]) and not $sig[0]{'slurpy'}
2052 17 0 2 is_HashRef($sig[0]) and not $sig[0]{'slurpy'}
2062 28 0 0 is_HashRef($sig[0]) and $sig[0]{'slurpy'}
2074 28 0 0 is_HashRef($sig[0]) and not ref $sig[0]{'slurpy'}
2079 13 0 15 is_Str($type) and not $type =~ /^[01]$/
2101 28 0 0 $opts->{'slurpy'} and not ref $opts->{'slurpy'}
2157 0 0 15 defined $value and not ref $value

or 2 conditions

line l !l condition
79 0 49 $opts->{'default_is'} ||= "ro"
81 0 23 $ENV{'PERL_MOOX_PRESS_TOOLKIT'} || 'Moo'
192 0 47 $opts{'toolkit_install_methods'} || 'install_methods'
197 0 45 $methods{'qualify'} ||= sub {
199 0 45 $methods{'get_class'} ||= sub {
201 0 45 $methods{'get_role'} ||= sub {
247 293 9 $opts->{'caller_file'} || 1
263 22 31 $opts->{$kind} ||= []
266 1 1 $opts->{$kind} ||= []
362 1 0 do {
383 0 0 do {
573 0 7 $opts{'toolkit_install_methods'} || 'install_methods'
1172 12 179 shift @methods || \1
1191 0 10 $meta{'curry'} ||= [$qname]
1239 149 42 do {
1330 0 4 $opts{'toolkit_install_constants'} || 'install_constants'
1415 36 1 $opts ||= {}
1472 31 1 $opts->{'default_is'} || 'ro'
1681 0 0 $spec->{'traits'} ||= []
2018 4 2 1 $signature_style ||= "none"
2043 0 1 0 $signature_style ||= "none"
2180 2 0 $signature ||= sub {

or 3 conditions

line l !l&&r !l&&!r condition
81 26 23 0 $opts->{'toolkit'} ||= $ENV{'PERL_MOOX_PRESS_TOOLKIT'} || 'Moo'
118 16 33 0 $opts{'caller'} ||= $caller
119 0 49 0 $opts{'caller_file'} ||= [caller]->[1]
133 1 1 0 is_CodeRef($pkg->[1]) or is_HashRef($pkg->[1]) and is_CodeRef($pkg->[1]{'code'})
141 1 1 0 is_CodeRef($pkg->[1]) or is_HashRef($pkg->[1]) and is_CodeRef($pkg->[1]{'code'})
262 2 0 0 $val eq 1 or not defined $val
362 1 0 0 do {
383 0 0 0 do {
425 0 7 0 $none ||= ~&Any()
446 45 0 2 defined $opts{'factory_package'} or not exists $opts{'factory_package'}
487 0 2 0 $opts{'class_type_name'} || sprintf('%sClass', $builder->type_name($qname, $opts{'prefix'}))
495 0 2 0 $opts{'instance_type_name'} || sprintf('%sInstance', $builder->type_name($qname, $opts{'prefix'}))
514 8 183 0 $opts{'type_name'} || $builder->type_name($qname, $opts{'prefix'})
715 14 4 186 exists $opts{'factory'} or exists $opts{'multifactory'}
723 204 0 0 {'moo', 'Moo', 'moose', 'Moose', 'mouse', 'Mouse'}->{lc $opts{'toolkit'}} || $opts{'toolkit'}
887 2 94 6 $role_qname =~ /\?$/ or ${"${role_qname}::BUILT";}
976 0 8 0 ref $_[0] || $_[0]
1017 0 1 7 $spec{'is_role'} || do {
1069 0 0 0 is_CodeRef($coercions[0]) or is_HashRef($coercions[0])
1193 0 0 10 match("coercion", $meta{'attributes'}) or match("coerce", $meta{'attributes'})
1196 0 0 0 $to_type ||= $fpackage->type_library->get_type_for_package("any", $qname)
1351 0 0 0 $_cached_moo_helper{"${package}::$helpername"} ||= $tracker->{$helpername}
1354 0 125 0 $_cached_moo_helper{"${package}::$helpername"} ||= eval sprintf("do { package %s; use Moo%s; my \$coderef = \\&%s; no Moo%s; \$coderef };", $package, $is_role ? "::Role" : "", $helpername, $is_role ? "::Role" : "")
1403 0 0 0 $factory ||= do {
1417 33 1 3 $opts->{'prefix'} || $builder->_detect_prefix($qname)
1418 36 1 0 $opts->{'toolkit'} || $builder->_detect_toolkit($qname)
1419 36 1 0 $opts->{'type_library'} || $builder->_detect_type_library($qname)
1420 0 37 0 $opts->{'reg'} || 'Type::Registry'->for_class($qname)
1444 4 4 0 $nondeep ||= ~&ArrayRef() & ~&HashRef()
0 8 0 $spec_hints{'isa'} ||= {"\$", $nondeep ||= ~&ArrayRef() & ~&HashRef(), "\@", &ArrayLike(), "%", &HashLike()}->{$2}
1472 26 32 0 $spec{'is'} ||= $opts->{'default_is'} || 'ro'
1477 0 1 0 $spec{'builder'} ||= $buildername
1488 0 0 0 $spec{'isa'} ||= $types->get_type_for_package("role", $target)
1489 0 0 0 $spec{'isa'} ||= &ConsumerOf()->of($target)
1494 0 7 0 $spec{'isa'} ||= $types->get_type_for_package("class", $target)
1495 7 0 0 $spec{'isa'} ||= &InstanceOf()->of($target)
1506 9 0 0 $reg ||= "Type::Registry"->for_class($qname)
1573 0 1 1 $spec{'traits'} or $spec{'handles_via'}
1670 2 0 8 $spec->{'isa'}->isa('Type::Tiny::Enum') || $spec->{'isa'}->isa('Moose::Meta::TypeConstraint::Enum')
1674 12 0 0 Moose::Util::find_meta($class) || $class->meta
1693 11 0 0 Mouse::Util::find_meta($class) || $class->meta
1719 18 0 0 Moose::Util::find_meta($class) || $class->meta
1733 18 0 0 Mouse::Util::find_meta($class) || $class->meta
1789 0 0 10 match("coercion", $method_spec->{'attributes'}) or match("coerce", $method_spec->{'attributes'})
1875 0 0 0 Moose::Util::find_meta($role) || $role->meta
1882 0 0 0 Mouse::Util::find_meta($role) || $role->meta
1888 0 1 0 delete $method{'package'} || caller
1993 0 0 208 match("coercion", $attrs) or match("coerce", $attrs)
1996 0 0 0 $to_type ||= $class->FACTORY->type_library->get_type_for_package("any", $class)
2054 0 19 0 $global_opts->{'subname'} ||= $method_name
2080 3 12 0 $reg ||= do {
2119 0 0 0 $reg ||= do {
2179 2 0 0 $signature or @curry
2212 6 0 0 Moose::Util::find_meta($class) || $class->meta
2223 6 0 0 Mouse::Util::find_meta($class) || $class->meta