Branch Coverage

blib/lib/RDF/aREF/Decoder.pm
Criterion Covered Total %
branch 104 142 73.2


line true false branch
53 0 87 if (blessed $callback and $callback->isa('RDF::Trine::Model'))
60 0 0 if $@
76 6 61 ref $$self{'ns'} ? :
79 4 63 if (ref $map)
80 3 1 if (ref $map eq 'HASH') { }
82 0 3 if $prefix eq '_'
83 1 2 if (not $prefix =~ /^[a-z][a-z0-9]*$/) { }
1 1 elsif (not $namespace =~ /^[a-z][a-z0-9+.-]*:/) { }
102 67 0 unless ($options{'keep_bnode_map'})
109 15 49 if (exists $$map{'_id'}) { }
113 2 13 if $self->is_null($id, '_id')
115 13 0 $id ne '' ? :
116 13 0 if (defined $subject and $subject ne '') { }
0 0 elsif ($$self{'strict'}) { }
124 52 0 if $_ ne '_'
125 2 48 if $self->is_null($key, 'subject')
128 4 44 unless ($subject)
134 0 44 if (exists $$predicates{'_id'} and ($self->resource($$predicates{'_id'}) // '') ne $subject) { }
149 15 57 if $_ eq '_id' or $_ eq '_ns'
151 0 56 unless my $predicate = do { if ($_ eq 'a') { 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'; } elsif ($_ =~ /^<(.+)>$/) { $self->iri($1); } elsif ($_ =~ /^([a-z][a-z0-9]*)_([A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}0-9\N{U+00B7}\N{U+0300}\N{U+036F}\N{U+203F}-\N{U+2040}-][A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}]*)$/) { $self->prefixed_name($1, $2); } elsif ($_ =~ /^[a-z][a-z0-9+.-]*:/) { $self->iri($_); } else { $self->error("invalid predicate IRI $_") if $_ ne '' or $$self{'strict'}; next; } }
152 18 39 if ($_ eq 'a') { }
20 19 elsif ($_ =~ /^<(.+)>$/) { }
16 3 elsif ($_ =~ /^([a-z][a-z0-9]*)_([A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}0-9\N{U+00B7}\N{U+0300}\N{U+036F}\N{U+203F}-\N{U+2040}-][A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}]*)$/) { }
2 1 elsif ($_ =~ /^[a-z][a-z0-9+.-]*:/) { }
161 1 0 if $_ ne '' or $$self{'strict'}
170 4 52 ref $value eq 'ARRAY' ? :
171 5 54 if ($self->is_null($o, 'object')) { }
48 6 elsif (not ref $o) { }
4 2 elsif (ref $o eq 'HASH') { }
174 48 0 if (my $object = $self->object($o))
179 2 2 exists $$o{'_id'} ? :
185 4 0 unless (ref $object and $$self{'visited'}{refaddr $object})
198 10 115 if (not defined $value or defined $$self{'null'} and $value eq $$self{'null'}) { }
199 1 9 if ($check and $$self{'strict'})
210 15 0 if (my $resource = $self->resource($r)) { }
213 0 0 unless ($self->is_null($r, $expect))
214 0 0 ref $r ? :
224 0 53 unless defined $r
226 16 37 if ($r =~ /^<(.+)>$/) { }
2 35 elsif ($r =~ /^_:([a-zA-Z0-9]+)$/) { }
0 35 elsif ($r =~ /^([a-z][a-z0-9]*)_([A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}0-9\N{U+00B7}\N{U+0300}\N{U+036F}\N{U+203F}-\N{U+2040}-][A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}]*)$/) { }
32 3 elsif ($r =~ /^[a-z][a-z0-9+.-]*:/) { }
242 0 48 unless defined $s
244 42 6 if ($s =~ /^[a-z][a-z0-9+.-]*:/) { }
1 5 elsif ($s =~ /^([a-z][a-z0-9]*)_([A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}0-9\N{U+00B7}\N{U+0300}\N{U+036F}\N{U+203F}-\N{U+2040}-][A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}]*)$/) { }
1 4 elsif ($s =~ /^_:([a-zA-Z0-9]+)$/) { }
258 0 113 if (not defined $o) { }
6 107 elsif ($o =~ /^<(.+)>$/) { }
1 106 elsif ($o =~ /^_:([a-zA-Z0-9]+)$/) { }
16 90 elsif ($o =~ /^([a-z][a-z0-9]*)_([A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}0-9\N{U+00B7}\N{U+0300}\N{U+036F}\N{U+203F}-\N{U+2040}-][A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}]*)$/) { }
21 69 elsif ($o =~ /^(.*)@([a-z]{2,8}(-[a-z0-9]{1,8})*)$/) { }
22 47 elsif ($o =~ /^(.*)[\@]$/) { }
13 34 elsif ($o =~ /^(.*?)[\^]\n ((([a-z][a-z0-9]*)?_([A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}0-9\N{U+00B7}\N{U+0300}\N{U+036F}\N{U+203F}-\N{U+2040}-][A-Z_a-z\N{U+00C0}-\N{U+00D6}\N{U+00D8}-\N{U+00F6}\N{U+00F8}-\N{U+02FF}\N{U+0370}-\N{U+037D}\N{U+037F}-\N{U+1FFF}\N{U+200C}-\N{U+200D}\N{U+2070}-\N{U+218F}\N{U+2C00}-\N{U+2FEF}\N{U+3001}-\N{U+D7FF}\N{U+F900}-\N{U+FDCF}\N{U+FDF0}-\N{U+FFFD}\N{U+10000}-\N{U+EFFFF}]*))|<([a-z][a-z0-9+.-]*:.*)>)$/) { }
25 9 elsif ($o =~ /^[a-z][a-z0-9+.-]*:/) { }
271 5 8 if ($6) { }
273 2 3 if ($datatype eq 'http://www.w3.org/2001/XMLSchema#string') { }
280 3 5 if ($datatype eq 'http://www.w3.org/2001/XMLSchema#string') { }
296 2 4 if @$obj == 1
303 0 195 if (not $iri =~ /^[a-z][a-z0-9+.-]*:/) { }
312 0 0 $prefix // !1 ? :
321 1 51 ref $_[0] ? :
324 5 47 if ref $object[0]
333 4 7 if (defined $value)
334 0 4 ref $value ? :
337 0 11 if (not $$self{'complain'}) { }
0 11 elsif ($$self{'complain'} == 1) { }
347 0 0 if @_ > 1
356 4 2 if (defined $id) { }
380 0 0 substr($_[0], 0, 2) eq '_:' ? :
381 0 0 if (@_ == 3) { }
382 0 0 if (substr($_[2], 0, 2) eq '_:') { }