Branch Coverage

blib/lib/Perinci/Sub/GetArgs/Argv.pm
Criterion Covered Total %
branch 195 238 81.9


line true false branch
50 1 0 if (eval {
58 4 0 if $cleanser
67 1 0 if (eval {
80 5 0 if ($yaml_xs_available) { }
85 0 0 unless $str =~ /\A--- /
86 0 0 unless $str =~ /\n\z/
104 0 192 unless my $clset = $nsch->[1]
105 190 2 unless my $rules = $clset->{'x.perl.coerce_rules'} // $clset->{'x.coerce_rules'}
108 0 2 unless $rule =~ /\A([^_]+)_/
109 2 0 if is_simple($1)
116 192 369 unless is_simple($nsch)
134 1 461 unless (is_type($nsch))
143 274 188 if $is_simple
145 104 84 if ($type eq "array")
147 40 64 unless $elnsch
152 1 63 unless (is_type($elnsch))
164 83 1 if ($type eq "hash")
166 48 35 unless $elnsch
171 1 34 unless (is_type($elnsch))
198 54 180 if ($is_array_of_simple or $is_hash_of_simple)
200 2 52 if ($arg_spec and $arg_spec->{'x.name.is_plural'}) { }
201 1 1 if ($arg_spec->{'x.name.singular'}) { }
212 35 19 $is_array_of_simple ? :
213 19 35 $is_hash_of_simple ? :
216 180 54 if ($is_simple or not @opts)
231 22 212 if ($type eq 'bool') { }
3 209 elsif ($type eq 'buf') { }
232 4 18 if (length $opt == 1) { }
2 16 elsif ($clset->{'is'} or $clset->{'is_true'}) { }
1 15 elsif (defined $clset->{'is'} and not $clset->{'is'} or defined $clset->{'is_true'} and not $clset->{'is_true'}) { }
262 2 190 $type eq 'float' ? :
17 192 $type eq 'int' ? :
19 155 $ishos ? :
35 174 $isaos ? :
288 8 200 $fqarg ne $arg ? :
290 0 0 unless $_ eq "hidden"
291 0 208 if grep {$_ eq "hidden-cli" unless $_ eq "hidden";} @{$arg_spec->{'tags'} // [];}
297 25 19 if ($type eq "array" and $clset->{'of'})
301 3 205 if ($seen_opts->{$opt})
305 0 3 $i > 1 ? :
306 3 0 unless $seen_opts->{$opt2}
332 5 77 if (ref $rargs eq 'ARRAY') { }
340 54 28 if ($is_simple) { }
16 12 elsif ($is_array_of_simple) { }
7 5 elsif ($is_hash_of_simple) { }
355 3 2 if ($success)
361 1 1 if ($success)
369 5 76 if ($val_set and $arg_spec->{'cmdline_on_getopt'})
382 31 210 if ($extra->{'is_neg'}) { }
15 195 elsif (defined $extra->{'is_neg'}) { }
3 192 elsif ($extra->{'is_base64'}) { }
402 8 233 if ($parent_args->{'per_arg_json'} and not $is_simple)
404 0 8 if ($seen_opts->{$jopt}) { }
412 1 0 if ($success) { }
423 8 233 if ($parent_args->{'per_arg_yaml'} and not $is_simple)
425 0 8 if ($seen_opts->{$yopt}) { }
433 1 0 if ($success) { }
446 31 210 if ($arg_spec->{'cmdline_aliases'} and not $aliases_processed++)
450 5 30 $alspec->{'schema'} // $alspec->{'is_flag'} ? :
453 0 35 if ($seen_opts->{$alopt})
460 9 26 if ($alcode and $alsch->[0] eq 'bool') { }
468 12 23 if ($alcode) { }
469 3 9 if ($alcode eq "CODE")
470 1 2 if ($parent_args->{'ignore_converted_code'}) { }
488 0 3 if (ref $rargs eq 'ARRAY') { }
502 10 23 $alcode ? :
512 10 23 $alcode ? :
520 2 237 if ($arg_spec->{'meta'})
528 0 2 if $res
532 3 236 if ($arg_spec->{'element_meta'})
540 0 3 if $res
679 0 76 unless my $meta = $fargs{'meta'}
680 1 75 unless ($fargs{'meta_is_normalized'})
700 0 9 unless my $res = parse_getopt_long_opt_spec($ospec)
705 0 12 if $seen_opts{$_}
708 1 11 if ($res->{'is_neg'})
728 2 74 if $res
730 243 59 length $_ > 1 ? :
731 11 3 length $_ > 1 ? :
732 232 56 length $_ > 1 ? :
739 44 14 unless $seen_common_opts{$_} eq $ospec
740 11 3 length $_ > 1 ? :
748 232 56 length $_ > 1 ? :
953 0 75 unless my $meta = $fargs{'meta'}
954 75 0 unless ($fargs{'meta_is_normalized'})
979 2 73 if $genres->[0] != 200
986 1 72 unless $strict
987 72 1 $strict ? :
992 9 64 unless ($res)
993 9 0 if $strict
1002 13 51 if (@$argv)
1008 2 11 if ($res->[0] != 200 and $strict) { }
0 11 elsif ($strict and $res->[0] != 200) { }
10 1 elsif ($res->[0] == 200) { }
1017 2 9 if (exists $rargs->{$name})
1019 2 0 if $strict
1024 1 2 if ($arg_spec->{'slurpy'} // $arg_spec->{'greedy'} and ref $val eq "ARRAY" and not $is_array_of_simple and not $is_hash_of_simple)
1031 1 0 if ($per_arg_json)
1033 0 1 if ($success) { }
1040 1 0 if ($per_arg_yaml)
1042 1 0 if ($success) { }
1053 1 5 unless ($arg_spec->{'slurpy'} // $arg_spec->{'greedy'} or $is_simple)
1057 1 0 if ($per_arg_json)
1059 0 1 if ($success) { }
1066 1 0 if ($per_arg_yaml)
1068 1 0 if ($success) { }
1079 2 7 if ($arg_spec->{'cmdline_on_getopt'})
1080 2 0 if ($arg_spec->{'slurpy'} // $arg_spec->{'greedy'}) { }
1101 0 55 unless ($args_prop->{$a}{'pos'} // 9999) <=> ($args_prop->{$b}{'pos'} // 9999)
1104 70 79 unless (exists $rargs->{$arg})
1105 65 5 unless $arg_spec->{'req'}
1107 2 3 if ($on_missing)
1108 1 1 if &$on_missing("arg", $arg, "args", $rargs, "spec", $arg_spec)
1110 1 3 if exists $rargs->{$arg}
1117 1 59 unless $strict
1121 68 79 unless exists $rargs->{$arg}
1122 77 2 unless $arg_spec->{'deps'}
1124 0 2 unless $dep_arg
1127 1 1 unless exists $rargs->{$dep_arg}