Branch Coverage

blib/lib/Dancer2/Core/Route.pm
Criterion Covered Total %
branch 69 76 90.7


line true false branch
55 0 8 unless defined $options
63 0 7 unless grep {/^$opt$/;} @supported_options
95 13 1406 if ($self->has_options)
96 9 4 unless $self->validate_options($request)
101 787 623 unless @values
105 2 621 if (my(%captures) = %+)
114 86 535 if (@token_or_splat)
123 106 1 if (defined $token_or_splat[$i])
124 13 93 if ($token_or_splat[$i] eq "typed_token")
127 11 2 if (defined $values[$i])
131 3 8 unless $type->check($values[$i])
136 29 64 if ($token_or_splat[$i] eq "token")
142 25 39 if ($token_or_splat[$i] eq "megasplat")
143 24 1 defined $values[$i] ? :
156 5 530 if ($self->_should_capture)
174 1 481 if $RESPONSE->has_content and not ref $content
177 480 1 unless my $type = builtin::blessed($content)
181 0 1 if $type eq "Plack::Response"
187 0 1 if $type eq "CODE"
192 0 1 if $type eq "Dancer2::Core::Response"
195 1 0 if $type eq "Dancer2::Core::Response::Delayed"
212 3 724 if ($type_library)
213 0 3 unless eval { do { &use_module($type_library); 1 } }
219 34 693 if ($prefix) { }
680 13 elsif (not is_regexpref($regexp)) { }
221 1 33 is_regexpref($regexp) ? :
226 6 674 unless index($regexp, "/", 0) == 0
233 14 713 if (is_regexpref($regexp)) { }
254 60 653 if ($string =~ /:/)
257 17 51 if ($token =~ s/\[(.+)\]$//) { }
267 15 44 if (@typed_params)
271 47 12 if (@params)
273 1 46 if &first(sub { $_ eq "splat"; } , @params)
276 1 45 if &first(sub { $_ eq "captures"; } , @params)
286 37 673 if $string =~ s/\*\*/(?#megasplat)([^\n]+)/g
289 32 678 if $string =~ s[\*][(?#splat)([^/]+)]g
292 1 709 if $string =~ /\./
307 9 5 unless $request->$option and $request->$option =~ /$self->options->{$option}/