Branch Coverage

lib/Command/V1.pm
Criterion Covered Total %
branch 122 318 38.3


line true false branch
50 78 0 if ($subclass_name->can('execute')) { }
61 78 0 if ($subclass_name->can('shortcut'))
80 0 0 if (@_)
95 0 0 if ($ENV{'COMP_CWORD'})
108 0 0 unless 'UR::Context'->commit
110 0 0 if ($@)
112 0 0 unless 'UR::Context'->rollback
113 0 0 unless $exit_code
125 0 2 $_ =~ /^(--\w+?)\=(.*)/ ? :
128 0 2 if ($error_tag_list and @$error_tag_list) { }
146 0 4 unless ($delegate_class)
157 0 4 if ($delegate_class->is_sub_command_delegator and not defined $params)
163 2 2 if ($params->{'help'})
168 0 2 if defined $original_cmdline
171 0 2 unless ($command_object)
182 1 1 if ($command_object->debug)
188 0 2 if ($command_object->__errors__)
216 0 0 if (my $doc = $self->__meta__->doc) { }
222 0 0 if (my $doc = $parent->doc)
226 0 0 if ($self->is_sub_command_delegator) { }
269 0 6 if ($self->can('_execute_body') eq 'Command::V1'->can('_execute_body')) { }
0 6 elsif ($self->is_abstract) { }
282 20 90 if (scalar $self->sub_command_dirs) { }
304 0 0 $i < @COLOR_TEMPLATES ? :
331 0 8 if (defined $Command::entry_point_class and $class =~ /^($Command::entry_point_class)(::.+|)$/)
334 0 0 if ($class =~ s/^:://)
363 9 31 if ($class->is_sub_command_delegator) { }
365 0 9 if ($@)
371 43 0 if defined $sub_class
376 43 0 if ($sub_tree) { }
391 31 0 unless (grep {/^help\W/;} @completion_spec)
404 3 25 if ($self->is_sub_command_delegator)
405 3 0 if ($argv[0] and not $argv[0] =~ /^\-/ and my $class_for_sub_command = $self->class_for_sub_command($argv[0]))
412 0 0 if (@argv) { }
427 25 0 unless (grep {/^help\W/;} @spec)
448 0 25 unless (&GetOptions($params_hash, @spec))
457 3 22 if (my(@names) = $self->_bare_shell_argument_names) { }
0 22 elsif (@ARGV) { }
460 0 0 unless ($name)
466 0 0 if ($meta->is_many) { }
467 0 0 if ($n == $#names) { }
489 0 35 if (ref $value) { }
4 31 elsif ($value eq q[''] or $value eq '""') { }
505 7 28 unless $new_key =~ tr/\-/_/
506 0 0 if (exists $params_hash->{$new_key} and exists $params_hash->{$key})
531 0 3 if (not $self->is_executable) { }
533 0 0 if ($self->is_sub_command_delegator) { }
544 0 0 if (grep {-d $_;} @sub_command_dirs) { }
557 0 3 if $self->is_sub_command_delegator
558 0 3 $synopsis ? :
3 0 $required_args ? :
3 0 $optional_args ? :
0 3 $sub_commands ? :
602 0 0 if $self->is_sub_command_delegator
605 0 0 $help_brief ? :
611 0 0 $version ? :
620 0 0 if ($sub_commands) { }
628 0 0 if ($synopsis)
637 0 0 if ($required_args)
646 0 0 if ($optional_args)
692 0 0 if $self->is_sub_command_delegator
696 0 0 $help_brief ? :
704 0 0 if ($version)
713 0 0 if ($sub_commands) { }
714 0 0 $sub_commands ? :
739 0 0 $synopsis ? :
0 0 $required_args ? :
0 0 $optional_args ? :
768 0 11 if ($property_meta->{'shell_args_position'})
776 4 7 unless ($doc)
781 1 15 if ($ancestor_property_meta and $doc = $ancestor_property_meta->doc)
788 3 8 unless ($doc)
789 3 0 if (not $valid_values) { }
796 0 11 if ($valid_values)
800 0 0 if $max_name_length < length($v) + 2
804 3 8 if ($example_values and @$example_values)
807 0 7 ref $_ ? :
811 8 3 if $max_name_length < length $param_name
814 11 0 if (defined $param_type and not $param_type =~ /::/)
819 0 11 if (defined($default_value = $property_meta->default_value) or defined(my $calculated_default = $property_meta->calculated_default))
822 0 0 unless (defined $default_value)
826 0 0 if ($param_type eq 'Boolean') { }
0 0 elsif ($property_meta->is_many and ref $default_value eq 'ARRAY') { }
827 0 0 $default_value ? :
829 0 0 if (@$default_value) { }
841 3 8 if ($param_type eq 'Boolean')
847 0 14 if (defined $format and $format eq 'pod') { }
0 14 elsif (defined $format and $format eq 'html') { }
848 0 0 $row->[1] ? :
0 0 $row->[3] ? :
851 0 0 $row->[1] ? :
0 0 $row->[3] ? :
875 0 0 unless $Command::V1::a->[0] <=> $Command::V1::b->[0]
896 0 0 if $max_length < length $_
906 0 0 if $end > $#sub_command_names
930 0 0 unless defined $category
931 0 0 if $sub_command_class->_is_hidden_in_docs
933 0 0 unless ($sub_commands_within_category)
934 0 0 if (defined $category and length $category) { }
972 0 0 if ($category)
974 0 0 if @full_data
976 0 0 if ($category =~ /\D/) { }
978 0 0 if $category =~ /\S/
998 0 0 if $max_width_found[$c] < length $_->[$c]
1035 114 1150 if $seen{$property_name}++
1036 23 1127 unless $rule->evaluate($property_meta)
1038 98 1029 if $property_name eq 'id'
1039 98 931 if $property_name eq 'result'
1040 98 833 if $property_name eq 'is_executed'
1041 98 735 if $property_name eq 'original_command_line'
1042 2 733 if $property_name =~ /^_/
1043 0 733 if defined $property_meta->data_type and $property_meta->data_type =~ /::/
1044 0 733 unless $property_meta->is_mutable
1045 0 733 if $property_meta->is_delegated
1046 172 561 if $property_meta->is_calculated
1048 0 561 if $property_meta->is_transient
1049 0 561 if $property_meta->is_constant
1050 42 519 if ($property_meta->{'shell_args_position'}) { }
382 137 elsif ($property_meta->is_optional) { }
1077 0 360 $singularize ? :
1086 20 318 $property_meta->is_many ? :
1087 119 219 if (defined $property_meta->data_type and $property_meta->data_type =~ /Boolean/) { }
1101 0 11 if ($property_meta->{'shell_args_position'})
1105 0 11 if ($property_meta->{'shell_args_position'}) { }
1106 0 0 if ($property_meta->is_optional)
1112 3 8 if (defined $property_meta->data_type and $property_meta->data_type =~ /Boolean/) { }
1116 0 8 if ($property_meta->is_many) { }
1122 1 7 if ($property_meta->is_optional)
1134 0 149 $property_meta->is_many ? :
1144 0 189 if ($completions) { }
1145 0 0 if (ref $completions eq 'ARRAY')
1158 21 168 if (not defined $type) { }
1163 71 1255 if (not $type or $type eq $pattern)
1169 0 672 if ($type and $type eq $pattern)
1208 3 0 if ($self->is_executable) { }
0 0 elsif ($self->is_sub_command_delegator) { }
1229 0 0 if ($self->is_sub_command_delegator) { }
1234 0 0 if (length $detailed <= 20) { }
1262 29 90 unless ($path)
1266 61 29 unless (-d $path)
1275 0 9 unless @paths
1280 9 0 if defined $_
1282 0 9 unless @paths
1285 37 9 unless $_->is_sub_command_delegator
1287 46 0 if $_
1307 0 92 if $sub_command =~ /^\-/
1313 92 0 do { my $isa = $sub_class->isa('Command') } ? :
92 0 $meta ? :
1315 0 0 if ($@)
1316 0 0 if ($@ =~ /^Can't locate .*\.pm in \@INC/) { }
1330 0 92 if (ref $isa)
1332 0 0 if ($sub_class->SUPER::isa('Command')) { }
1350 0 0 unless open my $oldout, '>&STDOUT'
1351 0 0 unless open my $olderr, '>&', \*STDERR
1358 0 0 unless open STDOUT, '>&', $oldout
1359 0 0 unless open STDERR, '>&', $olderr
1366 0 0 if ref $class
1368 0 0 if @components == 1
1370 0 0 if $parent->can('command_name')