Branch Coverage

blib/lib/Perinci/Sub/Normalize.pm
Criterion Covered Total %
branch 50 68 73.5


line true false branch
28 10 8 if (defined $argspec->{'pos'})
29 1 9 if $argspec->{'pos'} < 0
30 1 8 if defined $pos[$argspec->{'pos'}]
33 3 13 if ($argspec->{'slurpy'} or $argspec->{'greedy'})
35 2 1 unless defined $argspec->{'pos'}
36 0 1 if defined $slurpy_pos
39 0 16 if (defined $slurpy_pos and $slurpy_pos < @pos)
44 3 13 if grep {not defined $_;} @pos
45 0 13 if ($meta->{'args_as'} and $meta->{'args_as'} =~ /\Aarray(ref)?\z/)
46 0 0 if scalar keys %$argspecs > @pos
62 31 29 if (defined $ver)
63 2 29 unless defined $meta->{'v'} and $meta->{'v'} eq $ver
69 1 106 unless $k =~ /\A(\w+)(?:\.(\w+(?:\.\w+)*))?(?:\((\w+)\))?\z/
73 1 105 if (defined $3) { }
75 0 1 defined $2 ? :
81 5 101 defined $attr ? :
84 5 101 if ($prop =~ /\A_/ or defined $attr and $attr =~ /\A_|\._/)
85 4 1 unless ($opt_rip)
94 4 90 unless ($opt_aup or $prop_proplist)
99 4 0 if ($@)
100 4 0 if $@
105 0 97 unless $opt_aup or $prop_proplist
108 9 88 if ($prop_proplist and $prop_proplist->{'_prop'}) { }
0 88 elsif ($prop_proplist and $prop_proplist->{'_elem_prop'}) { }
19 69 elsif ($prop_proplist and $prop_proplist->{'_value_prop'}) { }
110 0 9 unless ref $meta->{$k} eq "HASH"
122 0 0 unless ref $meta->{$k} eq "ARRAY"
127 0 0 if (ref $_ eq 'HASH') { }
144 0 19 unless ref $meta->{$k} eq "HASH"
149 0 24 unless ref $meta->{$k}{$_} eq "HASH"
155 22 2 $prop eq 'args' ? :
161 20 49 if ($k eq 'schema' and $opt_nss) { }
185 0 27 unless my $sch_proplist = $sch->[1]{'_prop'}
190 7 13 if $err