Branch Coverage

blib/lib/MooseX/App/Meta/Role/Class/Base.pm
Criterion Covered Total %
branch 132 152 86.8


line true false branch
114 3 18 if $commands->{$command} =~ /^\Q$exclude\E(::|$)/
154 42 0 if defined $command
167 0 68 unless ($metaclass->does_role('MooseX::App::Role::Common'))
183 0 2 if defined $raw_error{$raw}
186 0 2 if (length $key == 1 and $raw =~ /^-(\w+)$/)
192 0 0 if ($name eq $1)
203 0 2 if (defined $message) { }
224 14 22 unless defined $element
232 33 34 if ($self->app_strict or $metaclass->command_strict)
246 346 27 unless $attribute->can('has_cmd_env') and $attribute->has_cmd_env
251 3 24 if (exists $ENV{$cmd_env} and not defined $$return{$attribute->name})
256 3 0 if ($attribute->has_type_constraint)
258 1 2 if ($attribute->should_coerce and $type_constraint->has_coercion)
267 1 2 if ($error)
290 0 94 unless $attribute->does('MooseX::App::Meta::Role::Attribute::Option') and $attribute->has_cmd_type
305 1 565 if (defined $option_to_attribute{$name} and $option_to_attribute{$name} != $attribute)
322 87 112 if (my $attribute = $option_to_attribute{$option->key})
329 137 4 if ($self->app_fuzzy)
336 4 103 if $option_length == 1
343 345 111 if $option_length >= length $name
348 16 95 if (lc $option->key eq $name_short)
350 16 0 unless (grep {$attribute == $_;} @{$match_attributes;})
391 236 93 unless exists $$match{$attribute->name}
417 0 115 unless ref $raw eq 'ARRAY'
424 1 114 if ($attribute->has_cmd_split)
433 1 114 if ($attribute->cmd_count)
438 113 2 if ($attribute->has_type_constraint) { }
441 5 108 if ($type_constraint->is_a_type_of('ArrayRef')) { }
4 104 elsif ($type_constraint->is_a_type_of('HashRef')) { }
26 78 elsif ($type_constraint->is_a_type_of('Bool')) { }
446 5 1 if ($element =~ /^([^=]+)=(.+?)$/) { }
469 111 2 if (defined $value) { }
477 5 106 if ($attribute->should_coerce and $type_constraint->has_coercion)
483 6 105 if (defined $error)
512 1 317 if ($command_name eq $lc_command) { }
32 285 elsif ($lc_command eq substr($command_name, 0, $candidate_length)) { }
530 1 63 if (defined $commands) { }
531 0 1 if (ref $commands eq 'ARRAY') { }
544 56 87 if $part =~ /^-/
550 0 64 unless scalar @command_parts
555 36 49 if ($all_commands->{$command})
565 0 42 if (ref $candidate eq '')
574 26 1 if ($self->app_fuzzy) { }
615 329 18 if ($type_constraint)
616 28 301 if $type_constraint->is_a_type_of('ArrayRef') or $type_constraint->is_a_type_of('HashRef')
620 144 185 if $type_constraint->is_a_type_of('Bool')
636 144 203 if ($bool) { }
6 197 elsif ($attribute->cmd_count) { }
638 11 133 if ($attribute->has_cmd_negate)
650 72 2 if ($self->app_fuzzy)
656 2732 2244 if length $name < $l
659 417 1827 if defined $hints{$short_name}
663 0 1827 if defined $tmp{$short_name}[0] and $tmp{$short_name}[0]{'name'} eq $names{$name}{'name'}
668 237 1338 if scalar @{$tmp{$short_name};} > 1
675 1096 824 if ($hints{$name}{'novalue'})
678 97 1823 if ($hints{$name}{'permute'})
681 1096 824 if (defined $hints{$name}{'fixedvalue'})
705 7 46 if ($attribute->is_required and not exists $$params{$attribute->name} and not $attribute->has_default)
708 1 6 $attribute->cmd_type eq 'parameter' ? :
726 0 615 unless ($metaclass->does_role('MooseX::App::Role::Common'))
733 1400 3141 unless $attribute->does('MooseX::App::Meta::Role::Attribute::Option') and $attribute->has_cmd_type
737 1192 1949 unless $types eq 'all' or $attribute->cmd_type ~~ $types
744 0 2755 unless $a->cmd_position <=> $b->cmd_position
764 0 35 unless scalar @options > 0
790 28 7 unless scalar @parameters > 0
804 23 6 if ($command_meta_class) { }
811 1 28 if ($command_meta_class->can('command_usage') and $command_meta_class->command_usage_predicate)
816 28 1 unless (defined $usage)
821 2 19 if ($attribute->is_required) { }
843 13 23 if ($command_meta_class->can('command_long_description') and $command_meta_class->command_long_description_predicate) { }
1 22 elsif ($command_meta_class->can('command_short_description') and $command_meta_class->command_short_description_predicate) { }
864 55 165 if ($command_class eq $commands->{$element})
883 143 2 if $command eq $command_name or not $command =~ /^\Q$command_name\E\s(.+)/
913 3 3 if $description
935 0 25 unless ($class->can('meta') and $class->DOES('MooseX::App::Role::Common'))
941 25 0 if $class->meta->can('command_short_description')