Branch Coverage

blib/lib/Catalyst/DispatchType/Chained.pm
Criterion Covered Total %
branch 94 120 78.3


line true false branch
82 0 2 unless $self->_endpoints
85 0 2 $avail_width * 0.5 < 35 ? :
103 2 3 if ($endpoint->has_args_constraints) { }
3 0 elsif (defined $endpoint->attributes->{'Args'}) { }
106 0 3 defined $endpoint->attributes->{'Args'}[0] ? :
116 1 10 if (my $cap = $curr->list_extra_info->{'CaptureArgs'})
117 1 0 if ($curr->has_captures_constraints) { }
124 11 0 if (my $pp = $curr->attributes->{'PathPart'})
125 10 1 if defined $pp->[0] and length $pp->[0]
130 6 5 if $curr
132 0 5 if ($parent ne "/")
141 0 6 if (defined(my $extra = $self->_list_extra_http_methods($p)))
144 6 0 if (defined(my $cap = $p->list_extra_info->{'CaptureArgs'}))
145 1 5 if ($p->has_captures_constraints) { }
152 0 6 if (defined(my $ct = $p->list_extra_info->{'Consumes'}))
155 0 6 if (defined(my $s = $p->list_extra_info->{'Scheme'}))
159 1 5 unless ($p eq $parents[0])
166 2 3 if ($endpoint->has_args_constraints) { }
170 0 3 defined $endpoint->attributes->{'Args'}[0] ? :
172 5 0 @rows ? :
0 5 $extra ? :
0 5 $scheme ? :
0 5 $consumes ? :
179 0 2 if $has_unattached_actions
185 11 0 unless defined $action->list_extra_info->{'HTTP_METHODS'}
192 5 0 unless defined $action->list_extra_info->{'CONSUMES'}
198 5 0 unless defined $action->list_extra_info->{'Scheme'}
212 200 557 if @{$request->args;}
218 80 477 if ($parts and @$parts)
225 317 240 unless $chain
247 0 1192 unless $children
254 19079 611 if (length $try_part)
258 18502 577 unless $try_part eq join("/", splice(@parts, 0, scalar @{[split(m[/], $try_part, 0)];}))
265 676 883 if (my $capture_attr = $action->attributes->{'CaptureArgs'}) { }
269 19 657 unless @parts >= $capture_count
278 22 635 unless $action->match_captures($c, \@captures)
287 8 5 if ($actions and !$best_action || $#$action_parts < $#{$$best_action{'parts'};} || $#$action_parts == $#{$$best_action{'parts'};} && $#$captures < $#{$$best_action{'captures'};} && $n_pathparts > $best_action->{'n_pathparts'})
305 594 289 unless $action->match($c)
316 2 11 if (not $best_action or @parts < @{$best_action->{'parts'};} or not @parts and defined $args_attr and ($args_count eq 0 and $c->config->{'use_chained_args_0_special_case'} || 0 || (exists $best_action->{'args_count'} && defined $best_action->{'args_count'} ? $best_action->{'args_count'} ne 0 : 1)))
345 539 653 if $best_action
358 48952 12297 unless $action->attributes->{'Chained'}
360 48952 12297 unless @chained_attr
362 1 12296 if (@chained_attr > 1)
369 2 12294 if $chained_to eq "/" . $action
375 1828 10466 unless $action->attributes->{'PathPart'}
379 10223 2071 if (@path_part == 1 and defined $path_part[0]) { }
0 2071 elsif (@path_part > 1) { }
387 1 12293 if ($part =~ m[^/])
402 0 6684 if (exists $action->attributes->{'Args'} and exists $action->attributes->{'CaptureArgs'})
409 7101 5192 unless ($action->attributes->{'CaptureArgs'})
427 4 51 unless $action->attributes->{'Chained'} and not $action->attributes->{'CaptureArgs'}
434 8 43 if ($curr->can("chain"))
438 57 67 if (my $cap = $curr->number_of_captures)
439 2 55 unless @captures >= $cap
440 55 0 if ($cap)
444 122 0 if (my $pp = $curr->attributes->{'PathPart'})
445 88 34 if defined $pp->[0] and length $pp->[0]
452 0 49 unless $parent eq "/"
454 2 47 if @captures
471 71 97 unless $action->attributes and $action->attributes->{'Chained'}