Branch Coverage

blib/lib/Catalyst.pm
Criterion Covered Total %
branch 169 294 57.5


line true false branch
37 0 8484 unless shift(@_)->stack
71 47 58 unless $class eq 'Catalyst'
75 58 0 unless ($caller->isa('Catalyst'))
344 0 280 if (@_)
345 0 0 @_ > 1 ? :
346 0 0 unless ref $stash
374 14 3595 if ($_[0]) { }
0 3595 elsif (defined $_[0]) { }
375 0 14 ref $_[0] eq 'ARRAY' ? :
376 0 14 unless ref $c
411 5 146 if $component =~ /$name/i
423 17113 73 if exists $c->components->{$try}
439 71 0 if defined $comp
457 9 39 if ($comp =~ s/^$p//)
475 0 2 unless $rest
481 2 17114 if (eval {
502 24 0 if $name
526 25 6 if $name
529 4 2 if (ref $c)
530 2 2 if $c->stash->{'current_model_instance'}
532 1 1 if $c->stash->{'current_model'}
535 2 1 if $c->config->{'default_model'}
571 22 6 if $name
574 4 2 if (ref $c)
575 2 2 if $c->stash->{'current_view_instance'}
577 1 1 if $c->stash->{'current_view'}
580 2 1 if $c->config->{'default_view'}
622 17046 4 if (@_)
635 17042 4 if defined $comp
638 1 3 if defined $comp
667 0 347 if @_ and $c->setup_finished
729 0 2 if (-d $path) { }
753 0 1 if ($@)
759 0 1 if $class->debug
778 0 51 if $class->setup_finished
781 0 51 unless ($class->isa('Catalyst'))
787 51 0 if ($class->arguments)
796 0 189 if (/^-Debug$/) { }
0 189 elsif (/^-(\w+)=?(.*)$/) { }
797 0 0 $$flags{'log'} ? :
817 0 0 if (my $code = $class->can('setup_' . $flag)) { }
826 0 51 if (not $@ and $ENV{'CATALYST_SCRIPT_GEN'} and $ENV{'CATALYST_SCRIPT_GEN'} < $Catalyst::Devel::CATALYST_SCRIPT_GEN)
839 0 51 if ($class->debug)
842 0 0 if (@plugins)
855 0 0 -d $home ? :
0 0 $home ? :
874 0 51 if ($class->debug)
877 0 0 ref $class->components->{$comp} ? :
881 0 0 if keys %{$class->components;}
889 0 50 if ($class->debug)
893 50 0 if $class->log->can('_flush')
923 18 12 if (&Scalar::Util::blessed($path))
924 14 4 scalar @args && ref $args[0] eq 'ARRAY' ? :
928 3 15 unless defined $path
929 0 15 if $path eq ''
933 25 2 if $namespace
934 25 2 if $namespace
936 20 7 if $path =~ m[^/]
940 9 18 scalar @args && ref $args[$#args] eq 'HASH' ? :
944 1 8 unless defined $value
945 0 8 ref $value eq 'ARRAY' ? :
952 14 13 scalar @args ? :
953 3 24 unless $path
1173 1 8459 if ($c->depth >= $RECURSION)
1175 1 0 unless $action =~ /->/
1183 0 8459 if $c->debug
1189 0 8456 if $c->debug and $stats_info
1193 26 8430 if (my $error = $@)
1194 12 12 if $c->depth > 1
24 2 if (not ref $error and $error eq $DETACH) { }
1196 2 0 unless (ref $error)
1213 0 0 if $code->name =~ /^_.*/ and not $c->config->{'show_internal_actions'}
1219 0 0 unless $action =~ /->/
1227 0 0 if (caller $index)[0] eq 'Catalyst' and (caller $index)[3] eq '(eval)'
1230 0 0 if ((caller $index)[3] =~ /forward$/)
1247 0 0 if ($callsub =~ /forward$/) { }
1250 0 0 if (my $parent = $c->stack->[-1]) { }
1255 0 0 if (my $result = $visitor->getResult)
1315 0 816 if ($c->engine->can('finalize')) { }
1323 14 802 if ($#{$c->error;} >= 0)
1330 1 815 if ($c->request->method eq 'HEAD')
1337 0 816 if ($c->debug)
1339 0 0 $elapsed == 0 ? :
1392 30 816 if $c->response->{'_finalized_headers'}
1395 5 811 if (my $location = $c->response->redirect)
1396 0 5 if $c->debug
1399 5 0 if (not $c->response->body)
1408 797 19 if ($c->response->body and not $c->response->content_length)
1411 2 795 if (blessed($c->response->body) and $c->response->body->can('read')) { }
1413 2 0 if (my $stat = stat($c->response->body)) { }
1426 0 816 if ($c->response->status =~ /^(1\d\d|[23]04)$/)
1488 0 818 if ($class->debug)
1500 1 816 if (my $error = $@)
1506 817 0 if $class->log->can('_flush')
1520 39 779 unless $class->context_class
1551 0 818 if ($c->debug)
1563 0 818 if ($c->engine->can('prepare')) { }
1575 818 0 unless $c->config->{'parse_on_demand'}
1582 0 817 if $c->debug
1608 1810 818 if defined $c->request->{'_body'}
1615 0 817 if ($c->debug and keys %{$c->req->body_parameters;})
1619 0 0 defined $param ? :
1620 0 0 ref $value eq 'ARRAY' ? :
1709 0 818 if ($c->debug and keys %{$c->request->query_parameters;})
1713 0 0 defined $param ? :
1714 0 0 ref $value eq 'ARRAY' ? :
1748 0 817 if ($c->debug and keys %{$c->request->uploads;})
1757 0 0 ref $upload eq 'ARRAY' ? :
1866 90 2660 unless ($component->can('COMPONENT'))
1875 0 2660 if (my $error = $@)
1885 0 2660 unless eval {
1899 0 51 if ($dispatcher)
1903 0 51 if ($ENV{'CATALYST_DISPATCHER'})
1907 0 51 if ($ENV{uc($class) . '_DISPATCHER'})
1912 51 0 unless ($dispatcher)
1916 47 4 unless ('Class::Inspector'->loaded($dispatcher))
1933 0 51 if ($engine)
1937 0 51 if ($ENV{'CATALYST_ENGINE'})
1941 0 51 if ($ENV{uc($class) . '_ENGINE'})
1945 0 51 if ($ENV{'MOD_PERL'})
1959 0 0 if ($software eq 'mod_perl') { }
0 0 elsif ($software eq 'Zeus-Perl') { }
1961 0 0 if (not $engine)
1963 0 0 if ($version >= 1.99922) { }
0 0 elsif ($version >= 1.9901) { }
0 0 elsif ($version >= 1.24) { }
1983 0 0 if ($version >= 1.9901) { }
2004 51 0 unless ($engine)
2008 47 4 unless ('Class::Inspector'->loaded($engine))
2014 0 51 if ($engine->isa('Catalyst::Engine::Apache') and not 'Catalyst::Engine::Apache'->VERSION) { }
0 51 elsif ($engine->isa('Catalyst::Engine::Server::Base') and 'Catalyst::Engine::Server'->VERSION le '0.02') { }
0 51 elsif ($engine->isa('Catalyst::Engine::HTTP::POE') and $engine->VERSION eq '0.01') { }
0 51 elsif ($engine->isa('Catalyst::Engine::Zeus') and $engine->VERSION eq '0.01') { }
2038 0 51 if ($old_engine)
2057 0 109 if ($ENV{'CATALYST_HOME'})
2061 0 109 if ($ENV{uc($class) . '_HOME'})
2066 109 0 unless ($home)
2070 94 15 if ($home)
2085 51 0 unless ($class->log)
2091 0 51 defined $ENV{'CATALYST_DEBUG'} || defined $ENV{$app_flag} ? :
0 51 if (defined $ENV{'CATALYST_DEBUG'} || defined $ENV{$app_flag} ? $ENV{'CATALYST_DEBUG'} || $ENV{$app_flag} : $debug)
2128 819 7 unless @_
2130 3 4 if exists $proto->_plugins->{$plugin}
2138 183 7 unless ('Class::Inspector'->loaded($plugin))
2143 189 1 unless ($instant)
2153 51 0 unless $class->_plugins
2157 143 46 unless ($plugin =~ s/\A\+//)