Condition Coverage

blib/lib/Type/Tiny.pm
Criterion Covered Total %
condition 212 316 67.0


and 2 conditions

line l !l condition
119 933 307 $ENV{$_} and ++$strict_mode
438 1967 563 0 builtin::reftype($params{'my_methods'}{$_}) eq "CODE" and /\A[^0-9\W]\w+\z/ and &Eval::TypeTiny::set_subname(sprintf("%s::my_%s", $self->qualified_name, $_), $params{'my_methods'}{$_})

and 3 conditions

line !l l&&!r l&&r condition
90 0 310 0 $] >= 5.010001 && $] <= 5.041002
308 95908 0 235192 not exists $params{'definition_context'} and $level < 20
328 0 0 12782 builtin::blessed($params{'parent'}) and $params{'parent'}->isa(__PACKAGE__)
330 12776 3 3 $params{'parent'}->deprecated and not exists $params{'deprecated'}
335 45416 0 50492 exists $params{'constraint'} and defined $params{'constraint'}
45416 50408 84 exists $params{'constraint'} and defined $params{'constraint'} and not ref $params{'constraint'}
367 95896 5 6 exists $params{'coercion'} and not ref $params{'coercion'}
95901 4 2 exists $params{'coercion'} and not ref $params{'coercion'} and $params{'coercion'}
376 10787 44853 40267 not exists $params{'inlined'} and exists $params{'constraint'}
44853 75 40192 not exists $params{'inlined'} and exists $params{'constraint'} and !exists $params{'parent'} || $params{'parent'}->can_be_inlined
75 40186 6 not exists $params{'inlined'} and exists $params{'constraint'} and !exists $params{'parent'} || $params{'parent'}->can_be_inlined and $QFS ||= "Sub::Quote"->can("quoted_from_sub")
395 1 1 4 $perlstring and not $captures
438 1967 0 563 builtin::reftype($params{'my_methods'}{$_}) eq "CODE" and /\A[^0-9\W]\w+\z/
567 9 0 502 $self->has_coercion and @{$self->coercion->type_coercion_map;}
609 0 2097 0 defined $_ and s/[\x00-\x1F]//gms
610 585 571 39 !ref($_) && /\W/
619 44704 7 3519 $self->_is_null_constraint and $self->has_parent
660 3134 205 818 $self->_is_null_constraint and $self->has_parent
692 0 0 1544 builtin::blessed($A) and $A->isa("Type::Tiny")
693 0 0 1544 builtin::blessed($B) and $B->isa("Type::Tiny")
789 0 0 14433 builtin::blessed($self) and $self->isa("Type::Tiny")
790 0 0 14433 builtin::blessed($other) and $other->isa("Type::Tiny")
796 0 0 13865 builtin::blessed($self) and $self->isa("Type::Tiny")
797 0 0 13865 builtin::blessed($other) and $other->isa("Type::Tiny")
806 0 0 2 builtin::blessed($self) and $self->isa("Type::Tiny")
807 0 0 2 builtin::blessed($other) and $other->isa("Type::Tiny")
814 0 0 2587 builtin::blessed($self) and $self->isa("Type::Tiny")
815 0 0 2587 builtin::blessed($other) and $other->isa("Type::Tiny")
824 43 0 15036 exists $self->{'library'} && $self->name ne '__ANON__'
920 358 0 102 $self->is_parameterized and $self->parent->has_deep_explanation
979 59395 102720 28101 $self->has_parent and $self->_is_null_constraint
981 102720 45830 13565 not $self->has_parent and $self->_is_null_constraint
991 7107 50308 12472 $self->has_parent and $self->_is_null_constraint
993 50308 2667 4440 not $self->has_parent and $self->_is_null_constraint
998 0 45016 7959 @r and not defined $r[0]
1004 25297 4968 10701 /[;{}]/ && !/\Ado \{.+\}\z/
1064 1 55 382 defined $self and not ref $self
1150 37 1326 418 defined $key and defined $param_cache{$key}
1174 0 4009 40 exists $options{$_} and not defined $options{$_}
4009 40 0 exists $options{$_} and not defined $options{$_} and delete $options{$_}
1204 0 930 1 defined $max_args and $args > $max_args
858 71 1 defined $min_args and $args < $min_args
1279 0 0 0 $self->has_library and not $self->is_anon
1298 0 0 0 $self->has_library and not $self->is_anon
1349 14129 7 1033 $self->has_coercion && $self->coercion->frozen
1373 0 81 16 builtin::blessed($next) and $next->isa("Type::Coercion")
81 9 7 builtin::blessed($next) and $next->isa("Type::Coercion") and $next->is_parameterized
0 81 9 builtin::blessed($next) and $next->can("type_coercion_map")
1461 282906 0 0 $INC{'Moose/Meta/TypeConstraint.pm'} and ref $self
282906 0 0 $INC{'Moose/Meta/TypeConstraint.pm'} and ref $self and $_[0] =~ /^(?:Class::MOP|MooseX?::Meta)::(.+)$/
1476 282906 0 0 $INC{'Mouse.pm'} and ref $self
282906 0 0 $INC{'Mouse.pm'} and ref $self and $_[0] eq "Mouse::Meta::TypeConstraint"
1515 83199 1 0 $_[0] eq "type_parameter" and builtin::blessed($_[0])
83200 0 0 $_[0] eq "type_parameter" and builtin::blessed($_[0]) and $_[0]->has_parameters
1528 42350 7 1 $self->{'is_object'} and $object_methods{$_[0]}
1558 1218 0 3 $self->{'is_object'} and $object_methods{$m}
1580 0 45 0 ref $self and $_[0] =~ /^ Type::API::Constraint (?: ::Coercible | ::Inlinable )? $/x
1583 45 0 0 not ref $self and $_[0] eq "Type::API::Constraint::Constructor"

