Condition Coverage

blib/lib/Catalyst.pm
Criterion Covered Total %
condition 170 230 73.9


and 2 conditions

line l !l condition
102 154 7 $class->debug and scalar @normalized_traits
141 154 7 $class->debug and scalar @normalized_traits
200 154 7 $class->debug and scalar @normalized_traits

and 3 conditions

line !l l&&!r l&&r condition
810 16542 0 0 scalar @args and $c->debug
1211 162 9 1 &blessed($c) and $c->res->finalized_headers
1232 0 4657 85 ref $c && exists $c->{'encoding'}
1400 162 0 0 not $@ and $ENV{'CATALYST_SCRIPT_GEN'}
0 0 0 not $@ and $ENV{'CATALYST_SCRIPT_GEN'} and $ENV{'CATALYST_SCRIPT_GEN'} < $Catalyst::Devel::CATALYST_SCRIPT_GEN
1613 36 84 2 scalar @args && ref $args[-1] eq 'SCALAR'
1616 1 41 5 defined $path and $path =~ s/#(.+)$//
1617 0 5 0 defined $1 and defined $fragment
1626 37 47 38 scalar @args && ref $args[$#args] eq 'HASH'
1629 1 120 1 defined $path and $path eq ""
1638 14 6 53 scalar @args && ref $args[0] eq 'ARRAY'
1646 31 15 27 not @args and $action->number_of_args
46 5 22 not @args and $action->number_of_args and @$captures > $num_captures
1678 2 16 95 defined $path and $path =~ s[^/][]
2062 8997 82 29 $c->use_stats and $stats_info
2077 13 74 27 &blessed($error) and $error->isa("Catalyst::Exception::Detach")
13 8 66 &blessed($error) and $error->isa("Catalyst::Exception::Go")
2102 24 5 82 $code->name =~ /^_.*/ and not $appclass->config->{'show_internal_actions'}
2116 63 24 24 (caller $index)[0] eq "Catalyst" and (caller $index)[3] eq "(eval)"
2133 1 0 4 defined $parent and exists $c->counter->{"$parent"}
2324 827 35 56 $res->content_type_charset and $c->encoding
862 54 2 $res->content_type_charset and $c->encoding and uc $c->encoding->mime_name ne uc $res->content_type_charset
2334 696 13 209 $res->encodable_response and defined $res->body
709 6 203 $res->encodable_response and defined $res->body and ref \$res->body eq "SCALAR"
2349 0 159 1 $c->res->_context and $c->res->finalized_headers
159 0 1 $c->res->_context and $c->res->finalized_headers and not $c->res->_has_response_cb
2974 2 0 1 $meta->is_immutable and not {$meta->immutable_options}->{'replace_constructor'}
2 0 1 $meta->is_immutable and not {$meta->immutable_options}->{'replace_constructor'} and $isa_ca
3490 1 0 906 $env->{'REMOTE_ADDR'} && $env->{'REMOTE_ADDR'} eq '127.0.0.1'
3502 906 1 1 $env->{'SERVER_SOFTWARE'} and $env->{'SERVER_SOFTWARE'} =~ m[lighttpd[-/]1\.(\d+\.\d+)]
3519 906 2 0 $env->{'SERVER_SOFTWARE'} && $env->{'SERVER_SOFTWARE'} =~ m[IIS/7\.[0-9]]
3590 80 81 1 exists $c->config->{'encoding'} and not defined $c->config->{'encoding'}
3799 2 562 0 not $plugin_meta->has_method("new") and $plugin->isa('Class::Accessor::Fast') || $plugin->isa('Class::Accessor')
3845 399 164 79 $meta and $meta->isa("Moose::Meta::Role")
3994 6 0 2 &Scalar::Util::blessed($next) and $next->can("wrap")
4094 10 43 114 not $self->config->{'always_catch_http_exceptions'} and &blessed($error)
53 100 14 not $self->config->{'always_catch_http_exceptions'} and &blessed($error) and $error->can('as_psgi') || $error->can('code') && $error->code =~ /^[1-5][0-9][0-9]$/

or 2 conditions

line l !l condition
635 1362 9658 $c->{'error'} || []
1434 0 0 $_->VERSION || ''
1444 49 0 ref($_) . ' ' . ($_->can('VERSION') ? $_->VERSION || '' : '') || ''
1496 1 6 $class->config->{'name'} || 'Application'
1515 161 0 $class || 1
1683 12 6 $namespace || ''
2060 7138 1847 $code->execute($class, $c, @{$c->req->args;}) || 0
2319 918 0 $c->res || (return)
2405 12 4 time - $START || 1
2667 16 0 $method ||= ""
2669 16 0 $address ||= ""
2725 13 0 $response->status || 'unknown'
7 6 $response->headers->header('Content-Type') || 'unknown'
0 13 $response->headers->header('Content-Length') || 'unknown'
3059 6699 0 ref $class->components->{$component_name} || ''
3177 1 161 $config->{'search_extra'} || []
3287 89 6862 $class->config->{$component_suffix} || {}
3720 20 154 $levels ||= ""
3831 162 0 $plugins || []

or 3 conditions

line l !l&&r !l&&!r condition
724 8 59 0 ref $c || $c
787 0 3 0 ref $c || $c
837 36 35 0 ref $c || $c
881 7 44 0 ref $c || $c
945 7 24 0 ref $c || $c
1055 20 10 0 ref $c || $c
2040 9112 0 0 $c->component($class) || $class
2100 111 0 0 ref $c || $c
2349 43 1 159 $c->res->content_type_charset or $c->res->_context and $c->res->finalized_headers and not $c->res->_has_response_cb
2449 0 127 0 ref $class || $class
2457 16 0 907 $c->debug or $c->config->{'enable_catalyst_header'}
2973 2 0 1 $class->isa('Class::Accessor::Fast') || $class->isa('Class::Accessor')
3235 6951 0 0 eval {
3328 0 0 0 not $class->engine_loader or $requested_engine
3347 162 0 0 not $loader or $requested_engine
3573 2 217 100 $home ||= Catalyst::Utils::home($class)
3577 107 112 0 $class->config->{'home'} ||= $home
3578 107 112 0 $class->config->{'root'} ||= "Path::Class::Dir"->new($home)->subdir("root")
3688 279 934 0 $check ||= $self->_encode_check
3759 2 8 155 $stats || $class->debug
3793 0 564 0 ref $proto || $proto
3799 1 0 561 $plugin->isa('Class::Accessor::Fast') || $plugin->isa('Class::Accessor')
3803 1 0 563 $instant or $proto->_plugins->{$plugin}
4083 3 2 0 eval {
4094 10 4 100 $error->can('as_psgi') || $error->can('code') && $error->code =~ /^[1-5][0-9][0-9]$/