Branch Coverage

blib/lib/RDF/Query/Parser/SPARQL.pm
Criterion Covered Total %
branch 187 264 70.8


line true false branch
124 0 88 if ($baseuri)
166 0 7 if ($baseuri)
208 0 0 if ($baseuri)
284 0 6344 unless (length $self->{'tokens'})
292 5758 586 if (&blessed($thing) and $thing->isa('Regexp')) { }
0 586 elsif (&looks_like_number($thing)) { }
293 5758 0 if ($self->{'tokens'} =~ /^($thing)/)
305 586 0 if (substr($self->{'tokens'}, 0, length $thing) eq $thing) { }
323 0 0 if ($sub =~ /::_([A-Z]\w*)$/)
330 0 0 if ($l->is_debug)
339 4103 5838 if (&blessed($thing) and $thing->isa('Regexp')) { }
340 1584 2519 if ($self->{'tokens'} =~ /^$thing/) { }
346 288 5550 if (substr($self->{'tokens'}, 0, length $thing) eq $thing) { }
356 81 7189 unless (length $self->{'tokens'})
360 4035 3154 if ($self->{'tokens'} =~ /^[\t\r\n #]/) { }
370 0 4225 if ($self->_test('#')) { }
379 1822 1235 if ($self->_ws_test)
395 0 235 if (defined $build->{'base'}) { }
405 10 198 if (my $graph = $self->{'named_graph'}) { }
421 71 17 if ($self->_test(qr/SELECT/i)) { }
4 13 elsif ($self->_test(qr/CONSTRUCT/i)) { }
4 9 elsif ($self->_test(qr/DESCRIBE/i)) { }
8 1 elsif ($self->_test(qr/ASK/i)) { }
431 0 1 if ($l->is_debug)
438 0 87 if ($remaining =~ /\S/)
455 0 88 if ($self->_test(qr/BASE/i))
472 3 152 if ($ns eq '')
478 0 155 if (@base)
488 0 88 if defined $base
501 10 61 if ($self->{'tokens'} =~ /^(DISTINCT|REDUCED)/i)
514 1 70 if ($star)
523 7 64 if ($self->{'build'}{'options'}{'orderby'})
538 1 70 if ($self->_test('*')) { }
593 0 4 if ($self->_test('*')) { }
610 3 1 if ($self->_WhereClause_test)
643 16 6 if ($self->_test(qr/NAMED/i)) { }
683 77 9 if ($self->_test(qr/WHERE/i))
697 7 72 if ($self->_OrderClause_test)
702 8 71 if ($self->_LimitOffsetClauses_test)
715 6 2 if ($self->_LimitClause_test) { }
718 1 5 if ($self->_OffsetClause_test)
724 0 2 if ($self->_LimitClause_test)
757 0 7 if $self->_test(qr/ASC|DESC|[?\$]/i)
758 0 7 if $self->_Constraint_test
765 2 5 if ($self->_test(qr/ASC|DESC/i)) { }
5 0 elsif ($self->_test(qr/[?\$]/)) { }
816 99 16 if ($self->_TriplesBlock_test)
825 20 25 if ($self->_GraphPatternNotTriples_test) { }
25 0 elsif ($self->_test(qr/FILTER/i)) { }
840 26 19 if ($need_dot or $self->_test('.'))
842 26 0 if ($got_pattern) { }
851 2 43 if ($self->_TriplesBlock_test)
853 0 2 if (&blessed($peek) and $peek->isa('RDF::Query::Algebra::BasicGraphPattern')) { }
866 0 45 unless $self->_test(qr/\S/)
869 0 45 if ($pos == $new) { }
894 8 12 if ($class eq 'RDF::Query::Algebra::Optional') { }
2 10 elsif ($class eq 'RDF::Query::Algebra::Union') { }
10 0 elsif ($class eq 'RDF::Query::Algebra::NamedGraph') { }
0 0 elsif ($class eq 'RDF::Query::Algebra::GroupGraphPattern') { }
899 0 8 unless ($ggp)
942 0 90 if ($got_dot)
948 44 46 if ($self->_TriplesBlock_test)
964 8 12 if ($self->_OptionalGraphPattern_test) { }
2 10 elsif ($self->_GroupOrUnionGraphPattern_test) { }
1023 2 0 if ($self->_test(qr/UNION/i)) { }
1053 0 7 if $self->_test(qr/[(]/)
1054 0 7 if $self->_BuiltInCall_test
1055 0 7 if $self->_FunctionCall_test
1061 18 7 if ($self->_BrackettedExpression_test) { }
6 1 elsif ($self->_BuiltInCall_test) { }
1100 12 0 unless ($self->_test(')'))
1121 4 0 if ($self->_ConstructTriples_test)
1144 0 0 if ($self->_ConstructTriples_test)
1154 4 145 if ($self->_TriplesNode_test) { }
1194 45 0 if ($self->_Verb_test)
1209 0 4 if ($self->_Verb_test)
1247 41 152 if ($self->_test(qr/a[\n\t\r <]/)) { }
1265 2 3 if ($self->_test(qr/\(/)) { }
1342 1 199 if ($self->_TriplesNode_test) { }
1352 0 0 if $self->_test(qr/[\$?]/)
1353 0 0 if $self->_test(qr/[<'".0-9]|(true|false)\b|_:|\([\n\r\t ]*\)/)
1359 250 94 if ($self->{'tokens'} =~ /^[?\$]/) { }
1374 20 146 if ($self->{'tokens'} =~ /^[?\$]/) { }
1384 426 0 $self->_test($r_VAR1) ? :
1391 0 94 if ($self->_test(qr/(true|false)\b/)) { }
0 94 elsif ($self->_test('(')) { }
2 92 elsif ($self->_test($r_ANON) or $self->_test('_:')) { }
0 92 elsif ($self->_test(qr/[-+]?\d/)) { }
46 46 elsif ($self->_test(qr/['"]/)) { }
1428 1 67 if (scalar @list > 1) { }
1433 0 68 if scalar @{$self->{'stack'};} == 0
1443 0 69 if scalar @list > 1
1453 0 69 if (scalar @list > 1) { }
1472 13 56 if ($self->_test(qr/[!<>]?=|[<>]/))
1473 0 13 if ($self->_test($r_IRI_REF))
1478 9 4 if $op eq '='
1529 0 84 if ($self->_test('!')) { }
0 84 elsif ($self->_test('+')) { }
4 80 elsif ($self->_test('-')) { }
1543 0 0 if (&blessed($expr) and $expr->isa('RDF::Trine::Node::Literal') and $expr->is_numeric_type) { }
1557 4 0 if (&blessed($expr) and $expr->isa('RDF::Trine::Node::Literal') and $expr->is_numeric_type) { }
1574 0 84 if ($self->_BrackettedExpression_test) { }
15 69 elsif ($self->_BuiltInCall_test) { }
13 56 elsif ($self->_IRIref_test) { }
25 31 elsif ($self->_test(qr/[\$?]/)) { }
0 31 elsif ($self->_test(qr/(true|false)\b/)) { }
8 23 elsif ($self->_test(qr/[-+]?\d/)) { }
1614 6 15 if ($self->_RegexExpression_test) { }
1622 13 2 if ($op =~ /^(STR|LANG|DATATYPE|isIRI|isURI|isBLANK|isLITERAL)$/i) { }
1 1 elsif ($op =~ /^(LANGMATCHES|sameTerm)$/i) { }
1670 0 6 if ($self->_test(','))
1693 11 2 if ($self->_ArgList_test)
1707 1 68 if ($self->_test('@')) { }
7 61 elsif ($self->_test('^^')) { }
1728 0 8 if ($self->_test('+')) { }
0 8 elsif ($self->_test('-')) { }
1738 0 8 if ($self->_test($r_DOUBLE)) { }
4 4 elsif ($self->_test($r_DECIMAL)) { }
1752 0 8 if ($sign)
1769 0 69 if ($self->_test($r_STRING_LITERAL_LONG1)) { }
0 69 elsif ($self->_test($r_STRING_LITERAL_LONG2)) { }
1 68 elsif ($self->_test($r_STRING_LITERAL1)) { }
1801 28 207 if ($self->_test($r_IRI_REF)) { }
1813 207 0 if ($self->_test($r_PNAME_LN)) { }
1816 3 204 if ($ns eq '')
1820 0 207 unless (exists $self->{'namespaces'}{$ns})
1828 0 0 if ($ns eq ':') { }
1834 0 0 unless (exists $self->{'namespaces'}{$ns})
1846 2 0 if ($self->_test($r_BLANK_NODE_LABEL)) { }
1872 10 61 if ($self->{'build'}{'options'}{'distinct'})
1879 3 68 if (exists $self->{'build'}{'options'}{'offset'})
1886 6 65 if (exists $self->{'build'}{'options'}{'limit'})