Branch Coverage

blib/lib/Dancer2/Core/App.pm
Criterion Covered Total %
branch 193 230 83.9


line true false branch
56 1 36 if (XXX)
60 0 1 if (my($already) = grep({ref $plugin eq ref $_;} @{$self->plugins;})) { }
61 0 0 if refaddr($plugin) != $already->refaddr
74 7 29 unless ($plugin =~ s/^\+//)
79 2 34 if (my($already) = grep({$plugin eq ref $_;} @{$self->plugins;}))
92 0 37 unless @_ == 2
198 235 18 unless defined $config
199 237 16 unless defined $value
201 0 253 if XXX
205 0 253 unless defined $value
207 1 252 unless &is_module_name($value)
222 100 152 if exists $config->{'log'}
232 158 17 unless defined $config
233 160 15 unless defined $value
235 3 172 if XXX
237 1 171 unless &is_module_name($value)
261 149 15 unless defined $config
262 151 13 unless defined $value
264 0 164 unless defined $value
265 0 164 if XXX
267 1 163 unless &is_module_name($value)
296 0 19 unless defined $config
297 0 19 unless defined $value
299 0 19 unless defined $value
300 0 19 if XXX
322 587 23 unless defined $config->{'engines'} and defined $config->{'engines'}{$engine}
328 19 11 if (defined $config->{'engines'}{$engine}{$engine_name})
422 83 558 $self->has_serializer_engine ? :
437 88 5 unless ($self->has_destroyed_session)
440 53 35 if defined $session_cookie
444 53 35 if (defined $session_id)
451 3 50 unless (eval {
453 0 3 if (not $err =~ /Unable to retrieve session/) { }
493 1 1 unless $plugin
523 354 0 $self->has_session ? :
537 3 2 if ($engine->can('_change_id')) { }
575 2 0 unless $key eq "id"
722 0 463 unless defined $engine
734 76 387 if ($app->has_session) { }
12 375 elsif ($app->has_destroyed_session) { }
736 73 3 if ($app->_has_session) { }
738 48 25 if $session->is_dirty
814 162 1385 $self->has_serializer_engine ? :
858 2 26 unless grep(($_ eq $name), @{$self->supported_engines;})
883 2 29 if $self->has_request and $self->has_session and not $template->has_session
887 28 4 if ($self->has_with_return)
895 1 22 if ($local_response)
911 0 45 if &blessed($handler_code) and $handler_code->can("supported_hooks")
938 1 9 exists $self->config->{'default_mime_type'} ? :
947 0 2323 unless my $logger = $self->logger_engine
958 1 7 unless $type
960 2 5 if (lc $type eq "html" or lc $type eq "plain")
961 0 2 if ($type ne lc $type)
979 2 3 unless (eval {
997 2 6 $self->has_serializer_engine ? :
1008 8 0 if $self->has_with_return
1026 0 16 if (&Scalar::Util::blessed($thing) and $thing->isa("IO::Scalar"))
1031 6 10 if (XXX)
1037 9 7 unless ($fh)
1041 0 9 if ($prefix and $prefix ne "/")
1049 4 5 $options{'system_path'} ? :
1059 0 9 unless defined $file_path
1060 0 9 unless -f $file_path
1061 0 9 unless -r $file_path
1067 5 4 if ($content_type =~ m[^text/])
1076 7 9 if exists $options{'content_type'}
1077 4 12 if exists $options{'charset'}
1078 9 7 if $content_type and $charset
1079 15 1 if defined $content_type
1085 2 14 if exists $options{'filename'}
1088 2 14 exists $options{'streaming'} ? :
1091 15 1 if ($env->{'psgi.streaming'} and $use_streaming) { }
1134 169 35 unless defined $self->config->{'static_handler'}
1139 0 204 if @{$self->plugins;} and $self->plugins->[0]->can("_add_postponed_plugin_hooks")
1156 234 0 unless XXX
1189 1 676 if $Dancer2::Core::Route::RESPONSE and $Dancer2::Core::Route::RESPONSE->is_halted
1194 4 667 unless (eval {
1213 1 4 if $prefix eq "/"
1219 1 4 defined $app_prefix ? :
4 1 defined $prefix ? :
1224 4 1 if length $new_prefix
1228 1 4 unless (my $ok = eval {
1233 1 4 unless $ok
1260 0 0 if $existing_route->spec_route eq $route->spec_route
1277 543 0 if @_ == 1
1291 12 14 if ($destination =~ m[^/(?!/)])
1303 26 0 if $self->has_with_return
1312 7 0 if $self->has_with_return
1321 2 0 if $self->has_with_return
1333 44 0 if $self->has_with_return
1349 7 46 if exists $options->{'method'}
1358 42 11 unless $engine and $self->_has_session
1360 1 10 if exists $new_request->cookies->{$name}
1382 20 182 if ($self->config->{'serializer'})
1394 2 585 unless $Dancer2::Core::Types::supported_http_methods{$method}
1405 0 585 unless (eval {
1418 111 91 if ($self->config->{'static_handler'})
1434 198 4 unless ($self->config->{'no_default_middleware'})
1457 4 581 unless ($request_built_successfully)
1486 613 550 unless my $match = $route->match($request)
1495 6 544 if (my $sess = $runner->{'internal_sessions'}{$cname})
1509 550 0 unless ($self->has_with_return)
1523 44 506 if (ref $response eq "Dancer2::Core::Request")
1530 17 27 if ($runner->{'internal_dispatch'})
1535 8 9 if $self->_has_session
1550 34 472 if ($response->is_halted)
1557 9 463 if ($response->has_passed)
1561 7 2 if exists $request->{'_params'}{'splat'}
1587 51 16 if ($runner->{'internal_dispatch'})
1604 82 454 $self->has_serializer_engine ? :
1624 4 541 unless (eval {
1630 2 539 if ($response->is_halted)
1637 13 428 unless (eval {
1652 451 0 if (exists $config->{'content_type'} and my $ct = $config->{'content_type'})
1658 438 13 if defined $content