Branch Coverage

blib/lib/Types/TypeTiny.pm
Criterion Covered Total %
branch 122 226 53.9


line true false branch
21 311 0 eval { do { require Type::Tiny::XS; 'Type::Tiny::XS'->VERSION('0.022'); 1 } } ? :
44 1 39 unless @_ > 1
51 1 38 ref $_[0] ? :
78 1 160 unless $INC{'Type/Tiny.pm'}
101 1 1317 unless $self->has_type(@_)
117 1 0 unless $self->has_coercion(@_)
145 257 0 if (ref $package)
147 0 257 unless defined $package
153 49 266 if defined &{$fqmeth;}
159 389 282 if ($Type::Tiny::AvoidCallbacks)
167 189 288 if defined $cache{'StringLike'}
173 45 16 unless defined $_ and not ref $_
191 61 350 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
204 99 163 if defined $cache{'HashLike'} and not @_
210 64 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 71 226 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
298 2 161 if (@_) { }
302 103 164 if defined $cache{'ArrayLike'} and not @_
308 62 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 71 227 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
396 2 162 if (@_) { }
404 101 167 if $cache{'CodeLike'}
409 60 2 unless ref $_ eq "CODE"
428 62 230 $Type::Tiny::AvoidCallbacks || !$xsubname ? :
441 337 160 if $cache{'BoolLike'}
451 50 6 unless not defined $_ or not ref $_ and $_ eq '' || $_ eq '0' || $_ eq '1'
472 131991 289 if defined $cache{'TypeTiny'}
476 22 40 if builtin::blessed($_)
492 128 160 if defined $cache{'_ForeignTypeConstraint'}
507 222 0 @_ ? :
508 6 216 if ref $t eq "CODE"
509 100 116 if (my $class = builtin::blessed($t))
510 0 100 if $class->isa("Type::Tiny")
511 0 100 if $class->isa("Moose::Meta::TypeConstraint")
512 0 100 if $class->isa("MooseX::Types::TypeDecorator")
513 0 100 if $class->isa("Validation::Class::Simple")
514 0 100 if $class->isa("Validation::Class")
515 5 95 if $t->can("check")
521 157629 0 @_ ? :
523 5004 152625 unless my $ref = ref $t
524 112530 40095 if $ref =~ /^Type::Tiny\b/
526 0 40095 if $ttt_cache{builtin::refaddr($t)}
529 53 40042 if (my $class = builtin::blessed($t))
530 0 53 if $class->isa("Type::Tiny")
531 0 53 if $class eq "MooseX::Types::TypeDecorator"
532 0 53 if $class->isa("Moose::Meta::TypeConstraint")
533 0 53 if $class->isa("MooseX::Types::TypeDecorator")
534 0 53 if $class->isa("Mouse::Meta::TypeConstraint")
535 0 53 if $class->isa("Validation::Class::Simple")
536 0 53 if $class->isa("Validation::Class")
537 6 47 if $t->can("DOES") and $t->DOES("Type::Library::Compiler::TypeConstraint") and $t->can("to_TypeTiny")
538 3 44 if $t->can("check")
542 40019 67 if $ref eq "CODE"
550 0 0 if (ref $t->{'Types::TypeTiny::to_TypeTiny'})
554 0 0 if ($t->name ne "__ANON__")
557 0 0 if $ts->{'_is_core'}
561 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') ? :
576 0 0 if $t->has_message
582 0 0 if $t->has_coercion
596 0 0 if $t->has_parent
599 0 0 if $t->can("can_be_inlined") and $t->can_be_inlined
602 0 0 if ($opts{'inlined'})
603 0 0 unless $t->inline_environment
604 0 0 if keys %env
648 0 0 if (is_TypeTiny($_)) { }
665 0 0 if ($t->VERSION >= '7.900048') { }
680 0 0 eval { do { $t->validate } } ? :
699 0 0 eval { do { $t->validate } } ? :
709 0 0 unless $t->get_fields($k)
726 30 0 @_ ? :
729 2 0 @_ ? :
730 3 0 if $t->can("get_message")
732 0 3 if $t->can("name")
734 1 0 @_ ? :
735 1 0 if $t->can("has_coercion") and $t->has_coercion and $t->can("coerce")
739 0 0 if ($t->can("can_be_inlined") and $t->can_be_inlined and $t->can("inline_check"))
757 0 0 @_ ? :
758 0 0 @_ ? :
761 0 0 if $t->can("name")
763 0 0 @_ ? :
764 0 0 if $t->can("has_coercion") and $t->has_coercion and $t->can("coerce")
768 0 0 if ($t->{'constraint_generator'})
772 0 0 if (is_TypeTiny($_)) { }
795 1 0 if $@
1 1 unless (eval { do { &$t($_); 1 } })
800 1 40018 if ($QFS ||= "Sub::Quote"->can("quoted_from_sub"))
801 0 1 unless &$QFS($t)
802 1 0 if ($perlstring)
806 0 11 $var eq '$_' ? :
813 1 0 if $perlstring and not $captures