| line | % | coverage | branch |
| 17 | 100 | T | F | unless $$self{'type'} eq $type |
| 19 | 100 | T | F | if defined $content and $$self{'content'} ne $content |
| 27 | 100 | T | F | if $$self{'type'} eq 'Number' |
| 28 | 100 | T | F | if $$self{'type'} eq 'Literal' |
| 29 | 100 | T | F | if $$self{'type'} eq 'Operator' |
| 40 | 100 | T | F | if $$self{'absolute'} |
| 41 | 100 | T | F | if defined $$self{'content'} |
| 42 | 100 | T | F | if defined $$self{'axis'} |
| 55 | 100 | T | F | if $context->is_error |
| 58 | 100 | T | F | if ($$self{'type'} eq 'LocationPath') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'Step') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'NameTest') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'NodeTypeTest') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'Predicate') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'Number') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'FunctionCall') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'FunctionArg') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'EqualityExpr' or $$self{'type'} eq 'RelationalExpr') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'Literal') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'UnionExpr') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'MultiplicativeExpr') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'OrExpr' or $$self{'type'} eq 'AndExpr') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'AdditiveExpr') { } |
| 100 | T | F | elsif ($$self{'type'} eq 'UnaryExpr') { } |
| 64 | 100 | T | F | if ($$self{'absolute'}) { } |
| 68 | 50 | T | F | if $ret->is_error |
| 74 | 50 | T | F | unless ($step->match('Step')) |
| 80 | 50 | T | F | if $ret->is_error |
| 98 | 50 | T | F | unless ($step->match('AxisSpecifier') or $step->match('NameTest') or $step->match('Predicate') or $step->match('NodeTypeTest')) |
| 105 | 50 | T | F | if $ret->is_error |
| 113 | 100 | T | F | if $$self{'content'} eq '*' |
| 115 | 50 | T | F | if ($$self{'content'} =~ /:\*$/) |
| 119 | 50 | T | F | if ($$context{'type'} eq 'nodeset') |
| 124 | 100 | T | F | if ($$tag{'type'} eq 'element' and $$tag{'name'} eq $$self{'content'}) |
| 128 | 100 | T | F | if ($$tag{'type'} eq 'attribute' and $$tag{'name'} eq $$self{'content'}) |
| 141 | 50 | T | F | if ($$self{'content'} eq 'node') |
| 142 | 50 | T | F | if ($$context{'type'} eq 'nodeset') { } |
| 168 | 100 | T | F | if ($$ret{'type'} eq 'boolean') { } |
| 100 | T | F | elsif ($$ret{'type'} eq 'number') { } |
| 50 | T | F | elsif ($$ret{'type'} eq 'nodeset') { } |
| 0 | T | F | elsif ($$ret{'type'} eq 'Error') { } |
| 170 | 100 | T | F | if ($$ret{'value'}) |
| 176 | 100 | T | F | if ($$ret{'value'} == $$child{'proximity_position'}) |
| 182 | 100 | T | F | if (scalar @{$$ret{'value'};}) |
| 208 | 50 | T | F | if (not defined $handler or not defined $$handler[0]) |
| 220 | 50 | T | F | if $out->is_error |
| 241 | 100 | T | F | if ($sig =~ /\+$/) |
| 242 | 100 | T | F | if ($sig =~ /\?$/) |
| 249 | 100 | T | F | if ($repeat) { } |
| 256 | 100 | T | F | unless (defined $in_args[$position]) |
| 257 | 100 | T | F | if ($count == 1) |
| 265 | 50 | T | F | if (defined $value) { } |
| 266 | 50 | T | F | if $value->is_error |
| 270 | 0 | T | F | if ($count == 1) |
| 279 | 100 | T | F | unless (defined $in_args[$position]) |
| 280 | 50 | T | F | if ($optional) { } |
| 290 | 50 | T | F | if (defined $value) { } |
| 292 | 50 | T | F | if $value->is_error |
| 306 | 50 | T | F | unless 1 == scalar @{$$self{'tokens'};} |
| 316 | 50 | T | F | if $v1->is_error |
| 317 | 50 | T | F | if $v2->is_error |
| 319 | 50 | T | F | if ($$v1{'type'} gt $$v2{'type'}) |
| 324 | 100 | T | F | if ($t eq 'nodeset/string') |
| 329 | 50 | T | F | if $v1_s->is_error |
| 332 | 50 | T | F | if $ok->is_error |
| 334 | 100 | T | F | if $$ok{'value'} |
| 340 | 100 | T | F | if ($t eq 'string/string') |
| 345 | 50 | T | F | if ($t eq 'number/number') |
| 362 | 50 | T | F | if $a1->is_error |
| 363 | 50 | T | F | if $a2->is_error |
| 379 | 50 | T | F | if $a1->is_error |
| 380 | 50 | T | F | if $a2->is_error |
| 383 | 100 | T | F | if $$self{'content'} eq '*' |
| 384 | 100 | T | F | if $$self{'content'} eq 'mod' |
| 385 | 100 | T | F | if $$self{'content'} eq 'div' |
| 394 | 50 | T | F | if $a1->is_error |
| 395 | 50 | T | F | if $a2->is_error |
| 397 | 50 | T | F | if $$self{'type'} eq 'OrExpr' |
| 398 | 0 | T | F | if $$self{'type'} eq 'AndExpr' |
| 405 | 50 | T | F | if $a1->is_error |
| 406 | 50 | T | F | if $a2->is_error |
| 409 | 100 | T | F | if $$self{'content'} eq '+' |
| 410 | 100 | T | F | if $$self{'content'} eq '-' |
| 418 | 50 | T | F | if $a1->is_error |
| 434 | 100 | T | F | if $type eq 'string' |
| 435 | 100 | T | F | if $type eq 'number' |
| 436 | 100 | T | F | if $type eq 'nodeset' |
| 437 | 100 | T | F | if $type eq 'boolean' |
| 438 | 100 | T | F | if $type eq 'any' |
| 447 | 50 | T | F | unless defined $token |
| 450 | 50 | T | F | if $out->is_error |
| 498 | 50 | T | F | if defined $$function_map{$function} |
| 523 | 50 | T | F | unless (defined $value) |
| 525 | 0 | T | F | if $value->get_error |
| 541 | 50 | T | F | if $$subject{'type'} eq 'nodeset' |
| 569 | 50 | T | F | unless (defined $value) |
| 571 | 0 | T | F | if $value->is_error |
| 581 | 50 | T | F | if $node->is_error |
| 584 | 50 | T | F | unless defined $node |
| 595 | 50 | T | F | if $val < 0 |
| 606 | 50 | T | F | if $val < 0 |
| 614 | 50 | T | F | unless ($$self{'context'}{'type'} eq 'node' or $$self{'context'}{'type'} eq 'nodeset') |
| 622 | 100 | T | F | if ($$obj{'type'} eq 'nodeset') { } |
| 634 | 50 | T | F | unless length $ids |
| 646 | 50 | T | F | if ($$self{'context'}{'type'} eq 'nodeset') |
| 649 | 50 | T | F | if ($$self{'context'}{'type'} eq 'node') |
| 669 | 100 | T | F | if ($$node{'type'} eq 'element' and length $$node{'uid'}) |
| 672 | 100 | T | F | if ($id eq $$node{'uid'}) |
| 684 | 100 | T | F | if ($$node{'type'} eq 'element' or $$node{'type'} eq 'root') |
| 705 | 50 | T | F | if $$node{'type'} eq 'Error' |
| 706 | 50 | T | F | unless defined $node |
| 710 | 100 | T | F | if defined $name |
| 719 | 50 | T | F | if $$node{'type'} eq 'Error' |
| 720 | 50 | T | F | unless defined $node |
| 724 | 50 | T | F | if defined $name |
| 733 | 50 | T | F | if $$node{'type'} eq 'Error' |
| 734 | 50 | T | F | unless defined $node |
| 738 | 100 | T | F | if defined $name |
| 750 | 100 | T | F | unless (defined $$args[0]) |
| 752 | 100 | T | F | if $$self{'context'}{'type'} eq 'node' |
| 753 | 50 | T | F | if $$self{'context'}{'type'} eq 'nodeset' |
| 763 | 50 | T | F | if $$args[0]{'type'} eq 'node' |
| 765 | 50 | T | F | if ($$args[0]{'type'} eq 'nodeset') |
| 772 | 100 | T | F | if ($$node{'order'} < $min) |
| 793 | 100 | T | F | unless (defined $$args[0]) |
| 795 | 50 | T | F | if $$self{'context'}{'type'} eq 'node' |
| 796 | 50 | T | F | if $$self{'context'}{'type'} eq 'nodeset' |
| 801 | 100 | T | F | if ($$args[0]{'type'} eq 'number') |
| 806 | 100 | T | F | if ($$args[0]{'type'} eq 'string') |
| 811 | 100 | T | F | if ($$args[0]{'type'} eq 'node' or $$args[0]{'type'} eq 'nodeset') |
| 814 | 50 | T | F | if $$node{'type'} eq 'Error' |
| 816 | 50 | T | F | if ($$node{'type'} eq 'element') { } |
| 823 | 50 | T | F | if ($$args[0]{'type'} eq 'boolean') |
| 825 | 100 | T | F | $$args[0]{'value'} ? : |
| 845 | 100 | T | F | if ($idx == -1) |
| 857 | 100 | T | F | if ($idx == -1) |
| 872 | 100 | T | F | if $t == $value |
| 879 | 100 | T | F | if ($$a1{'type'} eq 'string') |
| 880 | 100 | T | F | $$a1{'value'} eq $$a2{'value'} ? : |
| 50 | T | F | if ($op eq '=') |
| 881 | 0 | T | F | $$a1{'value'} ne $$a2{'value'} ? : |
| 0 | T | F | if ($op eq '!=') |
| 882 | 0 | T | F | $$a1{'value'} ge $$a2{'value'} ? : |
| 0 | T | F | if ($op eq '>=') |
| 883 | 0 | T | F | $$a1{'value'} le $$a2{'value'} ? : |
| 0 | T | F | if ($op eq '<=') |
| 884 | 0 | T | F | $$a1{'value'} gt $$a2{'value'} ? : |
| 0 | T | F | if ($op eq '>') |
| 885 | 0 | T | F | $$a1{'value'} lt $$a2{'value'} ? : |
| 0 | T | F | if ($op eq '<') |
| 888 | 50 | T | F | if ($$a1{'type'} eq 'number') |
| 889 | 100 | T | F | $$a1{'value'} == $$a2{'value'} ? : |
| 100 | T | F | if ($op eq '=') |
| 890 | 50 | T | F | $$a1{'value'} != $$a2{'value'} ? : |
| 100 | T | F | if ($op eq '!=') |
| 891 | 0 | T | F | $$a1{'value'} >= $$a2{'value'} ? : |
| 50 | T | F | if ($op eq '>=') |
| 892 | 0 | T | F | $$a1{'value'} <= $$a2{'value'} ? : |
| 50 | T | F | if ($op eq '<=') |
| 893 | 100 | T | F | $$a1{'value'} > $$a2{'value'} ? : |
| 100 | T | F | if ($op eq '>') |
| 894 | 100 | T | F | $$a1{'value'} < $$a2{'value'} ? : |
| 50 | T | F | if ($op eq '<') |
| 917 | 100 | T | F | if ($$node{'type'} eq 'element' or $$node{'type'} eq 'root') |
| 926 | 100 | T | F | if ($$child{'type'} eq 'element') |
| 929 | 100 | T | F | if ($$child{'type'} eq 'text') |
| 936 | 50 | T | F | if ($$node{'type'} eq 'attribute') |
| 946 | 50 | T | F | if ($$node{'type'} eq 'namespace') |
| 966 | 50 | T | F | if ($$node{'type'} eq 'text') |
| 985 | 100 | T | F | if ($$node{'type'} eq 'element') |
| 988 | 50 | T | F | defined $$node{'local_name'} ? : |
| 994 | 50 | T | F | if ($$node{'type'} eq 'root') |