Branch Coverage

blib/lib/Types/TypeTiny.pm
Criterion Covered Total %
branch 123 228 53.9


line true false branch
21 280 0 eval { do { require Type::Tiny::XS; 'Type::Tiny::XS'->VERSION('0.022'); 1 } } ? :
44 1 34 unless @_ > 1
51 0 34 ref $_[0] ? :
78 1 118 unless $INC{'Type/Tiny.pm'}
101 1 932 unless $self->has_type(@_)
117 1 0 unless $self->has_coercion(@_)
145 217 0 if (ref $package)
147 0 217 unless defined $package
153 39 214 if defined &{$fqmeth;}
159 353 168 if ($Type::Tiny::AvoidCallbacks)
167 138 259 if defined $cache{'StringLike'}
173 43 14 unless defined $_ and not ref $_
191 57 317 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
204 81 121 if defined $cache{'HashLike'} and not @_
210 60 7 unless ref $_ eq "HASH"
222 2 0 defined $paramname ? :
225 2 0 if $xsub
230 0 0 unless &$check($hash{$key})
237 0 2 unless $param->can_be_inlined
242 2 0 defined $paramname ? :
248 13 10 if $xsubname and not $Type::Tiny::AvoidCallbacks
259 0 1 unless $param->has_coercion
264 4 0 @_ ? :
268 2 6 unless &$coercible($orig{$k})
287 67 180 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
298 2 119 @_ ? :
302 81 122 if defined $cache{'ArrayLike'} and not @_
308 58 9 unless ref $_ eq "ARRAY"
320 2 0 defined $paramname ? :
323 2 0 if $xsub
328 0 0 unless &$check($val)
335 0 2 unless $param->can_be_inlined
340 2 0 defined $paramname ? :
346 13 10 if $xsubname and not $Type::Tiny::AvoidCallbacks
357 0 1 unless $param->has_coercion
362 4 0 @_ ? :
366 2 8 unless &$coercible($v)
385 67 181 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
396 2 120 @_ ? :
404 83 125 if $cache{'CodeLike'}
409 56 2 unless ref $_ eq "CODE"
428 58 184 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
441 79 118 if $cache{'BoolLike'}
449 1 1 unless $n == 0
44 2 unless not defined $_ or not ref $_ and $_ eq '' || $_ eq '0' || $_ eq '1' or &blessed($_) and _check_overload($_, "bool")
466 126668 260 if defined $cache{'TypeTiny'}
470 20 38 if &blessed($_)
486 97 118 if defined $cache{'_ForeignTypeConstraint'}
501 210 0 @_ ? :
502 6 204 if ref $t eq "CODE"
503 90 114 if (my $class = &blessed($t))
504 0 90 if $class->isa("Type::Tiny")
505 0 90 if $class->isa("Moose::Meta::TypeConstraint")
506 0 90 if $class->isa("MooseX::Types::TypeDecorator")
507 0 90 if $class->isa("Validation::Class::Simple")
508 0 90 if $class->isa("Validation::Class")
509 5 85 if $t->can("check")
515 145508 0 @_ ? :
517 1109 144399 unless my $ref = ref $t
518 104307 40092 if $ref =~ /^Type::Tiny\b/
520 0 40092 if $ttt_cache{&refaddr($t)}
523 50 40042 if (my $class = &blessed($t))
524 0 50 if $class->isa("Type::Tiny")
525 0 50 if $class eq "MooseX::Types::TypeDecorator"
526 0 50 if $class->isa("Moose::Meta::TypeConstraint")
527 0 50 if $class->isa("MooseX::Types::TypeDecorator")
528 0 50 if $class->isa("Mouse::Meta::TypeConstraint")
529 0 50 if $class->isa("Validation::Class::Simple")
530 0 50 if $class->isa("Validation::Class")
531 6 44 if $t->can("DOES") and $t->DOES("Type::Library::Compiler::TypeConstraint") and $t->can("to_TypeTiny")
532 3 41 if $t->can("check")
536 40019 64 if $ref eq "CODE"
544 0 0 if (ref $t->{'Types::TypeTiny::to_TypeTiny'})
548 0 0 if ($t->name ne "__ANON__")
551 0 0 if $ts->{'_is_core'}
555 0 0 $t->isa('Moose::Meta::TypeConstraint::DuckType') ? :
0 0 $t->isa('Moose::Meta::TypeConstraint::Union') ? :
0 0 $t->isa('Moose::Meta::TypeConstraint::Role') ? :
0 0 $t->isa('Moose::Meta::TypeConstraint::Class') ? :
0 0 $t->isa('Moose::Meta::TypeConstraint::Enum') ? :
0 0 $t->can('parameterize') ? :
570 0 0 if $t->has_message
576 0 0 if $t->has_coercion
590 0 0 if $t->has_parent
593 0 0 if $t->can("can_be_inlined") and $t->can_be_inlined
596 0 0 if ($opts{'inlined'})
597 0 0 unless $t->inline_environment
598 0 0 if keys %env
642 0 0 is_TypeTiny($_) ? :
659 0 0 if ($t->VERSION >= '7.900048') { }
674 0 0 eval { do { $t->validate } } ? :
693 0 0 eval { do { $t->validate } } ? :
703 0 0 unless $t->get_fields($k)
720 30 0 @_ ? :
723 2 0 @_ ? :
724 3 0 if $t->can("get_message")
726 0 3 if $t->can("name")
728 1 0 @_ ? :
729 1 0 if $t->can("has_coercion") and $t->has_coercion and $t->can("coerce")
733 0 0 if ($t->can("can_be_inlined") and $t->can_be_inlined and $t->can("inline_check"))
751 0 0 @_ ? :
752 0 0 @_ ? :
755 0 0 if $t->can("name")
757 0 0 @_ ? :
758 0 0 if $t->can("has_coercion") and $t->has_coercion and $t->can("coerce")
762 0 0 if ($t->{'constraint_generator'})
766 0 0 is_TypeTiny($_) ? :
789 1 0 if $@
1 1 unless (eval { do { &$t($_); 1 } })
794 1 40018 if ($QFS ||= "Sub::Quote"->can("quoted_from_sub"))
795 0 1 unless &$QFS($t)
796 1 0 if ($perlstring)
800 0 11 $var eq '$_' ? :
807 1 0 if $perlstring and not $captures