Condition Coverage

lib/Locale/Unicode.pm
Criterion Covered Total %
condition 127 384 33.0


and 2 conditions

line l !l condition
679 39 0 exists $result->{'t'} and ref $result->{'t'} eq "ARRAY" and scalar @{$result->{'t'};}
751 0 2 $ref = $base->variants and ref($ref // "") eq "ARRAY" and scalar @$ref
1319 0 2 $ref = $other->variants and scalar @$ref
1617 2521 210 not length($self->{'_reset'} // "") and scalar @_
3812 0 0 not length($self->{'_reset'} // "") and scalar @_

and 3 conditions

line !l l&&!r l&&r condition
493 89 0 0 scalar @args == 1 and defined $args[0]
89 0 0 scalar @args == 1 and defined $args[0] and ref $args[0] eq "HASH"
539 0 0 0 defined $val and $self->error
575 48 0 35 $self->{'_cache_value'} and not length($self->{'_reset'} // "")
663 17 0 0 exists $def->{'type'} and $def->{'type'} eq "boolean"
679 39 0 0 exists $result->{'t'} and ref $result->{'t'} eq "ARRAY"
715 2 0 0 builtin::blessed($base) and $base->isa("Locale::Unicode")
751 0 0 2 $ref = $base->variants and ref($ref // "") eq "ARRAY"
1302 0 0 2 builtin::blessed($other) and $other->isa("Locale::Unicode")
1312 0 66 6 exists $other->{$prop} and defined $other->{$prop}
1378 99 0 4 exists $re->{'root'} and defined $re->{'root'}
99 0 4 exists $re->{'root'} and defined $re->{'root'} and length $re->{'root'}
1387 965 0 168 exists $re->{$prop} and defined $re->{$prop}
965 0 168 exists $re->{$prop} and defined $re->{$prop} and length $re->{$prop}
1399 0 0 103 exists $re->{'locale_bcp47'} and defined $re->{'locale_bcp47'}
0 0 103 exists $re->{'locale_bcp47'} and defined $re->{'locale_bcp47'} and length $re->{'locale_bcp47'}
1408 87 0 16 exists $re->{'ext_transform'} and defined $re->{'ext_transform'}
87 0 16 exists $re->{'ext_transform'} and defined $re->{'ext_transform'} and length $re->{'ext_transform'}
87 0 0 exists $re->{'transform_options'} and defined $re->{'transform_options'}
87 0 0 exists $re->{'transform_options'} and defined $re->{'transform_options'} and length $re->{'transform_options'}
1416 0 0 16 exists $re->{'ext_transform'} and defined $re->{'ext_transform'}
0 0 0 exists $re->{'transform_options'} and defined $re->{'transform_options'}
1424 6 0 10 length $re->{'ext_transform'} > $offset and substr($re->{'ext_transform'}, $offset, 1) eq "-"
1457 94 0 9 exists $re->{'ext_unicode'} and defined $re->{'ext_unicode'}
94 0 9 exists $re->{'ext_unicode'} and defined $re->{'ext_unicode'} and length $re->{'ext_unicode'}
94 0 0 exists $re->{'collation_options'} and defined $re->{'collation_options'}
94 0 0 exists $re->{'collation_options'} and defined $re->{'collation_options'} and length $re->{'collation_options'}
1487 103 0 0 exists $re->{'extension'} and defined $re->{'extension'}
103 0 0 exists $re->{'extension'} and defined $re->{'extension'} and length $re->{'extension'}
1507 99 0 4 exists $re->{'private_extension'} and defined $re->{'private_extension'}
99 0 4 exists $re->{'private_extension'} and defined $re->{'private_extension'} and length $re->{'private_extension'}
1527 0 0 0 scalar @_ == 1 and ref $_[0] eq "HASH"
1533 0 0 0 scalar @_ > 1 and ref $_[-1] eq "HASH"
1540 0 0 0 not defined $err and exists $opts->{'error'}
0 0 0 not defined $err and exists $opts->{'error'} and defined $opts->{'error'}
0 0 0 not defined $err and exists $opts->{'error'} and defined $opts->{'error'} and length $opts->{'error'}
1542 0 0 0 exists $opts->{'class'} and defined $opts->{'class'}
0 0 0 exists $opts->{'class'} and defined $opts->{'class'} and length $opts->{'class'}
1543 0 0 0 exists $opts->{'code'} and defined $opts->{'code'}
0 0 0 exists $opts->{'code'} and defined $opts->{'code'} and length $opts->{'code'}
1548 0 0 0 not defined $err and !scalar(@_) || defined $class
0 0 0 defined $err and builtin::blessed($err)
0 0 0 defined $err and builtin::blessed($err) and scalar @_ == 1 || scalar @_ == 2 && defined $class
1569 0 0 0 defined $code and $self->{'error'}->can("code")
1571 0 0 0 defined ${"${class}::FATAL_EXCEPTIONS";} and ${"${class}::FATAL_EXCEPTIONS";}
1697 2 0 1 builtin::blessed($val) and $val->isa(ref $self || $self)
1731 0 0 1 defined $def->{'tz'} and length($def->{'tz'} // "")
1754 0 0 1 exists $def->{'alias'} and (ref $def->{'alias'} || '') eq "ARRAY"
1773 0 0 1 exists $Locale::Unicode::TZ_NAME2ID->{$name} and defined $Locale::Unicode::TZ_NAME2ID->{$name}
0 0 1 exists $Locale::Unicode::TZ_NAME2ID->{$name} and defined $Locale::Unicode::TZ_NAME2ID->{$name} and length($Locale::Unicode::TZ_NAME2ID->{$name} // "")
1818 850 0 344 exists $def->{'regexp'} and defined $def->{'regexp'}
850 0 344 exists $def->{'regexp'} and defined $def->{'regexp'} and ref $def->{'regexp'} eq "Regexp"
610 0 240 exists $def->{'type'} and defined $def->{'type'}
610 0 240 exists $def->{'type'} and defined $def->{'type'} and length $def->{'type'}
1830 1126 0 68 exists $def->{'isa'} and defined $def->{'isa'}
1126 0 68 exists $def->{'isa'} and defined $def->{'isa'} and length $def->{'isa'}
1836 652 0 542 exists $def->{'on_update'} and defined $def->{'on_update'}
652 0 542 exists $def->{'on_update'} and defined $def->{'on_update'} and ref $def->{'on_update'} eq "CODE"
1846 3 0 201 defined $val and length $val
1849 197 4 0 defined $re and not $val =~ /^$re$/
201 0 0 defined $type and $type eq "boolean"
1881 0 12 0 builtin::blessed($val) and not $val->isa($isa)
1911 104 0 88 scalar @_ == 1 and defined $_[0]
104 0 88 scalar @_ == 1 and defined $_[0] and (ref $_[0] || '') eq "HASH"
3569 0 0 0 $serialiser eq "Sereal" and "Sereal::Encoder"->VERSION <= "version"->parse("4.023")
3583 0 0 0 scalar @args == 1 && ref $args[0] eq 'ARRAY'
3584 0 0 0 defined $ref && ref $ref eq 'ARRAY' && scalar @$ref > 1
3659 0 0 0 $serialiser eq "Sereal" and "Sereal::Encoder"->VERSION <= "version"->parse("4.023")
3674 0 0 0 scalar @args == 1 and ref $args[0] eq "ARRAY"
3730 0 0 0 ref $_[0] and $_[0]->isa("Locale::Unicode::Exception")
3770 0 0 0 $self->{'_cache_value'} and not length($self->{'_reset'} // "")
3799 0 0 0 defined $file and defined $line
3865 0 0 0 $serialiser eq "Sereal" and "Sereal::Encoder"->VERSION <= "version"->parse("4.023")
3879 0 0 0 scalar @args == 1 && ref $args[0] eq 'ARRAY'
3880 0 0 0 defined $ref && ref $ref eq 'ARRAY' && scalar @$ref > 1

or 2 conditions

line l !l condition
420 89 0 shift @_ || (return $self->error('No locale was provided.'))
439 0 89 $Locale::Unicode::FATAL_EXCEPTIONS // 0
522 89 0 $self->parse($locale) || (return $self->pass_error)
575 0 35 $self->{'_reset'} // ""
656 36 0 $self->can($meth) || die("Unknown method '${meth}' for $type subtag '${tag}'")
718 2 0 'Locale::Unicode'->new("$base") || (return $self->pass_error)
751 2 0 $ref // ""
863 0 0 $self->new("$self") || (return $self->pass_error)
1270 1200 0 shift @_ || (return $self->error('No language was provided.'))
1305 0 0 'Locale::Unicode'->new("$other") || (return $self->pass_error('Locale::Unicode'->error))
1367 104 0 shift @_ || (return $self->error('No language string was provided.'))
1419 16 0 $self->new($re->{'ext_transform_locale'}) || (return $self->pass_error)
1446 0 0 $info->{$n} // "undef"
0 0 $v // "undef"
1476 0 0 $info->{$n} // "undef"
0 0 $v // "undef"
1617 2521 210 $self->{'_reset'} // ""
1700 2 0 $self->new($val) || (return $self->pass_error)
1729 1 0 shift @_ || (return $self->error('No CLDR timezone ID was provided.'))
1730 1 0 $self->tz_info($id) || (return '')
1731 1 0 $def->{'tz'} // ""
1743 1 0 shift @_ || (return $self->error('No CLDR timezone ID was provided.'))
1754 1 0 ref $def->{'alias'} || ''
1761 3 0 shift @_ || (return $self->error('No CLDR timezone ID was provided.'))
1772 1 0 shift @_ || (return $self->error('No CLDR timezone ID was provided.'))
1773 1 0 $Locale::Unicode::TZ_NAME2ID->{$name} // ""
1811 2860 0 shift @_ || (return $self->error('No field was provided.'))
1817 1194 0 $def->{'field'} || die(q[No 'field' property was provided in the field dictionary hash reference.])
1911 88 0 ref $_[0] || ''
3564 0 0 shift @_ // ""
3655 0 0 shift @_ // ""
3730 1 0 ref $_[0] || ''
3738 1 0 $args->{'message'} ||= ""
3770 0 0 $self->{'_reset'} // ""
3774 0 0 $self->{'package'} // "undef"
0 0 $self->{'line'} // "undef"
0 0 $self->{'file'} // "undef"
3812 0 0 $self->{'_reset'} // ""
3852 0 0 shift @_ || die('No object property was provided.')
3860 0 0 shift @_ // ""

or 3 conditions

line l !l&&r !l&&!r condition
419 11 78 0 ref $this || $this
517 73 0 16 index($locale, "-") != -1 or index($locale, "_") != -1
555 9 5 172 $prop eq "transform_ext" or $prop eq "unicode_ext"
562 0 0 0 ref $self || $self
820 3 0 0 $lang = $self->language or $lang3 = $self->language3
1097 2 2 61 $self->_set_get_prop('grandfathered_irregular') || $self->_set_get_prop('grandfathered_regular')
1244 4 0 0 $self->language || $self->language3
1408 16 0 87 exists $re->{'ext_transform'} and defined $re->{'ext_transform'} and length $re->{'ext_transform'} or exists $re->{'transform_options'} and defined $re->{'transform_options'} and length $re->{'transform_options'}
1457 9 0 94 exists $re->{'ext_unicode'} and defined $re->{'ext_unicode'} and length $re->{'ext_unicode'} or exists $re->{'collation_options'} and defined $re->{'collation_options'} and length $re->{'collation_options'}
1468 9 0 0 $re->{'ext_unicode'} // '-' . $re->{'collation_options'}
1519 0 0 0 ref $self || $self
1548 0 0 0 !scalar(@_) || defined $class
0 0 0 scalar @_ == 1 || scalar @_ == 2 && defined $class
1571 0 0 0 $self->{'fatal'} or defined ${"${class}::FATAL_EXCEPTIONS";} and ${"${class}::FATAL_EXCEPTIONS";}
1680 8 0 3 $self->country_code || $self->region
1697 1 0 0 ref $self || $self
1881 0 0 12 not builtin::blessed($val) or builtin::blessed($val) and not $val->isa($isa)
3584 0 0 0 ref $self || $self
3627 0 0 0 ref $this || $this
3680 0 0 0 ref $self || $self
3724 0 1 0 ref $this || $this
3880 0 0 0 ref $self || $self
3922 0 0 0 ref $this || $this