Branch Coverage

blib/lib/Data/ZPath/_Parser.pm
Criterion Covered Total %
branch 65 74 87.8


line true false branch
42 857 5342 if ($in_string)
44 0 857 if ($escape)
48 0 857 if ($c eq "\\")
49 104 753 if ($c eq "\"")
53 104 5238 if ($c eq "\"")
54 121 5117 if ($c eq "(")
55 121 4996 if ($c eq ")")
56 96 4900 if ($c eq "[")
57 96 4804 if ($c eq "]")
59 55 46 if ($c eq "," and $depth_paren == 0 and $depth_brack == 0)
68 376 0 if length _trim($buf)
104 7 665 if ($lx->peek_kind eq "QMARK")
121 6405 125 unless $ops->{$k}
178 8 797 if ($k eq "NOT" or $k eq "BNOT")
190 143 654 if ($k eq "NUMBER")
193 137 517 if ($k eq "STRING")
196 5 512 if ($k eq "LPAREN")
204 109 403 if ($k eq "NAME" and $lx->peek_kind_n(1) eq "LPAREN")
208 78 31 if ($lx->peek_kind ne "RPAREN")
229 132 271 if ($lx->peek_kind eq 'SLASH_PATH') { }
2 269 elsif ($lx->peek_kind eq 'LBRACK') { }
233 1 131 if ($lx->peek_kind eq "LBRACK")
237 0 122 if ($lx->peek_kind eq "EOF" or $lx->peek_kind eq "COMMA" or $lx->peek_kind eq "RPAREN" or $lx->peek_kind eq "RBRACK" or $lx->peek_kind eq "QMARK" or $lx->peek_kind eq "COLON" or $lx->peek_kind eq "EQEQ" or $lx->peek_kind eq "NEQ" or $lx->peek_kind eq "GE" or $lx->peek_kind eq "LE" or $lx->peek_kind eq "GT" or $lx->peek_kind eq "LT" or $lx->peek_kind eq "ANDAND" or $lx->peek_kind eq "OROR" or $lx->peek_kind eq "PLUS" or $lx->peek_kind eq "MINUS" or $lx->peek_kind eq "STAR" or $lx->peek_kind eq "SLASH" or $lx->peek_kind eq "PCT" or $lx->peek_kind eq "BAND" or $lx->peek_kind eq "BOR" or $lx->peek_kind eq "BXOR")
267 0 0 if $lx->peek_kind eq "EOF" or $lx->peek_kind eq "COMMA" or $lx->peek_kind eq "RPAREN" or $lx->peek_kind eq "RBRACK"
271 391 0 if ($lx->peek_kind ne "SLASH_PATH" and $lx->peek_kind ne "EOF" and $lx->peek_kind ne "COMMA" and $lx->peek_kind ne "RPAREN" and $lx->peek_kind ne "RBRACK")
281 1 270 if ($lx->peek_kind eq "LBRACK")
300 18 643 if ($k eq 'DOT') { }
11 632 elsif ($k eq 'DOTDOT') { }
2 630 elsif ($k eq 'DOTDOTSTAR') { }
44 586 elsif ($k eq 'STAR_PATH') { }
85 501 elsif ($k eq 'STARSTAR') { }
6 495 elsif ($k eq 'INDEX') { }
22 473 elsif ($k eq 'NUMBER') { }
7 466 elsif ($k eq 'NAME' and $lx->peek_kind_n(1) eq 'LPAREN') { }
466 0 elsif ($k eq 'NAME') { }
311 7 0 if ($lx->peek_kind ne "RPAREN")
327 1 660 if ($seg->{'k'} eq "name" and $lx->peek_kind eq "INDEX")