Branch Coverage

blib/lib/Regexp/Parser/Handlers.pm
Criterion Covered Total %
branch 230 344 66.8


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
82 0 20 &Rf & $S->FLAG_s ? :
2 20 &Rf & $S->FLAG_m ? :
92 0 8 if $cc
93 0 8 if $cc
100 0 8 if $cc
101 0 8 if $cc
108 6 8 if $cc
115 0 0 if $cc
116 0 0 if $cc
125 0 8 if $cc
132 4 8 if $cc
139 4 20 if $cc
146 0 4 if $cc
147 0 4 if $cc
154 0 21 if ($cc)
160 16 5 if (${&Rx;} =~ / \G \{ /cgx)
162 0 16 if (${&Rx;} =~ / \G ([a-zA-Z_]\w*) \} /cgx)
167 16 0 if (${&Rx;} =~ / \G (-?\d+) \} /cgx)
170 8 8 if ($num < 0) { }
171 4 4 &SIZE_ONLY ? :
172 1 7 if not &SIZE_ONLY and $abs < 1
176 1 7 if not &SIZE_ONLY and $abs > $S->{'maxpar'}
184 4 1 if (${&Rx;} =~ / \G (\d+) /cgx)
186 0 4 if not &SIZE_ONLY and $num > $S->{'maxpar'}
196 0 6 unless ${&Rx;} =~ / \G \{ /cgx
197 0 6 unless ${&Rx;} =~ / \G ([^\}]*) \} /cgx
200 0 6 if $cc
207 0 18 unless ${&Rx;} =~ / \G \{ /cgx
208 0 18 unless ${&Rx;} =~ / \G ([0-7]+) \} /cgx
212 4 14 if $cc
219 0 4 unless ${&Rx;} =~ / \G (.) /cgsx
222 4 0 if ($name eq "{")
223 0 4 unless ${&Rx;} =~ / \G ([^\}]*) \} /cgx
227 0 4 if $cc
234 0 4 unless ${&Rx;} =~ / \G (.) /cgsx
237 4 0 if ($name eq "{")
238 0 4 unless ${&Rx;} =~ / \G ([^\}]*) \} /cgx
242 0 4 if $cc
249 4 4 if $cc
256 4 12 if $cc
263 4 4 if $cc
270 8 14 if $cc
277 0 4 if $cc
278 0 4 if $cc
289 12 4 if ($num eq '{') { }
290 0 12 unless ${&Rx;} =~ / \G ( [^\}]* ) \} /cgx
300 12 4 $brace ? :
301 8 8 if $cc
308 0 14 &Rf & $S->FLAG_s ? :
0 14 &Rf & $S->FLAG_m ? :
318 0 4 if $cc
319 0 4 if $cc
326 0 4 if $cc
327 0 4 if $cc
413 704 2860 unless ${&Rx;} =~ / \G (.) /cgsx
417 1731 1129 if $S->can($c)
441 28 0 if (${&Rx;} =~ / \G (\d+) (,?) (\d*) \} /cgx)
443 6 22 unless $range
445 0 28 if length $max and $min > $max
454 24 170 if ${&Rx;} =~ / \G \? /cgx
455 16 154 if ${&Rx;} =~ / \G \+ /cgx
471 579 0 if (${&Rx;} =~ / \G (.) /cgsx)
473 407 172 if $S->can($n)
478 89 83 &SIZE_ONLY ? :
486 2 16 &Rf & $S->FLAG_s ? :
497 339 0 if (${&Rx;} =~ / \G (.) /cgsx)
500 313 26 if $S->can($c)
502 16 10 if ($n =~ /\d/)
507 8 8 if (not &SIZE_ONLY || $cc and $n != 0)
509 0 8 if ($v > 9 and $v > $S->{'maxpar'}) { }
0 8 elsif ($v > $S->{'maxpar'}) { }
521 0 10 if $n =~ /[a-zA-Z]/
536 0 80 if (${&Rx;} =~ / \G ([:.=]) .*? \1 ] /cgx)
547 80 0 unless ${&Rx;} =~ / \G ] /cgx
554 80 149 if ${&Rx;} =~ / \G (?= ] | \z ) /cgx
560 88 79 if (${&Rx;} =~ / \G ( \\ ) /cgsx) { }
14 65 elsif (${&Rx;} =~ / \G \[ ([.=:]) (\^?) (.*?) \1 \] /cgsx) { }
65 0 elsif (${&Rx;} =~ / \G (.) /cgsx) { }
567 14 0 if ($S->can($posix)) { }
574 149 18 if ($ret == \$lhs) { }
18 0 elsif ($ret == \$rhs) { }
575 18 131 if (${&Rx;} =~ / \G (?= - (?! ] | \z ) ) /cgx)
576 0 18 if ($lhs->visual =~ /^(?:\[[:.=]|\\[dDsSwWpP])/)
588 0 18 if ($rhs->visual =~ /^(?:\[[:.=]|\\[dDsSwWpP])/) { }
0 18 elsif (ord $lhs->data > ord $rhs->data) { }
602 77 72 if &SIZE_ONLY
609 1 79 unless ${&Rx;} =~ / \G ] /cgx
624 2 475 unless ${&Rx;} =~ / \G \) /cgx
634 349 0 if (${&Rx;} =~ / \G (.) /cgsx) { }
636 188 161 if $S->can($n)
646 30 131 if (${&Rx;} =~ / \G ( [+-]? [0-9]+ ) \) /cgx)
654 12 119 if (${&Rx;} =~ / \G \^ /cgx)
669 85 0 if (my $f = $S->can("FLAG_$_"))
670 85 0 if my $v = $S->$f(1)
672 10 75 if ($_ eq "x" and $f_on & $v)
682 119 12 unless ($caret)
683 18 101 if $off =~ s/^-//
687 18 0 if (my $f = $S->can("FLAG_$_"))
688 18 0 if my $v = $S->$f(0)
690 0 18 if ($_ eq "x" and $f_off & $v)
701 131 0 if (${&Rx;} =~ / \G ([:)]) /cgx)
702 108 23 $1 eq ':' ? :
703 108 23 if ($type eq "group")
707 12 119 if ($caret)
712 12 119 $caret ? :
725 0 0 unless ${&Rx;} =~ / \G \) /cgx
762 0 0 if (${&Rx;} =~ / \G (.) /cgsx)
764 0 0 if $S->can($n)
797 10 0 if (${&Rx;} =~ / \G ($nest_eval) \} \) /cgx)
809 4 0 if (${&Rx;} =~ / \G (.) /cgsx)
811 4 0 if $S->can($n)
820 4 0 if (${&Rx;} =~ / \G ($nest_logical) \} \) /cgx)
832 0 0 if (${&Rx;} =~ / \G (.) /cgsx)
834 0 0 if $S->can($n)
852 62 0 if (${&Rx;} =~ / \G (.) /cgsx)
854 0 62 if $S->can($n)
870 62 0 if (${&Rx;} =~ / \G (.) /cgsx)
872 49 13 if $S->can($n)
876 8 5 if (${&Rx;} =~ / \G ( [1-9]\d* ) /cgx)
878 2 6 unless ${&Rx;} =~ / \G \) /cgx
890 42 127 unless ${&Rx;} =~ / \G ([^|]) /cgsx
894 47 80 if $S->can($c)
901 2 41 unless ${&Rx;} =~ / \G \| /cgx
909 42 1 unless ${&Rx;} =~ / \G \| /cgx
919 37 12 if (${&Rx;} =~ / \G ( (?:
921 37 0 if $S->can($n)
935 0 6 if $cc
936 0 6 if $cc
943 0 8 if $cc
944 0 8 if $cc
951 2 8 if $cc
958 2 4 if $cc
965 2 4 if $cc
972 0 4 if $cc
980 0 8 if ($cc)
985 6 2 if (${&Rx;} =~ / \G < ([^>]+) > /cgx) { }
2 0 elsif (${&Rx;} =~ / \G ' ([^']+) ' /cgx) { }
1002 14 30 if (${&Rx;} =~ / \G ([!=]) /cgsx)
1004 14 0 if $S->can($n)
1008 30 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) > /cgx)
1011 15 15 &SIZE_ONLY ? :
1013 15 15 unless &SIZE_ONLY
1024 0 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) ' /cgx)
1027 0 0 &SIZE_ONLY ? :
1029 0 0 unless &SIZE_ONLY
1041 0 12 unless ${&Rx;} =~ / \G \) /cgx
1050 8 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) \) /cgx)
1065 6 4 if (${&Rx;} =~ / \G < ([A-Za-z_]\w*) > /cgx)
1068 3 3 &SIZE_ONLY ? :
1070 3 3 unless &SIZE_ONLY
1075 2 2 if (${&Rx;} =~ / \G = ([A-Za-z_]\w*) \) /cgx)
1081 2 0 if (${&Rx;} =~ / \G > ([A-Za-z_]\w*) \) /cgx)
1093 0 0 if ${&Rx;} =~ / \G \+ /cgx
1115 58 0 if (${&Rx;} =~ / \G ([A-Za-z_]\w*) /cgx)
1136 30 28 if (my $spec = $alpha_assert{$name})
1138 0 30 unless ${&Rx;} =~ / \G : /cgx
1142 20 10 if defined $dir
1148 10 18 if (${&Rx;} =~ / \G : ([^)]*) /cgx)
1151 0 28 unless ${&Rx;} =~ / \G \) /cgx
1156 0 28 unless ($known_verb{$name})