Branch Coverage

blib/lib/App/Spec/Role/Command.pm
Criterion Covered Total %
branch 38 50 76.0


line true false branch
31 33 3 $self->subcommands ? :
39 3 671 unless ref $_
41 0 499 unless $spec{'options'}
42 0 499 unless $spec{'parameters'}
45 340 159 unless $spec{'subcommands'}
54 330 169 if (defined(my $op = $spec{'op'}))
55 0 330 unless $op =~ /^\w+\z/
57 109 390 if (defined(my $class = $spec{'class'}))
58 0 109 unless $class =~ /^ \w+ (?: ::\w+)* \z/x
66 0 109 unless (defined $file)
77 5 27 if ($plugin =~ /^-(.*)/)
86 98 0 unless ($plugin =~ s/^=//)
103 0 109 if (ref $file eq 'GLOB') { }
36 73 elsif (not ref $file) { }
33 40 elsif (ref $file eq 'SCALAR') { }
40 0 elsif (ref $file eq 'HASH') { }
118 0 109 unless ($spec)
127 38 71 if (@$plugins)
138 38 71 if (@$plugins)
142 71 27 if ($plugin->does("App::Spec::Role::Plugin::Subcommand"))
145 71 0 unless is_arrayref($subc)
147 61 10 if ($subcommands)
154 65 33 if ($plugin->does("App::Spec::Role::Plugin::GlobalOptions"))
157 65 0 if ($new_opts)
162 65 0 unless (&any(sub { $_->name eq $opt->name; } , @$options))