Condition Coverage

lib/Data/Identifier.pm
Criterion Covered Total %
condition 77 223 34.5


and 2 conditions

line l !l condition
435 14 0 $uri =~ /^urn:isbn:([0-9Xx-]+)\z/u and scalar eval { do { require Business::ISBN; 1 } }

and 3 conditions

line !l l&&!r l&&r condition
332 99 1120 128 not ref $type and $type eq "from"
395 99 266 968 not ref $type and $type eq "ise"
402 949 0 7 not defined $type and $id eq "8be115d2-dc2f-4a98-91e1-a6e3075cbc31"
457 0 0 2 scalar @path_segments == 3 and $path_segments[0] eq ""
530 0 0 0 $type ne "ise" and $type ne "uuid"
565 68 1043 7589 not $opts{'no_defaults'} and defined $self->{'id_cache'}
1111 7583 6 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'8be115d2-dc2f-4a98-91e1-a6e3075cbc31'}
574 24 0 9 defined $self->{'id_cache'} and defined $self->{'id_cache'}{'8be115d2-dc2f-4a98-91e1-a6e3075cbc31'}
585 0 346 745 not $opts{'no_defaults'} and defined $self->{'id_cache'}
346 210 535 not $opts{'no_defaults'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'d08dc905-bbf6-4183-b219-67723c3c8374'}
605 1 13 1078 not $opts{'no_defaults'} || defined $opts{'style'} and defined $self->{'id_cache'}
14 551 527 not $opts{'no_defaults'} || defined $opts{'style'} and defined $self->{'id_cache'} and defined $self->{'id_cache'}{'a8d1637d-af19-49e9-9ef8-6bc1fbcf6439'}
616 0 1 546 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"
639 12 443 639 defined $self->{'id_cache'} and defined $self->{'id_cache'}{'f87a38cb-fd13-4e15-866c-e49901adbec5'}
673 6 0 124 $as eq "raw" and defined $opts{'rawtype'}
675 124 0 6 ref $as and eval { do { $as->isa(__PACKAGE__) } }
689 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}
692 0 0 3 defined $self->{'id_cache'} and defined $self->{'id_cache'}{$type_uuid}
698 3 0 124 $as =~ /^[A-Z]/u || $as =~ /::/u and eval { do { $self->isa($as) } }
712 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")
769 0 0 0 defined $val and $val->is_valid
781 0 78 4 defined $e and not scalar eval { do { $e->isa(__PACKAGE__) } }
805 0 0 0 defined $e and not scalar eval { do { $e->isa(__PACKAGE__) } }
825 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
946 0 0 1 defined $displayname and length $displayname
966 0 0 0 defined $value and length $value
978 0 0 0 defined $value and length $value
990 0 0 0 defined $value and length $value

or 2 conditions

line l !l condition
432 1220 105 $well_known{'uri'} // 0
444 0 0 $self->{'id_cache'} //= {}
465 1325 0 $well_known_uuid // 0
99 0 $well_known{'oid'} // 0
520 0 0 $opts{'type'} // "uuid"
613 1 552 $opts{'style'} //= "urn"
924 4336 0 $self->can($type_name) || (next)
925 3857 479 $self->$f("default", undef) // (next)
930 2997 0 $self->{'id_cache'}{$extra} // (next)
1050 0 9 $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); }
349 0 0 0 $opts{'description'} //= sub { return $from->attribute("description", "default", undef); }
350 0 0 0 $opts{'displaycolour'} //= sub { return $from->attribute("displaycolour", "default", undef); }
351 0 0 0 $opts{'icontext'} //= sub { return $from->attribute("icon_text", "default", undef); }
356 0 0 0 $opts{'displayname'} //= $id->displayname("default", undef, "no_defaults", 1)
357 0 0 0 $opts{'displaycolour'} //= $id
361 0 0 0 $opts{'displayname'} //= sub { $from->displayname; }
445 0 0 0 $self->{'id_cache'}{'a8d1637d-af19-49e9-9ef8-6bc1fbcf6439'} //= $uri
454 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
458 1 1 0 $uuid_org_to_uuid{$path_segments[1]} // $path_segments[1]
492 0 246 3 $self->{$key} //= $opts{$key}
605 0 1 1091 $opts{'no_defaults'} || defined $opts{'style'}
627 1 0 0 $uuid_to_uriid_org{$type_uuid} // $type_uuid
657 143 0 0 $type == $well_known{'uuid'} or $type == $well_known{'oid'}
143 0 0 $type == $well_known{'uuid'} or $type == $well_known{'oid'} or $type == $well_known{'uri'}
661 0 0 0 $self->uuid(%opts) // $self->oid(%opts)
0 0 0 ($self->uuid(%opts) // $self->oid(%opts)) // $self->uri(%opts)
698 124 0 3 $as =~ /^[A-Z]/u || $as =~ /::/u
702 0 0 0 $opts{$_} //= $self->so_get($_, "default", undef)
707 0 0 0 $opts{$_} //= $so->so_get($_, "default", undef)
712 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"
1076 1 0 0 $class eq "registered" or $class eq ":all"