line |
true |
false |
branch |
18
|
2 |
65 |
if (my $arguments = delete $params{'+arguments'}) |
33
|
67 |
0 |
if $self->{'routes'} |
34
|
0 |
67 |
unless defined $self->{'strict_trailing_slash'} |
36
|
7 |
60 |
if (my $methods = $self->{'method'}) |
37
|
6 |
1 |
unless ref $methods eq 'ARRAY' |
57
|
18 |
141 |
unless $self->_match_method($args{'method'}) |
59
|
88 |
53 |
unless substr($path, 0, 1) eq '/' |
61
|
5 |
6 |
if (not $self->{'strict_trailing_slash'} and $path ne '/' and not $path =~ m[/$]) |
66
|
57 |
84 |
unless @captures |
68
|
77 |
7 |
unless $self->{'defaults'} |
71
|
0 |
89 |
unless @captures |
75
|
87 |
2 |
if (defined $value or not exists $captures->{$capture}) |
81
|
2 |
82 |
if ($self->{'arguments_push'}) { } |
84
|
0 |
2 |
unless $args{'arguments'} |
87
|
2 |
3 |
if (exists $arguments->{$key}) { } |
88
|
2 |
0 |
unless ref $arguments->{$key} eq 'ARRAY' |
89
|
1 |
1 |
ref $value eq 'ARRAY' ? : |
98
|
68 |
14 |
unless $args{'arguments'} |
99
|
77 |
5 |
unless $self->arguments |
110
|
19 |
65 |
if ($self->{'subroutes'}) |
136
|
49 |
37 |
if ($type eq 'capture') { } |
|
8 |
29 |
elsif ($type eq 'glob') { } |
|
29 |
0 |
elsif ($type eq 'text') { } |
137
|
8 |
9 |
if ($part->{'level'} and exists $params{$name}) |
141
|
10 |
39 |
unless (exists $params{$name}) |
143
|
9 |
1 |
if $part->{'level'} and $part->{'level'} > $optional_depth |
145
|
1 |
0 |
if (exists $self->{'defaults'} and exists $self->{'defaults'}{$name}) { } |
158
|
3 |
37 |
if (defined(my $constraint = $part->{'constraint'})) |
159
|
2 |
1 |
unless $param =~ /^ $constraint $/msx |
166
|
3 |
5 |
unless (exists $params{$name}) |
167
|
1 |
2 |
if (exists $self->{'defaults'} and exists $self->{'defaults'}{$name}) { } |
|
1 |
1 |
elsif ($part->{'optional'}) { } |
191
|
71 |
9 |
if ($path ne '') |
199
|
3 |
32 |
if ($parent_pattern) |
201
|
0 |
3 |
unless substr($head, -1) eq '/' |
206
|
10 |
25 |
if ($path ne '/' and $trailing_slash) |
219
|
130 |
29 |
unless defined $methods |
221
|
7 |
22 |
unless defined $value |
230
|
0 |
67 |
if ref $self->{'pattern'} eq 'Regexp' |
233
|
4 |
63 |
unless ($pattern =~ m[ \A ( / | \(/.+?\)\?/ ) ]msx) |
247
|
142 |
147 |
if ($pattern =~ m[ \G \/ ]cgmsx) { } |
|
53 |
94 |
elsif ($pattern =~ / \G :($TOKEN) /cgmsx) { } |
|
9 |
85 |
elsif ($pattern =~ / \G \*($TOKEN) /cgmsx) { } |
|
57 |
28 |
elsif ($pattern =~ / \G ($TOKEN) /cgmsx) { } |
|
16 |
12 |
elsif ($pattern =~ / \G \( /cgmsx) { } |
|
11 |
1 |
elsif ($pattern =~ / \G \)\? /cgmsx) { } |
|
1 |
0 |
elsif ($pattern =~ / \G \) /cgmsx) { } |
248
|
75 |
67 |
if ($part) |
259
|
4 |
49 |
if (exists $self->{'constraints'}{$name}) { } |
261
|
1 |
3 |
if (ref $constraint eq 'ARRAY') |
270
|
4 |
49 |
$constraint ? : |
311
|
66 |
195 |
if ($part->[-1] and substr($pattern, pos $pattern, 1) eq '/') |
316
|
1 |
66 |
if ($par_depth != 0) |
320
|
6 |
0 |
unless ($self->{'strict_trailing_slash'} or $self->{'subroutes'}) |
321
|
2 |
4 |
if ($re =~ m[/$]) { } |
|
1 |
3 |
elsif ($re =~ /\)\?$/) { } |
332
|
12 |
54 |
if ($self->{'subroutes'}) { } |
339
|
43 |
23 |
if ($part and @$part) |