Branch Coverage

blib/lib/HTML/Selector/XPath.pm
Criterion Covered Total %
branch 112 128 87.5


line true false branch
46 0 0 if @_
53 2 28 if ($op eq '!=') { }
3 25 elsif ($op eq '~=') { }
6 19 elsif ($op eq '*=') { }
3 16 elsif ($op eq '|=') { }
4 12 elsif ($op eq '^=') { }
2 10 elsif ($op eq '$=') { }
73 32 16 if ($a == 0) { }
11 5 elsif ($a > 0) { }
86 15 17 if (@_ == 1)
94 7 4 if (@_ == 1)
107 1 24 if ($$rrule =~ s/^odd\s*\)//) { }
1 23 elsif ($$rrule =~ s/^even\s*\)//) { }
9 14 elsif ($$rrule =~ s/^\s*(-?\d+)\s*\)//) { }
14 0 elsif ($$rrule =~ s/^\s*(-?\d*)\s*n\s*(?:\+\s*(\d+))?\s*\)//) { }
115 3 11 if ($A eq '-') { }
1 10 elsif ($A eq '') { }
131 1 189 if $rule =~ m[^/]
144 0 291 unless length $rule
148 1 290 if ($rule =~ /$reg->{'combinator'}/)
153 291 0 if ($rule =~ s/$reg->{'element'}//)
157 0 291 if (@next_parts)
162 243 48 $id_class eq '' ? :
164 12 279 if (defined $parms{'prefix'} and not $tag =~ /[*:|]/)
168 250 41 unless ($wrote_tag++)
173 21 270 if ($id_class eq '#') { }
27 243 elsif ($id_class eq '.') { }
181 23 268 if ($rule =~ s/$reg->{'attr2'}//) { }
6 262 elsif ($rule =~ s/$reg->{'attr1'}//) { }
14 248 elsif ($rule =~ /$reg->{'badattr'}/) { }
185 0 6 unless ($wrote_tag++)
194 14 263 if ($rule =~ s/$reg->{'attrN'}//)
197 7 7 if ($rule =~ s/$reg->{'attr2'}//) { }
1 6 elsif ($rule =~ s/$reg->{'attr1'}//) { }
0 6 elsif ($rule =~ /$reg->{'badattr'}/) { }
211 0 14 unless $rule =~ s/^\s*\)//
217 3 81 if (my(@expr) = $self->parse_pseudo($1, \$rule)) { }
1 80 elsif ($1 eq 'disabled') { }
1 79 elsif ($1 eq 'checked') { }
1 78 elsif ($1 eq 'selected') { }
0 78 elsif ($1 eq 'text') { }
13 65 elsif ($1 eq 'first-child') { }
5 60 elsif ($1 eq 'last-child') { }
2 58 elsif ($1 eq 'only-child') { }
11 47 elsif ($1 =~ /^lang\($/) { }
17 30 elsif ($1 =~ /^nth-child\(\s*$/) { }
4 26 elsif ($1 =~ /^nth-last-child\(\s*$/) { }
1 25 elsif ($1 =~ /^first-of-type\s*$/) { }
4 21 elsif ($1 =~ /^nth-of-type\(\s*$/) { }
2 19 elsif ($1 =~ /^last-of-type$/) { }
13 6 elsif ($1 =~ /^contains\($/) { }
3 3 elsif ($1 eq 'root') { }
3 0 elsif ($1 eq 'empty') { }
235 0 11 unless $rule =~ s/\s*([\w\-]+)\s*\)//
259 11 2 if ($rule =~ s/^\s*"([^"]*)"\s*\)//) { }
2 0 elsif ($rule =~ s/^\s*'([^']*)'\s*\)//) { }
278 53 224 if ($rule =~ s/$reg->{'combinator'}//)
280 13 40 if ($match =~ />/) { }
5 35 elsif ($match =~ /\+/) { }
11 24 elsif ($match =~ /\~/) { }
24 0 elsif ($match =~ /^\s*$/) { }
297 8 269 if ($rule =~ s/$reg->{'comma'}//)
308 0 184 unless my $rule = $self->{'expression'}
312 0 170 if $leftover