Branch Coverage

blib/lib/Web/Dispatch/Parser.pm
Criterion Covered Total %
branch 78 94 82.9


line true false branch
6 0 14 if ($ENV{'WEB_DISPATCH_PARSER_DEBUG'})
46 3 142 unless length $spec
51 0 210 unless push @match, $self->_parse_spec_section($_)
53 3 207 if (/\G\)/cg)
54 0 3 unless $nested
58 134 73 if pos $_ == length $_
59 0 73 unless $match[-1] = $self->_parse_spec_combinator($_, $match[-1])
62 1 137 if (not $close and $nested and pos $_ == length $_)
66 73 67 if @match == 1
75 69 4 if /\G\+/cg
79 4 0 if /\G\|/cg
82 0 5 unless push @match, $self->_parse_spec_section($_)
84 4 1 if pos $_ == length $_
85 0 1 unless /\G\|/cg
99 2 215 if /\G~/cg
104 24 191 if /\G([A-Z]+)/cg
109 94 97 if m[\G(?=/)]cg
114 5 92 if /\G\.(\*|\w+)/cg
119 4 88 if /\G\(/cg
124 1 87 if /\G!/cg
128 82 5 if /\G\?/cg
132 4 1 if /\G\%/cg
136 1 0 if /\G\*/cg
150 4 188 if (/\G\.\.\./cg)
155 0 188 unless my($segment) = $self->_url_path_segment_match($_)
158 17 171 if (ref $segment)
160 6 11 if (defined $name) { }
161 0 6 if $seen_nameless
165 0 11 if @names
173 4 184 if (/\G\.\.\./cg)
177 2 182 if /\G\.\*/cg
180 3 181 if $keep_dot
182 83 9 if (@path and not $end and not $keep_dot)
187 8 86 if ($end) { }
188 0 8 @names ? :
190 4 82 @names ? :
200 30 158 if /\G(?:(?=[+|\)])|$)/cg
203 141 17 if / \G( (?: # start matching at a space followed by: [\w\-] # word chars or dashes | # OR \. # a period (?!\.) # not followed by another period ) + # then grab as far as possible ) /cgx
216 5 12 if /\G\*\*(?:(\.\*)?\:(\w+))?/cg
220 9 3 if /\G\*(?:(\.\*)?\:(\w+))?/cg
224 3 0 if /\G\:(\w+)/cg
249 17 93 if (/\G\*/cg) { }
251 0 17 if $is_kw
253 0 17 if ($star)
262 0 93 unless /\G([\w.]*)/cg
269 79 14 /\G\=/cg ? :
274 52 41 $is_kw ? :