Branch Coverage

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


line true false branch
85 7 13 unless ($meta)
86 0 7 unless my(@caller) = &CORE::GLOBAL::caller(1)
89 0 7 unless $meta = do { "${pkg}::SPEC" }->{$func}
104 16 56 if ($args{'die'}) { }
4 52 elsif ($meta->{'result_naked'}) { }
120 18 20 ref $schema ? :
130 0 38 unless $cd->{'v'} == 2
134 18 20 if $cd->{'use_dpath'}
138 56 94 unless $mod_rec->{'phase'} eq 'runtime'
139 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
140 130 19 unless $mod_rec->{'use_statement'} and $_->{'use_statement'} and $_->{'use_statement'} eq $mod_rec->{'use_statement'}
144 18 20 if ($cd->{'use_dpath'})
149 15 5 if ($args_as eq 'hash' or $args_as eq 'hashref') { }
5 0 elsif ($args_as eq 'array' or $args_as eq 'arrayref') { }
158 14 14 if (defined $arg_spec->{'default'})
162 28 0 if $arg_spec->{'schema'}
163 14 14 if ($arg_spec->{'req'})
170 14 1 if @meta_args
176 4 1 if (@arg_names and $$meta_args{$arg_names[-1]}{'slurpy'} // $$meta_args{$arg_names[-1]}{'greedy'})
186 5 5 if ($arg_spec->{'req'}) { }
187 0 5 if (defined $start_of_optional)
197 5 0 if ($start_of_optional) { }
0 0 elsif (defined $start_of_optional) { }
210 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) { }
221 5 5 if (defined $arg_spec->{'default'})
225 5 5 if (defined $start_of_optional and $i >= $start_of_optional)
229 10 0 if $arg_spec->{'schema'}
230 5 5 if $open_block
249 1 19 if ($args{'source'}) { }
254 0 19 if $@