Branch Coverage

blib/lib/RDF/Trine/Node/Literal.pm
Criterion Covered Total %
branch 107 204 52.4


line true false branch
32 0 68 'RDF::Trine::Node::Literal::XML'->can('new') ? :
34 0 68 'RDF::Trine::Node::Formula'->can('new') ? :
64 0 2360 unless (defined $literal)
68 167 2193 if (&blessed($dt) and $dt->isa('RDF::Trine::Node::Resource'))
72 25 2335 if ($dt and $canon)
76 0 2360 if ($USE_XMLLITERALS and defined $dt and $dt eq 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral') { }
0 2360 elsif ($USE_FORMULAE and defined $dt and $dt eq 'RDF::Trine::Node::Formula'->literal_datatype) { }
92 1 2359 if ($lang and $dt)
96 89 2270 if ($lang) { }
372 1898 elsif ($dt) { }
112 0 372 if (&blessed($dt))
131 1 11863 if (@_)
181 342 5953 if (defined(my $lang = $self->literal_value_language)) { }
1553 4400 elsif (defined(my $dt = $self->literal_datatype)) { }
199 789 2581 if (defined(my $dt = $self->literal_datatype)) { }
200 2381 elsif (defined(my $lang = $self->literal_value_language)) { }
218 22 627 if (defined(my $lang = $self->literal_value_language)) { }
162 465 elsif (defined(my $dt = $self->literal_datatype)) { }
245 540 28 defined $self->literal_value_language ? :
256 46 62 defined $self->literal_datatype ? :
268 6 11 unless &blessed($node) and $node->isa('RDF::Trine::Node::Literal')
269 1 10 unless $self->literal_value eq $node->literal_value
270 4 6 if ($self->literal_datatype or $node->literal_datatype)
272 1 3 unless $self->literal_datatype eq $node->literal_datatype
274 3 6 if ($self->literal_value_language or $node->literal_value_language)
276 1 2 unless $self->literal_value_language eq $node->literal_value_language
285 144 0 if ($a->literal_value ne $b->literal_value)
290 0 0 if ($a->has_language and $b->has_language)
294 0 0 if ($a->has_datatype and $b->has_datatype) { }
0 0 elsif ($a->has_datatype) { }
0 0 elsif ($b->has_datatype) { }
317 5 583 if (defined $dt)
340 9 31 if ($dt eq 'http://www.w3.org/2001/XMLSchema#integer') { }
5 26 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#decimal') { }
8 18 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#float') { }
8 10 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#double') { }
10 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#boolean') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#dateTime') { }
341 9 0 if ($value =~ /^([-+])?(\d+)$/) { }
344 4 5 if $sign eq '+'
348 0 0 if $warn
351 5 0 if ($value =~ /^([-+])?((\d+)([.]\d*)?)$/) { }
0 0 elsif ($value =~ /^([-+])?([.]\d+)$/) { }
356 4 1 if $sign eq '+'
359 1 4 if ($num =~ /^[.]/)
362 0 5 unless ($num =~ /[.]/)
369 0 0 if $sign eq '+'
373 0 0 if $warn
377 8 0 if ($value =~ /^(?:([-+])?(?:(\d+(?:\.\d*)?|\.\d+)([Ee][-+]?\d+)?|(INF)))|(NaN)$/) { }
382 2 6 if $sign eq '+'
383 2 6 if $inf
384 1 5 if $nan
400 0 0 if $warn
407 8 0 if ($value =~ /^(?:([-+])?(?:(\d+(?:\.\d*)?|\.\d+)([Ee][-+]?\d+)?|(INF)))|(NaN)$/) { }
412 2 6 if $sign eq '+'
413 2 6 if $inf
414 1 5 if $nan
430 0 0 if $warn
437 10 0 if ($value =~ /^(true|false|0|1)$/) { }
438 4 6 if $value eq '1'
439 4 6 if $value eq '0'
442 0 0 if $warn
445 0 0 if ($value =~ /^-?([1-9]\d{3,}|0\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T(([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0\d|1[0-3]):[0-5]\d|14:00))?$/) { }
449 0 0 if $warn
464 0 24 unless ($dt =~ qr"^http://www.w3.org/2001/XMLSchema#(integer|decimal|float|double|boolean|dateTime|non(Positive|Negative)Integer|(positive|negative)Integer|long|int|short|byte|unsigned(Long|Int|Short|Byte))")
468 18 6 if ($dt =~ m[http://www.w3.org/2001/XMLSchema#(integer|non(Positive|Negative)Integer|(positive|negative)Integer|long|int|short|byte|unsigned(Long|Int|Short|Byte))]) { }
3 3 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#decimal') { }
0 3 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#float') { }
3 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#double') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#boolean') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#dateTime') { }
469 17 1 if ($value =~ /^([-+])?(\d+)$/) { }
475 1 2 if ($value =~ /^([-+])?((\d+)[.]\d+)$/) { }
1 1 elsif ($value =~ /^([-+])?([.]\d+)$/) { }
483 0 0 if ($value =~ /^[-+]?(\d+\.\d*|\.\d+)([Ee][-+]?\d+)?|[-+]?INF|NaN$/) { }
0 0 elsif ($value =~ /^[-+]?(\d+(\.\d*)?|\.\d+)([Ee][-+]?\d+)|[-+]?INF|NaN$/) { }
491 1 2 if ($value =~ /^[-+]?((\d+(\.\d*))|(\.\d+))([Ee][-+]?\d+)?|[-+]?INF|NaN$/) { }
1 1 elsif ($value =~ /^[-+]?((\d+(\.\d*)?)|(\.\d+))([Ee][-+]?\d+)|[-+]?INF|NaN$/) { }
499 0 0 if ($value =~ /^(true|false)$/) { }
505 0 0 if ($value =~ /^-?([1-9]\d{3,}|0\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T(([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0\d|1[0-3]):[0-5]\d|14:00))?$/) { }
527 0 5 unless ($dt =~ qr"^http://www.w3.org/2001/XMLSchema#(integer|decimal|float|double|boolean|dateTime|non(Positive|Negative)Integer|(positive|negative)Integer|long|int|short|byte|unsigned(Long|Int|Short|Byte))")
531 5 0 if ($dt =~ m[http://www.w3.org/2001/XMLSchema#(integer|non(Positive|Negative)Integer|(positive|negative)Integer|long|int|short|byte|unsigned(Long|Int|Short|Byte))]) { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#decimal') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#float') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#double') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#boolean') { }
0 0 elsif ($dt eq 'http://www.w3.org/2001/XMLSchema#dateTime') { }
532 3 2 if ($value =~ /^([-+])?(\d+)$/) { }
538 0 0 if ($value =~ /^([-+])?((\d+)([.]\d*)?)$/) { }
0 0 elsif ($value =~ /^([-+])?([.]\d+)$/) { }
546 0 0 if ($value =~ /^[-+]?(\d+(\.\d*)?|\.\d+)([Ee][-+]?\d+)?|[-+]?INF|NaN$/) { }
552 0 0 if ($value =~ /^[-+]?((\d+(\.\d*)?)|(\.\d+))([Ee][-+]?\d+)?|[-+]?INF|NaN$/) { }
558 0 0 if ($value =~ /^(true|false|0|1)$/) { }
564 0 0 if ($value =~ /^-?([1-9]\d{3,}|0\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T(([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0\d|1[0-3]):[0-5]\d|14:00))?$/) { }
581 0 0 unless $self->has_datatype
583 0 0 if ($type =~ qr"^http://www.w3.org/2001/XMLSchema#(integer|decimal|float|double|non(Positive|Negative)Integer|(positive|negative)Integer|long|int|short|byte|unsigned(Long|Int|Short|Byte))") { }
598 0 0 if ($self->is_numeric_type) { }
0 0 elsif (not $self->has_datatype) { }
0 0 elsif ($self->literal_datatype eq 'http://www.w3.org/2001/XMLSchema#boolean') { }
600 0 0 if (&looks_like_number($value)) { }
607 0 0 if (&looks_like_number(scalar $self->literal_value)) { }
613 0 0 $self->literal_value eq 'true' ? :