or 2 conditions

line l !l condition
1319 785 14385 $tag ||= 0
1709 218 0 (shift())->parameters || []

or 3 conditions

line l !l&&r !l&&!r condition
253 0 1 0 $self->{'_overload_coderef'} ||= do { builtin::weaken(my $weak = $self); sub { $weak->assert_return(@_); } }
275 2606 12438 0 $self->{'_overload_coderef'} ||= $self->can_be_inlined ? Eval::TypeTiny::eval_closure("source", sprintf("sub { %s }", $self->inline_assert("\$_[0]", undef, "no_wrapper", 1)), "description", sprintf(q[compiled assertion 'assert_%s'], $self)) : Eval::TypeTiny::eval_closure("source", sprintf("sub { %s }", $self->inline_assert("\$_[0]", "\$type", "no_wrapper", 1)), "description", sprintf(q[compiled assertion 'assert_%s'], $self), "environment", {"\$type", \$self})
309 234895 297 0 our $_TT_GUTS ||= do { my $g = join("|", map(quotemeta($_), grep((!/^Types::/), @InternalPackages))); qr/\A(?:$g)\z/o }
350 0 84 0 $params{'inlined'} ||= sub { my($type) = @_; my $inlined = $_ eq "\$_" ? "do { $code }" : "do { local \$_ = $_; $code }"; $type->has_parent ? (undef, $inlined) : $inlined; }
3 81 0 not exists $params{'parent'} or $params{'parent'}->can_be_inlined
364 13288 0 1 $params{'name'} =~ /^_{0,2}[A-Z][A-Za-z0-9_]+$/ms or eval " use 5.008; \$params{name} =~ /^_{0,2}\\p{Lu}[\\p{L}0-9_]+\$/sm "
376 40055 137 75 !exists $params{'parent'} || $params{'parent'}->can_be_inlined
5 1 40186 $QFS ||= "Sub::Quote"->can("quoted_from_sub")
518 39802 13241 0 $_[0]{'display_name'} ||= $_[0]->_build_display_name
520 437200 4698 0 $_[0]{'constraint'} ||= $_[0]->_build_constraint
523 87018 47671 0 $_[0]{'compiled_type_constraint'} ||= $_[0]->_build_compiled_check
525 7640 13011 0 $_[0]{'coercion'} ||= $_[0]->_build_coercion
532 816 249 0 $_[0]{'name_generator'} ||= $_[0]->_build_name_generator
535 0 0 0 $_[0]{'moose_type'} ||= $_[0]->_build_moose_type
536 0 0 0 $_[0]{'mouse_type'} ||= $_[0]->_build_mouse_type
538 1812 158 0 $_[0]{'my_methods'} ||= $_[0]->_build_my_methods
540 11955 12748 0 $_[0]{'exception_class'} ||= $_[0]->_build_exception_class
554 698 195 0 $_[0]{'_default_message'} ||= $_[0]->_build_default_message
784 194 51 356 $result eq 1 or $result eq 0
860 142588 549 0 $self->{'compiled_type_constraint'} ||= $self->_build_compiled_check
891 2 0 0 $self->{'compiled_type_constraint'} ||= $self->_build_compiled_check
941 5 7 0 $b ||= do { local $@; require B::Deparse; my $tmp = "B::Deparse"->new; $tmp->ambient_pragmas("strict", "all", "warnings", "all") if $tmp->can("ambient_pragmas"); $tmp }
959 78 9 0 $self->{'compiled_type_constraint'} ||= $self->_build_compiled_check
970 115082 1 0 $self->{'compiled_type_constraint'} ||= $self->_build_compiled_check
1016 0 12748 0 $extras{'exception_class'} ||= $self->exception_class
1067 62 376 0 delete $attrs{'exception_class'} || (ref $self ? $self->exception_class : 'Error::TypeTiny::Assertion')
1128 3 0 4807 ref $_ eq 'SCALAR' || ref $_ eq 'REF'
1204 1 1 929 defined $max_args and $args > $max_args or defined $min_args and $args < $min_args
1230 12 69 0 $self->{'complementary_type'} ||= $self->_build_complementary_type
1317 13 15156 0 $base_name ||= $self->name
1326 0 14385 785 $tag eq "types" or not $tag
1332 1 14385 784 $tag eq "is" or not $tag
1338 0 14385 785 $tag eq "assert" or not $tag
1349 784 14385 1 $tag eq "to" or not $tag
1534 0 34 2 $self->{'_util'}{$util} ||= eval { do { $self->_build_util($util) } }
1565 1037 180 0 $self->{'_util'}{$m} ||= $self->_build_util($m)
1573 1 0 0 ref $self || $self
1597 10 5 203 $func eq "grep" or $func eq "first"
15 8 195 $func eq "grep" or $func eq "first" or $func eq "any"
13 140 55 $func eq "grep" or $func eq "first" or $func eq "any" or $func eq "all"
148 8 47 $func eq "grep" or $func eq "first" or $func eq "any" or $func eq "all" or $func eq "assert_any"
148 8 39 $func eq "grep" or $func eq "first" or $func eq "any" or $func eq "all" or $func eq "assert_any" or $func eq "assert_all"
1655 18 11 2 $func eq "sort" or $func eq "rsort"

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
227 0 2 0 2 !0 ^^ $_[2]