Branch Coverage

blib/lib/Regexp/Parser/Handlers.pm
Criterion Covered Total %
branch 253 368 68.7


line true false branch
29 0 0 $plus ? :
0 0 $plus ? :
34 0 0 $plus ? :
0 0 $plus ? :
39 0 0 $plus ? :
0 0 $plus ? :
45 6 4 if $cc
51 4 4 if $cc
57 6 4 if $cc
63 4 4 if $cc
69 4 4 if $cc
75 4 4 if $cc
96 0 22 &Rf & $S->FLAG_s ? :
2 22 &Rf & $S->FLAG_m ? :
106 0 8 if $cc
107 0 8 if $cc
114 0 28 if $cc
115 0 28 if $cc
117 18 10 if (${&Rx;} =~ / \G \{ (gcb|g|wb|sb|lb) \} /cgx)
127 8 46 if $cc
129 36 10 if (${&Rx;} =~ / \G \{ (gcb|g|wb|sb|lb) \} /cgx)
139 0 0 if $cc
140 0 0 if $cc
149 0 8 if $cc
156 4 8 if $cc
163 4 20 if $cc
170 0 4 if $cc
171 0 4 if $cc
178 0 21 if ($cc)
184 16 5 if (${&Rx;} =~ / \G \{ /cgx)
186 0 16 if (${&Rx;} =~ / \G ([a-zA-Z_]\w*) \} /cgx)
191 16 0 if (${&Rx;} =~ / \G (-?\d+) \} /cgx)
194 8 8 if ($num < 0) { }
195 4 4 &SIZE_ONLY ? :
196 1 7 if not &SIZE_ONLY and $abs < 1
200 1 7 if not &SIZE_ONLY and $abs > $S->{'maxpar'}
208 4 1 if (${&Rx;} =~ / \G (\d+) /cgx)
210 0 4 if not &SIZE_ONLY and $num > $S->{'maxpar'}
220 0 6 unless ${&Rx;} =~ / \G \{ /cgx
221 0 6 unless ${&Rx;} =~ / \G ([^\}]*) \} /cgx
224 0 6 if $cc
231 0 18 unless ${&Rx;} =~ / \G \{ /cgx
232 0 18 unless ${&Rx;} =~ / \G ([0-7]+) \} /cgx
236 4 14 if $cc
243 0 4 unless ${&Rx;} =~ / \G (.) /cgsx
246 4 0 if ($name eq "{")
247 0 4 unless ${&Rx;} =~ / \G ([^\}]*) \} /cgx
251 0 4 if $cc
258 0 4 unless ${&Rx;} =~ / \G (.) /cgsx
261 4 0 if ($name eq "{")
262 0 4 unless ${&Rx;} =~ / \G ([^\}]*) \} /cgx
266 0 4 if $cc
273 4 4 if $cc
280 4 12 if $cc
287 4 4 if $cc
294 8 14 if $cc
301 0 4 if $cc
302 0 4 if $cc
313 12 4 if ($num eq '{') { }
314 0 12 unless ${&Rx;} =~ / \G ( [^\}]* ) \} /cgx
324 12 4 $brace ? :
325 8 8 if $cc
332 0 16 &Rf & $S->FLAG_s ? :
0 16 &Rf & $S->FLAG_m ? :
342 0 4 if $cc
343 0 4 if $cc
350 0 4 if $cc
351 0 4 if $cc
437 210 3986 if ($S->{'quotemeta'})
438 4 206 unless ${&Rx;} =~ / \G (.) /cgsx
443 42 164 if ($c eq "\\")
444 40 2 if (${&Rx;} =~ / \G E /cgx)
453 56 108 $c =~ /[\.\+\*\?\^\$\|\(\)\{\}\[\]\\]/ ? :
459 822 3164 unless ${&Rx;} =~ / \G (.) /cgsx
463 1915 1249 if $S->can($c)
487 28 0 if (${&Rx;} =~ / \G (\d+) (,?) (\d*) \} /cgx)
489 6 22 unless $range
491 0 28 if length $max and $min > $max
500 24 174 if ${&Rx;} =~ / \G \? /cgx
501 16 158 if ${&Rx;} =~ / \G \+ /cgx
517 587 0 if (${&Rx;} =~ / \G (.) /cgsx)
519 413 174 if $S->can($n)
524 90 84 &SIZE_ONLY ? :
532 2 20 &Rf & $S->FLAG_s ? :
543 495 0 if (${&Rx;} =~ / \G (.) /cgsx)
546 425 70 if $S->can($c)
548 16 54 if ($n =~ /\d/)
553 8 8 if (not &SIZE_ONLY || $cc and $n != 0)
555 0 8 if ($v > 9 and $v > $S->{'maxpar'}) { }
0 8 elsif ($v > $S->{'maxpar'}) { }
567 0 54 if $n =~ /[a-zA-Z]/
582 0 88 if (${&Rx;} =~ / \G ([:.=]) .*? \1 ] /cgx)
593 88 0 unless ${&Rx;} =~ / \G ] /cgx
600 88 173 if ${&Rx;} =~ / \G (?= ] | \z ) /cgx
606 22 175 if ($S->{'quotemeta'}) { }
96 79 elsif (${&Rx;} =~ / \G ( \\ ) /cgsx) { }
14 65 elsif (${&Rx;} =~ / \G \[ ([.=:]) (\^?) (.*?) \1 \] /cgsx) { }
65 0 elsif (${&Rx;} =~ / \G (.) /cgsx) { }
608 6 16 if (${&Rx;} =~ / \G \\ E /cgx) { }
16 0 elsif (${&Rx;} =~ / \G (.) /cgsx) { }
616 4 12 $c =~ /[\-\]\\^]/ ? :
625 6 90 if (not defined $$ret and $S->{'quotemeta'} != $qm_before)
630 14 0 if ($S->can($posix)) { }
637 167 18 if ($ret == \$lhs) { }
18 0 elsif ($ret == \$rhs) { }
638 18 149 if (not $S->{'quotemeta'} and ${&Rx;} =~ / \G (?= - (?! ] | \z ) ) /cgx)
639 0 18 if ($lhs->visual =~ /^(?:\[[:.=]|\\[dDsSwWpP])/)
651 0 18 if ($rhs->visual =~ /^(?:\[[:.=]|\\[dDsSwWpP])/) { }
0 18 elsif (ord $lhs->data > ord $rhs->data) { }
665 89 84 if &SIZE_ONLY
672 1 87 unless ${&Rx;} =~ / \G ] /cgx
687 2 483 unless ${&Rx;} =~ / \G \) /cgx
697 355 0 if (${&Rx;} =~ / \G (.) /cgsx) { }
699 188 167 if $S->can($n)
709 30 137 if (${&Rx;} =~ / \G ( [+-]? [0-9]+ ) \) /cgx)
717 12 125 if (${&Rx;} =~ / \G \^ /cgx)
732 85 0 if (my $f = $S->can("FLAG_$_"))
733 85 0 if my $v = $S->$f(1)
735 10 75 if ($_ eq "x" and $f_on & $v)
745 125 12 unless ($caret)
746 18 107 if $off =~ s/^-//
750 18 0 if (my $f = $S->can("FLAG_$_"))
751 18 0 if my $v = $S->$f(0)
753 0 18 if ($_ eq "x" and $f_off & $v)
764 137 0 if (${&Rx;} =~ / \G ([:)]) /cgx)
765 114 23 $1 eq ':' ? :
766 114 23 if ($type eq "group")
770 12 125 if ($caret)
775 12 125 $caret ? :
788 0 0 unless ${&Rx;} =~ / \G \) /cgx
825 0 0 if (${&Rx;} =~ / \G (.) /cgsx)
827 0 0 if $S->can($n)
860 10 0 if (${&Rx;} =~ / \G ($nest_eval) \} \) /cgx)
872 4 0 if (${&Rx;} =~ / \G (.) /cgsx)
874 4 0 if $S->can($n)
883 4 0 if (${&Rx;} =~ / \G ($nest_logical) \} \) /cgx)
895 0 0 if (${&Rx;} =~ / \G (.) /cgsx)
897 0 0 if $S->can($n)
915 62 0 if (${&Rx;} =~ / \G (.) /cgsx)
917 0 62 if $S->can($n)
933 62 0 if (${&Rx;} =~ / \G (.) /cgsx)
935 49 13 if $S->can($n)
939 8 5 if (${&Rx;} =~ / \G ( [1-9]\d* ) /cgx)
941 2 6 unless ${&Rx;} =~ / \G \) /cgx
953 42 127 unless ${&Rx;} =~ / \G ([^|]) /cgsx
957 47 80 if $S->can($c)
964 2 41 unless ${&Rx;} =~ / \G \| /cgx
972 42 1 unless ${&Rx;} =~ / \G \| /cgx
982 37 12 if (${&Rx;} =~ / \G ( (?:
984 37 0 if $S->can($n)
998 0 6 if $cc
999 0 6 if $cc
1006 0 8 if $cc
1007 0 8 if $cc
1014 2 8 if $cc
1021 2 4 if $cc
1028 2 4 if $cc
1035 0 4 if $cc
1043 0 8 if ($cc)
1048 6 2 if (${&Rx;} =~ / \G < ([^>]+) > /cgx) { }
2 0 elsif (${&Rx;} =~ / \G ' ([^']+) ' /cgx) { }
1065 14 30 if (${&Rx;} =~ / \G ([!=]) /cgsx)
1067 14 0 if $S->can($n)
1071 30 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) > /cgx)
1074 15 15 &SIZE_ONLY ? :
1076 15 15 unless &SIZE_ONLY
1087 0 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) ' /cgx)
1090 0 0 &SIZE_ONLY ? :
1092 0 0 unless &SIZE_ONLY
1104 0 12 unless ${&Rx;} =~ / \G \) /cgx
1113 8 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) \) /cgx)
1128 6 4 if (${&Rx;} =~ / \G < ([A-Za-z_]\w*) > /cgx)
1131 3 3 &SIZE_ONLY ? :
1133 3 3 unless &SIZE_ONLY
1138 2 2 if (${&Rx;} =~ / \G = ([A-Za-z_]\w*) \) /cgx)
1144 2 0 if (${&Rx;} =~ / \G > ([A-Za-z_]\w*) \) /cgx)
1156 0 0 if ${&Rx;} =~ / \G \+ /cgx
1178 58 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) /cgx)
1199 30 28 if (my $spec = $alpha_assert{$name})
1201 0 30 unless ${&Rx;} =~ / \G : /cgx
1205 20 10 if defined $dir
1211 10 18 if (${&Rx;} =~ / \G : ([^)]*) /cgx)
1214 0 28 unless ${&Rx;} =~ / \G \) /cgx
1219 0 28 unless ($known_verb{$name})