Branch Coverage

blib/lib/Perinci/Access/Schemeless.pm
Criterion Covered Total %
branch 180 284 63.3


line true false branch
42 2161 685 unless $meth =~ /^actionmeta_(.+)/
47 469 216 if ($type eq '*') { }
75 36 0 if ($self->{'cache_size'} > 0)
94 15 15 $path =~ m[/\z] ? :
96 0 30 ref $paths eq 'ARRAY' ? :
97 8 22 if (ref $_ eq 'Regexp') { }
98 4 4 if $path =~ /$_/
100 10 12 if (m[/\z]) { }
101 5 5 if $_ eq $pathslash or index($pathslash, $_) == 0
104 6 6 if $p eq $path or index($pathslash, $p) == 0
117 352 75 $path =~ m[/\z] ? :
119 0 427 ref $paths eq 'ARRAY' ? :
120 52 375 if (ref $_ eq 'Regexp') { }
124 10 365 if (m[/\z]) { }
125 5 1 if $_ eq $pathslash or index($_, $pathslash) == 0 or index($pathslash, $_) == 0
129 62 298 if $p eq $path or index($p, $pathslash) == 0 or index($pathslash, $p) == 0
141 5 79 if (defined $self->{'allow_paths'})
143 4 1 if ($self->{'_actionmetas'}{$req->{'action'}}{'allow_request_parent_path'}) { }
148 1 4 unless $allow
151 1 82 if (defined $self->{'deny_paths'} and __match_paths($path, $self->{'deny_paths'}))
157 3 79 if (defined $self->{'allow_schemes'} and not $sch ~~ $self->{'allow_schemes'})
161 1 78 if (defined $self->{'deny_schemes'} and $sch ~~ $self->{'deny_schemes'})
166 78 0 if ($path =~ m[(.*)/(.*)]) { }
177 0 78 if (defined $self->{'package_prefix'})
178 0 0 length $_ ? :
181 0 78 if $perl_package and not $perl_package =~ /$re_perl_package/
185 43 35 if (length $leaf) { }
186 2 41 if ($leaf =~ /^[%\@\$]/) { }
194 0 35 unless $path =~ m[/\z]
216 1 64 unless $pkg
220 0 64 unless ($self->{'load'})
221 0 0 if package_exists($pkg)
230 18 46 if $INC{$module_p}
237 1 0 "Module $pkg has failed to load previously" . $loadcache{$module_p} ? :
1 45 if exists $INC{$module_p}
241 4 41 if exists $loadcache{$module_p}
252 30 11 if (not $fullpath) { }
7 4 elsif (not $fullpath =~ /\.pm$/) { }
253 29 1 if $pkg_exists
257 7 0 if $pkg_exists
262 1 3 if ($@)
267 1 2 if ($self->{'after_load'})
269 0 1 if $@
282 38 6 unless (defined $meta->{'entity_v'})
284 25 13 if (defined $ver)
288 41 3 unless (defined $meta->{'entity_date'})
290 13 28 if (defined $date)
304 5 59 unless (length $pkg)
305 1 4 if (length $leaf) { }
307 0 1 package_exists($pkg) ? :
320 17 42 if ($self->{'_meta_cache'}{$name})
323 0 17 if $self->{'_orig_meta_cache'}{$name}
330 6 36 if $res and not $type eq 'package' && $res->[0] == 405
336 6 30 if (not $meta and $type eq 'package')
340 3 33 unless $meta
348 0 33 if ($res)
349 0 0 if ($res->[0] == 405) { }
0 0 elsif ($res->[0] != 200) { }
357 18 1 if ($type eq 'function' and $self->{'normalize_metadata'})
359 0 18 if ($@)
369 0 18 if ($sfp)
379 33 0 if ($self->{'cache_size'} > 0)
394 6 13 if ($self->{'_code_cache'}{$name})
400 0 13 if $res
404 0 13 unless defined &{$name;}
415 0 13 unless $meta
423 2 11 if (not $self->{'wrap'} or $meta->{'x.perinci.sub.wrapper.logs'} and &first(sub { $_->{'validate_args'}; } , @{$$meta{'x.perinci.sub.wrapper.logs'};}))
435 0 11 $sfp ? :
440 0 11 unless $wrapres->[0] == 200
444 11 0 if ($self->{'cache_size'} > 0)
453 0 11 if ($sfp)
472 0 85 unless $uri
476 0 85 if $res
478 1 84 unless $self->can("actionmeta_$action")
484 6 78 if $res
489 2 76 unless $am->{'applies_to'}[0] eq '*' or $req->{'-type'} ~~ \@{$$am{'applies_to'};}
495 0 76 if ($self->{'debug'})
506 0 2 unless $uri
526 1 6 if $mres
547 4 4 if $mres
552 0 60 if ($req->{'detail'}) { }
579 296 205 if (defined $self->{'allow_paths'} and not __match_paths2($path, $self->{'allow_paths'}))
583 48 157 if (defined $self->{'deny_paths'} and __match_paths2($path, $self->{'deny_paths'}))
593 10 0 unless ($f_type and $f_type ne 'package')
595 9 1 $req->{'-perl_package'} ? :
602 315 62 unless &$filter_path($path)
603 4 58 if $mem{$path}++
604 18 40 if ($detail) { }
613 1 9 if $res and $res->[0] != 405
620 6 124 if $e =~ /^:/
622 29 95 unless &$filter_path($path)
623 0 95 if $mem{$path}++
624 4 91 $e =~ /^[%\@\$]/ ? :
625 0 95 if $f_type and $f_type ne $t
626 29 66 if ($detail) { }
647 5 21 if $res
665 0 19 if (defined $req->{'tx_id'})
667 0 0 if $res
673 0 19 if $res
675 0 19 if $res
680 2 17 if (exists $req->{'argv'} and $self->{'accept_argv'}) { }
686 1 1 unless $res->[0] == 200
694 3 15 if ($req->{'dry_run'})
695 1 2 unless $risub->can_dry_run
697 1 1 if ($risub->feature('dry_run')) { }
707 1 16 if ($risub->feature('progress'))
712 0 17 if ($tm) { }
717 0 0 if $tm
719 1 16 if $req->{'confirm'}
722 1 16 if ($eval_err)
728 7 10 if (defined $res->[2])
729 0 3 if ($req->{'-meta'}{'result'} and $req->{'-meta'}{'result'}{'schema'} and $req->{'-meta'}{'result'}{'schema'}[0] eq 'buf')
747 1 4 unless my $arg = $req->{'arg'}
752 0 4 if $res
767 0 0 unless my $arg = $req->{'arg'}
769 0 0 unless defined(my $index = $req->{'index'})
774 0 0 if $res
790 0 1 unless $res->[0] == 200
801 0 6 unless $res->[0] == 200
819 0 0 unless $req->{'-uri_leaf'} =~ s/^([%\@\$])//
826 0 0 $prefix eq '%' ? :
0 0 $prefix eq '@' ? :
0 0 $prefix eq '$' ? :
835 0 0 unless $self->{'use_tx'}
838 0 0 if (ref $self->{'custom_tx_manager'} eq 'CODE') { }
0 0 elsif (not &blessed($self->{'_tx_manager'})) { }
841 0 0 unless &blessed($self->{'_tx_manager'})
843 0 0 if $@
851 0 0 unless &blessed($self->{'_tx_manager'})
853 0 0 if $@
857 0 0 if ($tm_cl eq 'Perinci::Tx::Manager')
858 0 0 unless $Perinci::Tx::Manager::VERSION >= 0.29
875 0 0 if $res
891 0 0 if $res
906 0 0 if $res
922 0 0 if $res
938 0 0 if $res
954 0 0 if $res
971 0 0 if $res
987 0 0 if $res
1003 0 0 if $res
1018 0 0 if $res