Condition Coverage

lib/Data/Identifier.pm
Criterion Covered Total %
condition 74 192 38.5


and 3 conditions

line !l l&&!r l&&r condition
318 99 1023 97 not ref $type and $type eq "from"
374 99 197 923 not ref $type and $type eq "ise"
381 916 0 7 not defined $type and $id eq "8be115d2-dc2f-4a98-91e1-a6e3075cbc31"
431 0 0 2 scalar @path_segments == 3 and $path_segments[0] eq ""
502 0 0 0 $type ne "ise" and $type ne "uuid"
537 55 965 6812 not $opts{'no_defaults'} and defined $self->{'id_cache'}
1020 6812 0 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'8be115d2-dc2f-4a98-91e1-a6e3075cbc31'}
546 0 0 3 defined $self->{'id_cache'} and defined $self->{'id_cache'}{'8be115d2-dc2f-4a98-91e1-a6e3075cbc31'}
557 0 288 692 not $opts{'no_defaults'} and defined $self->{'id_cache'}
288 204 488 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'d08dc905-bbf6-4183-b219-67723c3c8374'}
577 1 1 979 not $opts{'no_defaults'} || defined $opts{'style'} and defined $self->{'id_cache'}
2 491 488 not $opts{'no_defaults'} || defined $opts{'style'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'a8d1637d-af19-49e9-9ef8-6bc1fbcf6439'}
588 0 1 492 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"
611 0 358 625 defined $self->{'id_cache'} and defined $self->{'id_cache'}{'f87a38cb-fd13-4e15-866c-e49901adbec5'}
645 6 0 122 $as eq "raw" and defined $opts{'rawtype'}
647 122 0 6 ref $as and eval { do { $as->isa(__PACKAGE__) } }
661 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}
664 0 0 3 defined $self->{'id_cache'} and defined $self->{'id_cache'}{$type_uuid}
670 3 0 122 $as =~ /^[A-Z]/u || $as =~ /::/u and eval { do { $self->isa($as) } }
684 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")
741 0 0 0 defined $val and $val->is_valid
753 0 78 4 defined $e and not scalar eval { do { $e->isa(__PACKAGE__) } }
777 0 0 0 defined $e and not scalar eval { do { $e->isa(__PACKAGE__) } }
797 0 0 0 my($sa, $sb) = $self_id =~ /^([^0-9]*)([0-9]+)$/u and my($oa, $ob) = $other_id =~ /^([^0-9]*)([0-9]+)$/u
892 0 0 13 defined $displayname and length $displayname

or 2 conditions

line l !l condition
411 1078 133 $well_known{'uri'} // 0
439 1211 0 $well_known_uuid // 0
80 0 $well_known{'oid'} // 0
492 0 0 $opts{'type'} // "uuid"
585 1 492 $opts{'style'} //= "urn"
870 3892 0 $self->can($type_name) || (next)
871 3534 358 $self->$f("default", undef) // (next)
876 154 819 $self->{'id_cache'}{$extra} // (next)
963 0 3 $self->{'id_cache'} //= {}

or 3 conditions

line l !l&&r !l&&!r condition
321 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")
334 0 0 0 $opts{'displayname'} //= sub { return $from->attribute("displayname", "default", undef); }
339 0 0 0 $opts{'displayname'} //= $id->displayname("default", undef, "no_defaults", 1)
343 0 0 0 $opts{'displayname'} //= sub { $from->displayname; }
428 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
432 1 1 0 $uuid_org_to_uuid{$path_segments[1]} // $path_segments[1]
466 0 225 3 $self->{$key} //= $opts{$key}
577 0 1 980 $opts{'no_defaults'} || defined $opts{'style'}
599 1 0 0 $uuid_to_uriid_org{$type_uuid} // $type_uuid
629 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'}
633 0 0 0 $self->uuid(%opts) // $self->oid(%opts)
0 0 0 ($self->uuid(%opts) // $self->oid(%opts)) // $self->uri(%opts)
670 122 0 3 $as =~ /^[A-Z]/u || $as =~ /::/u
674 0 0 0 $opts{$_} //= $self->so_get($_, "default", undef)
679 0 0 0 $opts{$_} //= $so->so_get($_, "default", undef)
684 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"
989 1 0 0 $class eq "registered" or $class eq ":all"