Branch Coverage

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


line true false branch
56 7 1 unless ($meta)
57 0 7 unless my(@caller) = caller 1
60 0 7 unless $meta = do { "${pkg}::SPEC" }->{$func}
75 4 22 if ($args{'die'}) { }
4 18 elsif ($meta->{'result_naked'}) { }
91 6 8 ref $schema ? :
101 0 14 unless $cd->{'v'} == 2
105 6 8 if $cd->{'use_dpath'}
109 20 34 unless $mod_rec->{'phase'} eq 'runtime'
110 14 20 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
111 46 7 unless $mod_rec->{'use_statement'} and $_->{'use_statement'} and $_->{'use_statement'} eq $mod_rec->{'use_statement'}
115 6 8 if ($cd->{'use_dpath'})
120 5 3 if ($args_as eq 'hash' or $args_as eq 'hashref') { }
3 0 elsif ($args_as eq 'array' or $args_as eq 'arrayref') { }
129 4 4 if (defined $arg_spec->{'default'})
133 8 0 if $arg_spec->{'schema'}
134 4 4 if ($arg_spec->{'req'})
141 4 1 if @meta_args
147 2 1 if (@arg_names and $$meta_args{$arg_names[-1]}{'slurpy'} // $$meta_args{$arg_names[-1]}{'greedy'})
157 3 3 if ($arg_spec->{'req'}) { }
158 0 3 if (defined $start_of_optional)
168 3 0 if ($start_of_optional) { }
0 0 elsif (defined $start_of_optional) { }
181 0 6 if (not defined $arg_spec->{'pos'}) { }
0 6 elsif ($arg_spec->{'pos'} != $i) { }
0 10 elsif ($arg_spec->{'slurpy'} // $arg_spec->{'greedy'} and $i < $#arg_names) { }
192 3 3 if (defined $arg_spec->{'default'})
196 3 3 if (defined $start_of_optional and $i >= $start_of_optional)
200 6 0 if $arg_spec->{'schema'}
201 3 3 if $open_block
220 1 7 if ($args{'source'}) { }
225 0 7 if $@