Branch Coverage

blib/lib/MooX/Options/Role.pm
Criterion Covered Total %
branch 137 154 88.3


line true false branch
30 1 356 if $cmdline_name =~ /[^\w]$/
33 12 344 if $data{'repeatable'} and not defined $data{'format'}
34 0 356 if $data{'negativable'}
35 24 332 if $data{'negatable'}
36 187 169 if defined $data{'format'}
52 0 14 unless $options_data->{$a}{'order'} <=> $options_data->{$b}{'order'}
58 301 56 unless defined $doc
60 2 355 if $data{'hidden'}
62 3 354 if $data{'spacer_before'}
64 3 353 if $data{'spacer_after'}
69 1 355 if $data{'short'} and exists $$options_data{$data{'short'}}
72 1 354 if $data{'short'} and defined $all_options{$data{'short'}}
74 51 303 if $data{'short'}
80 1753 1352 unless exists $options_data->{$long_short} or defined $all_options{$long_short}
83 153 201 if (defined $data{'autosplit'})
84 64 89 unless ($data_record_loaded)
108 1 160 if ($arg eq '--')
112 3 157 if (index($arg, '-') != 0)
118 7 150 if (index($arg_name_with_dash, '--') < 0 and not defined $arg_values)
120 1 6 length $arg_name_with_dash > 2 ? :
126 102 55 if defined $arg_values
133 146 11 if (defined $original_long_option)
136 0 146 unless @$original_long_option == 1
144 2 155 if (defined $negative and defined $original_long_option)
147 0 2 $option_data->{$original_long_option}{'negatable'} ? :
153 140 17 if (defined $original_long_option and defined(my $arg_value = shift @ARGV)) { }
161 90 99 if ($autorange) { }
171 106 34 if (my $rec = $has_to_split->{$original_long_option}) { }
194 31 59 if ($autorange_found)
195 4 27 unless length $left_figure
196 9 22 unless length $right_figure
197 29 2 if (length $left_figure and length $right_figure)
201 29 61 @expanded_arg_value ? :
228 0 126 if (ref(my $command_chain = $params{'command_chain'}) eq 'ARRAY')
233 0 0 unless &blessed($cmd) and $cmd->can('command_name')
234 0 0 if (defined(my $cmd_name = $cmd->command_name))
244 0 126 if (ref(my $command_commands = $params{'command_commands'}) eq 'HASH')
261 1 111 if ($cmdline_params{'h'})
264 5 106 if ($cmdline_params{'help'})
267 1 105 if ($cmdline_params{'man'})
270 1 104 if ($cmdline_params{'usage'})
277 100 4 if eval { do { $self = $class->new(%cmdline_params); 1 } }
278 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) { }
315 150 3 if (defined $options_config{'skip_options'})
322 141 9 if $options_config{'protect_argv'}
326 147 3 if (defined $options_config{'flavour'})
334 149 1 unless defined $usage_str
353 9 141 if ($usage->{'should_die'})
360 332 3 if (not defined $cmdline_params{$name} or $options_config{'prefer_commandline'})
364 87 245 if (defined $val)
365 4 83 if ($data{'json'}) { }
367 1 3 unless defined $decode_json
372 0 4 unless defined $decode_json
377 0 4 if $@
378 2 2 unless (eval { do { $cmdline_params{$name} = &$decode_json($val); 1 } })
395 5 134 if ($opt->h or defined $params{'h'})
399 26 113 if ($opt->help or defined $params{'help'})
403 3 136 if ($opt->man or defined $params{'man'})
407 1 138 if ($opt->usage or defined $params{'usage'})
425 16 15 if (@messages and ref $messages[-1] eq 'MooX::Options::Descriptive::Usage')
430 13 18 unless defined $code
431 15 16 unless ($usage)
437 1 30 if @messages
439 17 14 if ($code > 0) { }
445 30 1 if $code >= 0
457 9 1 unless defined $code
459 5 5 unless (defined $usage and ref $usage)
465 0 10 if ($code > 0) { }
471 9 1 if $code >= 0
483 1 1 unless defined $code
485 1 1 unless (defined $usage and ref $usage)
491 1 1 if ($code > 0) { }
497 2 0 if $code >= 0
510 2 1 unless ($usage)