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 236 18 unless defined $config
199 238 16 unless defined $value
201 0 254 if XXX
205 0 254 unless defined $value
207 1 253 unless &is_module_name($value)
222 101 152 if exists $config->{'log'}
232 159 17 unless defined $config
233 161 15 unless defined $value
235 3 173 if XXX
237 1 172 unless &is_module_name($value)
261 150 15 unless defined $config
262 152 13 unless defined $value
264 0 165 unless defined $value
265 0 165 if XXX
267 1 164 unless &is_module_name($value)
296 0 20 unless defined $config
297 0 20 unless defined $value
299 0 20 unless defined $value
300 0 20 if XXX
322 590 24 unless defined $config->{'engines'} and defined $config->{'engines'}{$engine}
328 20 11 if (defined $config->{'engines'}{$engine}{$engine_name})
422 84 567 $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 467 unless defined $engine
734 76 391 if ($app->has_session) { }
12 379 elsif ($app->has_destroyed_session) { }
736 73 3 if ($app->_has_session) { }
738 48 25 if $session->is_dirty
814 164 1415 $self->has_serializer_engine ? :
858 2 26 unless grep(($_ eq $name), @{$self->supported_engines;})
883 2 30 if $self->has_request and $self->has_session and not $template->has_session
887 29 4 if ($self->has_with_return)
895 1 23 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 2361 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 170 35 unless defined $self->config->{'static_handler'}
1139 0 205 if @{$self->plugins;} and $self->plugins->[0]->can("_add_postponed_plugin_hooks")
1156 235 0 unless XXX
1189 1 680 if $Dancer2::Core::Route::RESPONSE and $Dancer2::Core::Route::RESPONSE->is_halted
1194 4 671 unless (eval {
1213 1 4 if $prefix eq "/"
1219 2 3 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 548 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 21 182 if ($self->config->{'serializer'})
1394 2 595 unless $Dancer2::Core::Types::supported_http_methods{$method}
1405 0 595 unless (eval {
1418 112 91 if ($self->config->{'static_handler'})
1434 199 4 unless ($self->config->{'no_default_middleware'})
1457 4 591 unless ($request_built_successfully)
1486 724 554 unless my $match = $route->match($request)
1495 6 548 if (my $sess = $runner->{'internal_sessions'}{$cname})
1509 554 0 unless ($self->has_with_return)
1523 44 510 if (ref $response eq "Dancer2::Core::Request")
1530 17 27 if ($runner->{'internal_dispatch'})
1535 8 9 if $self->_has_session
1550 34 476 if ($response->is_halted)
1557 9 467 if ($response->has_passed)
1561 7 2 if exists $request->{'_params'}{'splat'}
1587 51 22 if ($runner->{'internal_dispatch'})
1604 83 463 $self->has_serializer_engine ? :
1624 4 545 unless (eval {
1630 2 543 if ($response->is_halted)
1637 13 432 unless (eval {
1652 455 0 if (exists $config->{'content_type'} and my $ct = $config->{'content_type'})
1658 442 13 if defined $content