Branch Coverage

blib/lib/Dancer2/Core/App.pm
Criterion Covered Total %
branch 189 226 83.6


line true false branch
56 1 35 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 28 unless ($plugin =~ s/^\+//)
79 2 33 if (my($already) = grep({$plugin eq ref $_;} @{$self->plugins;}))
92 0 36 unless @_ == 2
198 233 18 unless defined $config
199 235 16 unless defined $value
201 0 251 if XXX
205 0 251 unless defined $value
207 1 250 unless &is_module_name($value)
222 100 150 if exists $config->{'log'}
232 156 17 unless defined $config
233 158 15 unless defined $value
235 3 170 if XXX
237 1 169 unless &is_module_name($value)
261 148 14 unless defined $config
262 150 12 unless defined $value
264 0 162 unless defined $value
265 0 162 if XXX
267 1 161 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 581 23 unless defined $config->{'engines'} and defined $config->{'engines'}{$engine}
328 19 11 if (defined $config->{'engines'}{$engine}{$engine_name})
422 83 555 $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 460 unless defined $engine
734 76 384 if ($app->has_session) { }
12 372 elsif ($app->has_destroyed_session) { }
736 73 3 if ($app->_has_session) { }
738 48 25 if $session->is_dirty
814 162 1379 $self->has_serializer_engine ? :
858 2 26 unless grep(($_ eq $name), @{$self->supported_engines;})
883 2 27 if $self->has_request and $self->has_session and not $template->has_session
898 0 45 if &blessed($handler_code) and $handler_code->can("supported_hooks")
925 1 9 exists $self->config->{'default_mime_type'} ? :
934 0 2312 unless my $logger = $self->logger_engine
945 1 7 unless $type
947 2 5 if (lc $type eq "html" or lc $type eq "plain")
948 0 2 if ($type ne lc $type)
966 2 3 unless (eval {
984 2 6 $self->has_serializer_engine ? :
995 8 0 if $self->has_with_return
1013 0 16 if (&Scalar::Util::blessed($thing) and $thing->isa("IO::Scalar"))
1018 6 10 if (XXX)
1024 9 7 unless ($fh)
1028 0 9 if ($prefix and $prefix ne "/")
1036 4 5 $options{'system_path'} ? :
1046 0 9 unless defined $file_path
1047 0 9 unless -f $file_path
1048 0 9 unless -r $file_path
1054 5 4 if ($content_type =~ m[^text/])
1063 7 9 if exists $options{'content_type'}
1064 4 12 if exists $options{'charset'}
1065 9 7 if $content_type and $charset
1066 15 1 if defined $content_type
1072 2 14 if exists $options{'filename'}
1075 2 14 exists $options{'streaming'} ? :
1078 15 1 if ($env->{'psgi.streaming'} and $use_streaming) { }
1121 167 35 unless defined $self->config->{'static_handler'}
1126 0 202 if @{$self->plugins;} and $self->plugins->[0]->can("_add_postponed_plugin_hooks")
1143 232 0 unless XXX
1176 1 673 if $Dancer2::Core::Route::RESPONSE and $Dancer2::Core::Route::RESPONSE->is_halted
1181 4 664 unless (eval {
1200 1 4 if $prefix eq "/"
1206 1 4 defined $app_prefix ? :
4 1 defined $prefix ? :
1211 4 1 if length $new_prefix
1215 1 4 unless (my $ok = eval {
1220 1 4 unless $ok
1247 0 0 if $existing_route->spec_route eq $route->spec_route
1264 538 0 if @_ == 1
1278 12 13 if ($destination =~ m[^/(?!/)])
1290 25 0 if $self->has_with_return
1299 7 0 if $self->has_with_return
1308 2 0 if $self->has_with_return
1320 44 0 if $self->has_with_return
1336 7 46 if exists $options->{'method'}
1345 42 11 unless $engine and $self->_has_session
1347 1 10 if exists $new_request->cookies->{$name}
1369 20 180 if ($self->config->{'serializer'})
1381 2 582 unless $Dancer2::Core::Types::supported_http_methods{$method}
1392 0 582 unless (eval {
1405 111 89 if ($self->config->{'static_handler'})
1421 196 4 unless ($self->config->{'no_default_middleware'})
1444 4 578 unless ($request_built_successfully)
1473 612 547 unless my $match = $route->match($request)
1482 6 541 if (my $sess = $runner->{'internal_sessions'}{$cname})
1496 547 0 unless ($self->has_with_return)
1510 44 503 if (ref $response eq "Dancer2::Core::Request")
1517 17 27 if ($runner->{'internal_dispatch'})
1522 8 9 if $self->_has_session
1537 34 469 if ($response->is_halted)
1544 9 460 if ($response->has_passed)
1548 7 2 if exists $request->{'_params'}{'splat'}
1574 51 16 if ($runner->{'internal_dispatch'})
1591 82 451 $self->has_serializer_engine ? :
1611 4 538 unless (eval {
1617 2 536 if ($response->is_halted)
1624 13 426 unless (eval {
1639 449 0 if (exists $config->{'content_type'} and my $ct = $config->{'content_type'})
1645 436 13 if defined $content