Branch Coverage

blib/lib/Perinci/Sub/Normalize.pm
Criterion Covered Total %
branch 52 68 76.4


line true false branch
28 14 8 if (defined $argspec->{'pos'})
29 1 13 if $argspec->{'pos'} < 0
30 1 12 if defined $arg_at_pos[$argspec->{'pos'}]
33 6 14 if ($argspec->{'slurpy'} or $argspec->{'greedy'})
35 2 4 unless defined $argspec->{'pos'}
36 1 3 if defined $slurpy_pos
40 1 15 if (defined $slurpy_pos and $slurpy_pos < @arg_at_pos - 1)
45 1 14 if grep {not defined $_;} @arg_at_pos
46 0 14 if ($meta->{'args_as'} and $meta->{'args_as'} =~ /\Aarray(ref)?\z/)
47 0 0 if scalar keys %$argspecs > @arg_at_pos
63 32 33 if (defined $ver)
64 2 30 unless defined $meta->{'v'} and $meta->{'v'} eq $ver
70 1 120 unless $k =~ /\A(\w+)(?:\.(\w+(?:\.\w+)*))?(?:\((\w+)\))?\z/
74 1 119 if (defined $3) { }
76 0 1 defined $2 ? :
82 5 115 defined $attr ? :
85 5 115 if ($prop =~ /\A_/ or defined $attr and $attr =~ /\A_|\._/)
86 4 1 unless ($opt_rip)
95 4 104 unless ($opt_aup or $prop_proplist)
100 4 0 if ($@)
101 4 0 if $@
106 0 111 unless $opt_aup or $prop_proplist
109 9 102 if ($prop_proplist and $prop_proplist->{'_prop'}) { }
0 102 elsif ($prop_proplist and $prop_proplist->{'_elem_prop'}) { }
20 82 elsif ($prop_proplist and $prop_proplist->{'_value_prop'}) { }
111 0 9 unless ref $meta->{$k} eq "HASH"
123 0 0 unless ref $meta->{$k} eq "ARRAY"
128 0 0 if (ref $_ eq 'HASH') { }
145 0 20 unless ref $meta->{$k} eq "HASH"
150 0 28 unless ref $meta->{$k}{$_} eq "HASH"
156 26 2 $prop eq 'args' ? :
162 24 58 if ($k eq 'schema' and $opt_nss) { }
186 0 28 unless my $sch_proplist = $sch->[1]{'_prop'}
191 7 14 if $err