Condition Coverage

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


and 2 conditions

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

and 3 conditions

line !l l&&!r l&&r condition
817 16554 0 0 scalar @args and $c->debug
1218 163 9 1 &blessed($c) and $c->res->finalized_headers
1239 0 4663 85 ref $c && exists $c->{'encoding'}
1407 163 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
1620 36 84 2 scalar @args && ref $args[-1] eq 'SCALAR'
1623 1 41 5 defined $path and $path =~ s/#(.+)$//
1624 0 5 0 defined $1 and defined $fragment
1633 37 47 38 scalar @args && ref $args[$#args] eq 'HASH'
1636 1 120 1 defined $path and $path eq ""
1645 14 6 53 scalar @args && ref $args[0] eq 'ARRAY'
1653 31 15 27 not @args and $action->number_of_args
46 5 22 not @args and $action->number_of_args and @$captures > $num_captures
1685 2 16 95 defined $path and $path =~ s[^/][]
2069 9011 82 29 $c->use_stats and $stats_info
2084 13 74 27 &blessed($error) and $error->isa("Catalyst::Exception::Detach")
13 8 66 &blessed($error) and $error->isa("Catalyst::Exception::Go")
2109 24 5 82 $code->name =~ /^_.*/ and not $appclass->config->{'show_internal_actions'}
2123 63 24 24 (caller $index)[0] eq "Catalyst" and (caller $index)[3] eq "(eval)"
2140 1 0 4 defined $parent and exists $c->counter->{"$parent"}
2331 829 35 56 $res->content_type_charset and $c->encoding
864 54 2 $res->content_type_charset and $c->encoding and uc $c->encoding->mime_name ne uc $res->content_type_charset
2341 698 13 209 $res->encodable_response and defined $res->body
711 6 203 $res->encodable_response and defined $res->body and ref \$res->body eq "SCALAR"
2356 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
2981 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
3496 1 0 908 $env->{'REMOTE_ADDR'} && $env->{'REMOTE_ADDR'} eq '127.0.0.1'
3508 908 1 1 $env->{'SERVER_SOFTWARE'} and $env->{'SERVER_SOFTWARE'} =~ m[lighttpd[-/]1\.(\d+\.\d+)]
3525 908 2 0 $env->{'SERVER_SOFTWARE'} && $env->{'SERVER_SOFTWARE'} =~ m[IIS/7\.[0-9]]
3596 81 81 1 exists $c->config->{'encoding'} and not defined $c->config->{'encoding'}
3805 2 562 0 not $plugin_meta->has_method("new") and $plugin->isa('Class::Accessor::Fast') || $plugin->isa('Class::Accessor')
3851 399 164 79 $meta and $meta->isa("Moose::Meta::Role")
4000 6 0 2 &Scalar::Util::blessed($next) and $next->can("wrap")
4100 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
642 1362 9676 $c->{'error'} || []
1441 0 0 $_->VERSION || ''
1451 49 0 ref($_) . ' ' . ($_->can('VERSION') ? $_->VERSION || '' : '') || ''
1503 1 6 $class->config->{'name'} || 'Application'
1522 162 0 $class || 1
1690 12 6 $namespace || ''
2067 7152 1847 $code->execute($class, $c, @{$c->req->args;}) || 0
2326 920 0 $c->res || (return)
2412 16 0 time - $START || 1
2674 16 0 $method ||= ""
2676 16 0 $address ||= ""
2732 13 0 $response->status || 'unknown'
7 6 $response->headers->header('Content-Type') || 'unknown'
0 13 $response->headers->header('Content-Length') || 'unknown'
3065 6701 0 ref $class->components->{$component_name} || ''
3183 1 162 $config->{'search_extra'} || []
3293 89 6864 $class->config->{$component_suffix} || {}
3726 20 155 $levels ||= ""
3837 163 0 $plugins || []

or 3 conditions

line l !l&&r !l&&!r condition
731 8 59 0 ref $c || $c
794 0 3 0 ref $c || $c
844 36 35 0 ref $c || $c
888 7 44 0 ref $c || $c
952 9 24 0 ref $c || $c
1062 20 10 0 ref $c || $c
2047 9124 2 0 $c->component($class) || $class
2107 111 0 0 ref $c || $c
2356 43 1 159 $c->res->content_type_charset or $c->res->_context and $c->res->finalized_headers and not $c->res->_has_response_cb
2456 0 128 0 ref $class || $class
2464 16 0 909 $c->debug or $c->config->{'enable_catalyst_header'}
2980 2 0 1 $class->isa('Class::Accessor::Fast') || $class->isa('Class::Accessor')
3241 6953 0 0 eval {
3334 0 0 0 not $class->engine_loader or $requested_engine
3353 163 0 0 not $loader or $requested_engine
3579 2 217 102 $home ||= Catalyst::Utils::home($class)
3583 107 112 0 $class->config->{'home'} ||= $home
3584 107 112 0 $class->config->{'root'} ||= "Path::Class::Dir"->new($home)->subdir("root")
3694 279 934 0 $check ||= $self->_encode_check
3765 2 8 156 $stats || $class->debug
3799 0 564 0 ref $proto || $proto
3805 1 0 561 $plugin->isa('Class::Accessor::Fast') || $plugin->isa('Class::Accessor')
3809 1 0 563 $instant or $proto->_plugins->{$plugin}
4089 3 2 0 eval {
4100 10 4 100 $error->can('as_psgi') || $error->can('code') && $error->code =~ /^[1-5][0-9][0-9]$/