Branch Coverage

blib/lib/MooX/Options/Role.pm
Criterion Covered Total %
branch 138 156 87.8


line true false branch
30 1 365 if $cmdline_name =~ /[^\w]$/
33 12 353 if $data{'repeatable'} and not defined $data{'format'}
34 0 365 if $data{'negativable'}
35 24 341 if $data{'negatable'}
36 198 167 if defined $data{'format'}
52 0 18 unless $options_data->{$a}{'order'} <=> $options_data->{$b}{'order'}
58 310 56 unless defined $doc
60 2 364 if $data{'hidden'}
62 3 363 if $data{'spacer_before'}
64 3 362 if $data{'spacer_after'}
67 63 302 if ($data{'short'})
73 1 71 if exists $options_data->{$shrt}
76 0 71 if defined $all_options{$shrt}
81 154 210 if (defined $data{'autosplit'})
82 65 89 unless ($data_record_loaded)
110 114 1382 unless $all_options{$name}[0] eq $name
112 360 1022 if defined $all_options{$long_short}
126 1 178 if ($arg eq '--')
130 10 168 if (index($arg, '-') != 0)
136 9 159 if (index($arg_name_with_dash, '--') < 0 and not defined $arg_values)
138 1 8 length $arg_name_with_dash > 2 ? :
144 102 66 if defined $arg_values
151 150 18 if (defined $original_long_option)
154 0 150 unless @$original_long_option == 1
162 2 166 if (defined $negative and defined $original_long_option)
165 0 2 $option_data->{$original_long_option}{'negatable'} ? :
171 144 24 if (defined $original_long_option and defined(my $arg_value = shift @ARGV)) { }
179 85 100 if ($autorange) { }
189 103 41 if (my $rec = $has_to_split->{$original_long_option}) { }
212 32 53 if ($autorange_found)
213 4 28 unless length $left_figure
214 9 23 unless length $right_figure
215 30 2 if (length $left_figure and length $right_figure)
219 30 55 @expanded_arg_value ? :
246 0 129 if (ref(my $command_chain = $params{'command_chain'}) eq 'ARRAY')
251 0 0 unless &blessed($cmd) and $cmd->can('command_name')
252 0 0 if (defined(my $cmd_name = $cmd->command_name))
262 0 129 if (ref(my $command_commands = $params{'command_commands'}) eq 'HASH')
279 1 114 if ($cmdline_params{'h'})
282 5 109 if ($cmdline_params{'help'})
285 1 108 if ($cmdline_params{'man'})
288 1 107 if ($cmdline_params{'usage'})
295 103 4 if eval { do { $self = $class->new(%cmdline_params); 1 } }
296 0 4 if ($@ =~ /^Attribute\s\((.*?)\)\sis\srequired/x) { }
2 2 elsif ($@ =~ /^Missing\srequired\sarguments:\s(.*)\sat\s/x) { }
0 2 elsif ($@ =~ /^(.*?)\srequired/x) { }
2 0 elsif ($@ =~ /^isa\scheck.*?failed:\s/x) { }
333 153 3 if (defined $options_config{'skip_options'})
340 145 9 if $options_config{'protect_argv'}
344 151 3 if (defined $options_config{'flavour'})
352 153 1 unless defined $usage_str
371 10 144 if ($usage->{'should_die'})
378 340 3 if (not defined $cmdline_params{$name} or $options_config{'prefer_commandline'})
382 95 245 if (defined $val)
383 5 90 if ($data{'json'}) { }
385 1 4 unless defined $decode_json
390 0 5 unless defined $decode_json
395 0 5 if $@
396 2 3 unless (eval { do { $cmdline_params{$name} = &$decode_json($val); 1 } })
413 5 137 if ($opt->h or defined $params{'h'})
417 26 116 if ($opt->help or defined $params{'help'})
421 3 139 if ($opt->man or defined $params{'man'})
425 1 141 if ($opt->usage or defined $params{'usage'})
443 17 15 if (@messages and ref $messages[-1] eq 'MooX::Options::Descriptive::Usage')
448 13 19 unless defined $code
449 15 17 unless ($usage)
455 1 31 if @messages
457 18 14 if ($code > 0) { }
463 31 1 if $code >= 0
475 9 1 unless defined $code
477 5 5 unless (defined $usage and ref $usage)
483 0 10 if ($code > 0) { }
489 9 1 if $code >= 0
501 1 1 unless defined $code
503 1 1 unless (defined $usage and ref $usage)
509 1 1 if ($code > 0) { }
515 2 0 if $code >= 0
528 2 1 unless ($usage)