Condition Coverage

lib/Data/Identifier.pm
Criterion Covered Total %
condition 75 195 38.4


and 3 conditions

line !l l&&!r l&&r condition
332 99 1059 85 not ref $type and $type eq "from"
391 99 205 931 not ref $type and $type eq "ise"
398 916 0 7 not defined $type and $id eq "8be115d2-dc2f-4a98-91e1-a6e3075cbc31"
448 0 0 2 scalar @path_segments == 3 and $path_segments[0] eq ""
521 0 0 0 $type ne "ise" and $type ne "uuid"
556 55 963 7147 not $opts{'no_defaults'} and defined $self->{'id_cache'}
1018 7143 4 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'8be115d2-dc2f-4a98-91e1-a6e3075cbc31'}
565 16 0 7 defined $self->{'id_cache'} and defined $self->{'id_cache'}{'8be115d2-dc2f-4a98-91e1-a6e3075cbc31'}
576 0 307 730 not $opts{'no_defaults'} and defined $self->{'id_cache'}
307 208 522 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'d08dc905-bbf6-4183-b219-67723c3c8374'}
596 1 9 1028 not $opts{'no_defaults'} || defined $opts{'style'} and defined $self->{'id_cache'}
10 506 522 not $opts{'no_defaults'} || defined $opts{'style'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'a8d1637d-af19-49e9-9ef8-6bc1fbcf6439'}
607 0 1 503 defined(my $uuid = $self->uuid("default", undef)) and $opts{'style'} eq "urn"
0 0 1 $enabled_oid and defined(my $oid = $self->oid("default", undef))
0 1 0 $enabled_oid and defined(my $oid = $self->oid("default", undef)) and $opts{'style'} eq "urn"
630 8 397 635 defined $self->{'id_cache'} and defined $self->{'id_cache'}{'f87a38cb-fd13-4e15-866c-e49901adbec5'}
664 6 0 124 $as eq "raw" and defined $opts{'rawtype'}
666 124 0 6 ref $as and eval { do { $as->isa(__PACKAGE__) } }
680 3 0 0 not $opts{'no_defaults'} and defined $self->{'id_cache'}
3 0 0 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{$type_uuid}
683 0 0 3 defined $self->{'id_cache'} and defined $self->{'id_cache'}{$type_uuid}
689 3 0 124 $as =~ /^[A-Z]/u || $as =~ /::/u and eval { do { $self->isa($as) } }
703 0 0 0 $as eq "Data::URIID::Result" and defined $opts{'extractor'}
0 0 0 $as eq "Data::URIID::Service" and defined $opts{'extractor'}
0 0 0 $as eq "SIRTX::Datecode" and eval { do { require SIRTX::Datecode; "SIRTX::Datecode"->VERSION(v0.03); 1 } }
0 0 0 $as eq "Data::URIID::Colour" and eval { do { require Data::URIID; require Data::URIID::Colour; "Data::URIID::Colour"->VERSION(v0.14); 1 } }
0 0 0 $as eq "Data::TagDB::Tag" and defined $opts{'db'}
0 0 0 $as eq "File::FStore::File" and defined $opts{'store'}
0 0 0 $as eq "Business::ISBN" and $self->type->eq("gtin")
760 0 0 0 defined $val and $val->is_valid
772 0 78 4 defined $e and not scalar eval { do { $e->isa(__PACKAGE__) } }
796 0 0 0 defined $e and not scalar eval { do { $e->isa(__PACKAGE__) } }
816 0 0 0 my($sa, $sb) = $self_id =~ /^([^0-9]*)([0-9]+)\z/u and my($oa, $ob) = $other_id =~ /^([^0-9]*)([0-9]+)\z/u
928 0 0 0 defined $displayname and length $displayname

or 2 conditions

line l !l condition
428 1122 105 $well_known{'uri'} // 0
456 1227 0 $well_known_uuid // 0
92 0 $well_known{'oid'} // 0
511 0 0 $opts{'type'} // "uuid"
604 1 507 $opts{'style'} //= "urn"
906 4120 0 $self->can($type_name) || (next)
907 3699 421 $self->$f("default", undef) // (next)
912 2887 0 $self->{'id_cache'}{$extra} // (next)
999 0 7 $self->{'id_cache'} //= {}

or 3 conditions

line l !l&&r !l&&!r condition
335 0 0 0 $id->isa("Data::URIID::Base") or $id->isa("Data::URIID::Colour")
0 0 0 $id->isa("Data::URIID::Base") or $id->isa("Data::URIID::Colour") or $id->isa("Data::URIID::Service")
0 0 0 $id->isa("File::FStore::File") or $id->isa("File::FStore::Adder")
0 0 0 $id->isa("File::FStore::File") or $id->isa("File::FStore::Adder") or $id->isa("File::FStore::Base")
0 0 0 $id->isa("JSON::PP::Boolean") or $id->isa("JSON::XS::Boolean")
348 0 0 0 $opts{'displayname'} //= sub { return $from->attribute("displayname", "default", undef); }
353 0 0 0 $opts{'displayname'} //= $id->displayname("default", undef, "no_defaults", 1)
357 0 0 0 $opts{'displayname'} //= sub { $from->displayname; }
445 1 1 0 defined $uuid_org_to_uuid{$ptype} or $ptype =~ /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}\z/u
449 1 1 0 $uuid_org_to_uuid{$path_segments[1]} // $path_segments[1]
483 0 197 3 $self->{$key} //= $opts{$key}
596 0 1 1037 $opts{'no_defaults'} || defined $opts{'style'}
618 1 0 0 $uuid_to_uriid_org{$type_uuid} // $type_uuid
648 22 0 0 $type == $well_known{'uuid'} or $type == $well_known{'oid'}
22 0 0 $type == $well_known{'uuid'} or $type == $well_known{'oid'} or $type == $well_known{'uri'}
652 0 0 0 $self->uuid(%opts) // $self->oid(%opts)
0 0 0 ($self->uuid(%opts) // $self->oid(%opts)) // $self->uri(%opts)
689 124 0 3 $as =~ /^[A-Z]/u || $as =~ /::/u
693 0 0 0 $opts{$_} //= $self->so_get($_, "default", undef)
698 0 0 0 $opts{$_} //= $so->so_get($_, "default", undef)
703 0 0 3 $as eq "uuid" or $as eq "oid"
0 0 3 $as eq "uuid" or $as eq "oid" or $as eq "uri"
0 3 0 $as eq "uuid" or $as eq "oid" or $as eq "uri" or $as eq "sid"
3 0 0 $as eq "uuid" or $as eq "oid" or $as eq "uri" or $as eq "sid" or $as eq "ise"
1025 1 0 0 $class eq "registered" or $class eq ":all"