Branch Coverage

blib/lib/Perinci/Sub/ValidateArgs.pm
Criterion Covered Total %
branch 50 64 78.1


line true false branch
89 7 13 unless ($meta)
90 0 7 unless my(@caller) = &CORE::GLOBAL::caller(1)
93 0 7 unless $meta = do { "${pkg}::SPEC" }->{$func}
108 16 56 if ($args{'die'}) { }
4 52 elsif ($meta->{'result_naked'}) { }
124 18 20 ref $schema ? :
134 0 38 unless $cd->{'v'} == 2
138 18 20 if $cd->{'use_dpath'}
142 56 94 unless $mod_rec->{'phase'} eq 'runtime'
143 38 56 if grep {$_->{'name'} eq $mod_rec->{'name'} unless $mod_rec->{'use_statement'} and $_->{'use_statement'} and $_->{'use_statement'} eq $mod_rec->{'use_statement'};} @modules_for_all_args
144 130 19 unless $mod_rec->{'use_statement'} and $_->{'use_statement'} and $_->{'use_statement'} eq $mod_rec->{'use_statement'}
148 18 20 if ($cd->{'use_dpath'})
153 15 5 if ($args_as eq 'hash' or $args_as eq 'hashref') { }
5 0 elsif ($args_as eq 'array' or $args_as eq 'arrayref') { }
162 14 14 if (defined $arg_spec->{'default'})
166 28 0 if $arg_spec->{'schema'}
167 14 14 if ($arg_spec->{'req'})
174 14 1 if @meta_args
180 4 1 if (@arg_names and $$meta_args{$arg_names[-1]}{'slurpy'} // $$meta_args{$arg_names[-1]}{'greedy'})
190 5 5 if ($arg_spec->{'req'}) { }
191 0 5 if (defined $start_of_optional)
201 5 0 if ($start_of_optional) { }
0 0 elsif (defined $start_of_optional) { }
214 0 10 if (not defined $arg_spec->{'pos'}) { }
0 10 elsif ($arg_spec->{'pos'} != $i) { }
0 16 elsif ($arg_spec->{'slurpy'} // $arg_spec->{'greedy'} and $i < $#arg_names) { }
225 5 5 if (defined $arg_spec->{'default'})
229 5 5 if (defined $start_of_optional and $i >= $start_of_optional)
233 10 0 if $arg_spec->{'schema'}
234 5 5 if $open_block
253 1 19 if ($args{'source'}) { }
258 0 19 if $@