Branch Coverage

blib/lib/Aion/Types.pm
Criterion Covered Total %
branch 168 188 89.3


line true false branch
25 11 0 /^Isa\((.*)\)\z/su ? :
33 0 11 if $subname eq "__ANON__"
36 0 11 if $@
38 0 11 if @signature == 0
48 2 9 if (not subref_is_reachable($referent)) { }
52 0 9 if $require
55 0 9 if $overload
72 0 0 if &$f1()
79 10 282 if UNIVERSAL::isa($arg, "Aion::Type") and $arg->{'is_param'}
88 12 116 unless UNIVERSAL::isa($arg, "Aion::Type")
90 36 80 if (my $param = $arg->{'is_param'})
91 34 2 if $param > 0
92 0 2 if $param == -1
93 0 2 if $param == -2
94 0 2 if $param == -256
95 2 0 if $param == -1024
99 16 64 unless $arg->{'args'} and &List::Util::first(sub { UNIVERSAL::isa($_, "Aion::Type"); } , @{$$arg{"args"};})
103 64 0 if $arg->{'init'}
119 1 622 if keys %o
121 0 622 unless $subtype =~ /^([A-Z_]\w*)(?:(\`)?\[(.*)\])?$/iu
125 1 621 if *{"${pkg}::$name";}{"CODE"}
127 73 548 if ($is_maybe_arg) { }
128 1 72 unless $awhere
130 1 547 if $awhere
133 93 526 $init_where ? :
148 120 499 if $init_types
150 604 15 if defined $as
152 10 594 if $as and $is_arg and &$IS_PARAM($as)
155 604 15 $as ? :
201 418 @init ? :
72 547 $awhere ? :
2 617 $message ? :
165 72 547 if ($is_maybe_arg) { }
217 330 elsif ($is_arg or @init) { }
183 1 4539 if $Aion::Type::SELF->{'is_param_args'}
185 2103 2436 if (wantarray) { }
200 1 51 if keys %o
201 1 50 unless UNIVERSAL::isa($type, "Aion::Type")
202 2 48 unless UNIVERSAL::isa($from, "Aion::Type")
203 2 46 unless ref $via eq "CODE"
214 0 7 ($ieee_dbl_max_str + 0) =~ /inf/iu ? :
249 13 6 defined $_ && ref $_ eq '' ? :
6957 19 if (UNIVERSAL::isa($_, 'Aion::Type')) { }
250 0 6 unless builtin::reftype($_) eq "CODE" or overload::Method($_, "&{}")
257 4 2 UNIVERSAL::can($_, 'coerce') ? :
262 16 1 if ref $_ eq ""
264 2 6 if overload::Method($_, "bool")
266 2 4 $m ? :
276 2 1 unless utf8::is_utf8($_)
296 3 7 m[\s*/\s*]u ? :
297 185 7 if &looks_like_number($_)
303 2 1 $ref eq 'SCALAR' ? :
2 3 $ref eq 'ARRAY' ? :
2 5 $ref eq 'HASH' ? :
309 2 1 $ref eq 'SCALAR' ? :
2 3 $ref eq 'ARRAY' ? :
2 5 if ($ref eq 'HASH') { }
324 5 2 $pkg->can($_) ? :
6 7 UNIVERSAL::isa($_, 'Aion::Type') ? :
327 1 4 unless my $subroutine = $Aion::Isa{pack "J", builtin::refaddr($_)}
330 1 3 if @$signature != @$args
333 1 7 unless $$signature[$i++] eq $type
340 3 0 if ref $_ ~~ ["SCALAR", "REF"]
343 2 0 if ref $_ eq "SCALAR"
346 1 1 if ref $_ eq "REF"
352 6 1 if ref $_ eq "ARRAY"
357 4 20 if $A->exclude($$_[$k++])
366 2 12 if $A->exclude($$_[$k++])
373 44 1 if ref $_ eq "HASH"
378 14 14 unless ref $A
379 11 3 if (exists $_->{$k}) { }
380 1 10 if $A->exclude($_->{$k})
383 1 2 unless exists $A->{'is_option'}
392 2 3 unless $K->include($k) and $V->include($v)
398 19 0 if builtin::blessed($_)
403 1 2 unless builtin::reftype($_) eq "REGEXP"
405 1 2 unless builtin::reftype($_) eq "CODE"
407 5 8 unless builtin::reftype($_) eq "ARRAY"
408 2 1 if (&ArrayLike->test)
410 7 19 if @{&ARGS;} == 1
411 6 1 if &A() <= @$_
413 6 11 unless builtin::reftype($_) eq "HASH"
414 2 1 if (&HashLike->test)
418 5 14 if @{&ARGS;} == 1
419 5 1 if &A() <= scalar keys %$_
431 25 11 if @{&ARGS;} == 1
432 12 1 if &A() <= length $_
435 5 0 ref $_[0] eq 'ARRAY' ? :
438 4 127 if UNIVERSAL::isa(&A(), "Aion::Type::Lim")
439 1 130 if UNIVERSAL::isa(&B(), "Aion::Type::Lim")
441 47 15 if &A() <= $_
446 8 4 &A() < 8 ? :
452 4 7 &A() < 8 ? :
458 1 3 $_ < 0 ? :