Branch Coverage

blib/lib/Attean.pm
Criterion Covered Total %
branch 80 98 81.6


line true false branch
91 2 136 if (scalar @_)
93 0 2 unless $args{'parsers'}
95 0 2 unless $class->get_parser($p)
97 2 0 unless $args{'serializers'}
99 0 0 unless $class->get_serializer($s)
101 2 0 unless $args{'stores'}
103 0 0 unless $class->get_store($s)
156 49 21 if (scalar @_ == 1)
159 32 17 if $p
163 17 0 if $p
169 20 1 if (my $method = $method{$type}) { }
171 17 3 if $type eq "filename"
172 3 17 if $type eq "media_type"
174 145 0 if (can_load("modules", {$p, 0}))
175 16 129 unless $p->does($role)
177 20 109 if &any(sub {
206 175 15 if (scalar @_ == 1)
209 164 11 if $p
213 11 0 if $p
220 14 1 if (my $method = $method{$type}) { }
222 12 2 if $type eq "filename"
223 2 12 if $type eq "media_type"
225 73 0 if (can_load("modules", {$p, 0}))
226 10 63 unless $p->can("does") and $p->does($role)
228 14 49 if &any(sub {
250 0 192 unless can_load("modules", {$class, 0})
251 177 15 if $class->can("does") and $class->does($role)
268 272 1624 if (lc substr($p, -(length($name) + 2)) eq lc "::$name")
269 0 272 unless (can_load("modules", {$p, 0}))
275 0 196 unless ($p->does($_))
314 3 6 if (ref $restrict and ref $restrict eq 'ARRAY') { }
316 3 1 if (my $sclass = $serializer_names{lc $_})
326 40 95 unless $sclasses{$sclass}
330 14 81 if ($type eq 'application/n-triples') { }
20 61 elsif ($type eq 'text/plain') { }
336 0 61 if $type =~ m[/x-]u
337 24 37 if $type =~ m[^application/(?!rdf[+]xml)]u
355 2 5 if (defined $stype and $custom_thunks{$stype})
361 5 2 if (defined $stype and my $sclasses = $media_types{$stype}) { }
394 1 5 if (defined $handles and not $handles =~ /::/u)
398 2 4 if (defined $prefer and not $prefer =~ /::/u)
400 2 0 unless $prefer =~ /Parser$/u
405 20 40 if (defined $handles)
407 0 20 unless $type->can("role")
409 12 8 unless Role::Tiny::does_role($handles, $role)
412 30 18 if (defined $prefer)
413 20 10 unless $pclass->does($prefer)
417 11 17 if ($pclass->does('Attean::API::PullParser')) { }
5 12 elsif ($pclass->does('Attean::API::AtOnceParser')) { }