Condition Coverage

lib/Changes/Version.pm
Criterion Covered Total %
condition 145 397 36.5


and 2 conditions

line l !l condition
270 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
273 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
307 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
310 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
419 2267 242 not exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'} and scalar @_
437 73 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
440 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
815 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
818 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL

and 3 conditions

line !l l&&!r l&&r condition
116 132 0 0 @_ == 1 and ref $_[0] ne "HASH"
0 0 132 @_ > 1 and ref $_[0] ne "HASH"
0 132 0 @_ > 1 and ref $_[0] ne "HASH" and @_ % 2 || ref $_[1] eq 'HASH'
120 0 0 42 defined $vstr and length "$vstr"
123 0 40 2 exists $opts->{'debug'} and defined $opts->{'debug'}
40 0 2 exists $opts->{'debug'} and defined $opts->{'debug'} and length "$opts->{'debug'}"
151 192 0 117 exists $self->{'_reset'} and defined $self->{'_reset'}
0 0 117 exists $self->{'_reset'} and defined $self->{'_reset'} and length $self->{'_reset'}
156 124 0 68 exists $self->{'_cache_value'} and defined $self->{'_cache_value'}
124 0 68 exists $self->{'_cache_value'} and defined $self->{'_cache_value'} and length $self->{'_cache_value'}
0 0 124 defined $self->{'original'} and length "$self->{'original'}"
170 54 58 5 defined $type and $type eq "dotted"
58 0 54 not defined $type and $Changes::Version::DEFAULT_TYPE eq "dotted"
178 56 0 2 not $self->padded and index($str, "_") == -1
183 52 1 3 $self->pretty and index($str, "_") == -1
53 0 3 $self->pretty and index($str, "_") == -1 and not length([split(/\./, $str, 0)]->[1]) % 3
249 60 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
270 60 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
273 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 54 6 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return' and !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
60 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__NEXT__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__LAST__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__REDO__"
0 0 0 defined $Nice::Try::BREAK and $Nice::Try::BREAK eq "return"
282 59 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
294 35 0 23 defined $alpha and length "$alpha"
295 35 0 23 defined $alpha && length "$alpha"
307 59 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
310 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 57 2 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return' and !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
59 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__NEXT__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__LAST__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__REDO__"
0 0 0 defined $Nice::Try::BREAK and $Nice::Try::BREAK eq "return"
321 0 0 89 defined $str and length "$str"
327 79 0 10 defined $re->{'dotted'} and length $re->{'dotted'}
0 0 79 defined $re->{'decimal'} and length $re->{'decimal'}
340 83 0 6 defined $re->{'has_v'} and length $re->{'has_v'}
342 87 0 2 defined $re->{'alpha'} and length $re->{'alpha'}
363 78 0 1 defined $def->{'alpha'} and length $def->{'alpha'} < 3
78 0 1 defined $def->{'alpha'} and length $def->{'alpha'} < 3 and not $self->compat
381 0 0 79 defined $re2->{'dotted'} and length $re2->{'dotted'}
419 0 0 2267 exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'}
432 73 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
437 73 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
440 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 73 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return' and !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__NEXT__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__LAST__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__REDO__"
0 0 0 defined $Nice::Try::BREAK and $Nice::Try::BREAK eq "return"
480 0 0 84 defined $frag && length $frag
490 63 0 0 $frag_is_int and $frag == 1
42 0 0 $frag_is_int and $frag == 2
21 0 0 $frag_is_int and $frag == 3
518 0 0 0 defined $extra->[$i] && length $extra->[$i]
0 0 0 $i < $offset and not defined $extra->[$i] && length $extra->[$i]
597 96 0 0 $frag_is_int and exists $map->{$frag}
680 0 0 4 defined $frag && length "$frag"
688 4 0 0 defined $unit and not $unit =~ /^\d+$/
701 4 0 0 $frag_is_int and exists $map->{$frag}
708 4 0 0 $frag_is_int and $frag - 4 > $extra->size
4 0 0 defined $unit and $unit == 1
754 0 0 190 defined $def->{'major'} and length $def->{'major'}
757 0 0 94 defined $def->{'minor'} and length "$def->{'minor'}"
758 0 0 94 defined $def->{'patch'} and length "$def->{'patch'}"
764 0 0 96 defined $def->{'minor'} && length "$def->{'minor'}"
96 0 0 not defined $def->{'minor'} && length "$def->{'minor'}" and defined $def->{'alpha'}
96 0 0 not defined $def->{'minor'} && length "$def->{'minor'}" and defined $def->{'alpha'} and length "$def->{'alpha'}"
776 96 0 94 defined $def->{'alpha'} and length $def->{'alpha'}
787 0 0 80 defined $self and "Module::Generic"->_is_a($self, "Changes::Version")
0 0 80 defined $self and "Module::Generic"->_is_a($self, "Changes::Version") and eval {
0 0 80 defined $self and "Module::Generic"->_is_a($self, "Changes::Version") and eval {
803 0 0 80 exists $self->{'_version'} && defined $self->{'_version'}
811 0 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
815 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
818 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return' and !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__NEXT__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__LAST__"
0 0 0 defined $Nice::Try::RETVAL[0] and $Nice::Try::RETVAL[0] eq "__REDO__"
0 0 0 defined $Nice::Try::BREAK and $Nice::Try::BREAK eq "return"

or 2 conditions

line l !l condition
155 68 124 $self->{'_cache_value'} // ""
0 192 $self->{'raw'} // ""
247 59 1 $opts->{'raw'} //= 0
280 58 1 $opts->{'raw'} //= 0
292 23 35 $alpha // ""
504 0 21 $self->{'alpha'} // ""
575 96 0 $self->default_frag // "minor"
576 96 0 $self->default_frag // "undef"
80 16 $other // ""
64 32 $swap // ""
0 96 $nomethod // ""
0 96 $bitwise // ""
600 96 0 $self->can($map->{$frag} // $frag) || die('Cannot find code reference for method ', $frag_is_int ? $map->{$frag} : $frag)
676 4 0 shift @_ || (return $self->error('No op was provided.'))
704 4 0 $self->can($map->{$frag} // $frag) || die('Cannot find code reference for method ', $frag_is_int ? $map->{$frag} : $frag)
755 96 0 $type // ""
96 0 $type // ""

or 3 conditions

line l !l&&r !l&&!r condition
116 42 0 90 @_ % 2 || ref $_[1] eq 'HASH'
0 0 132 @_ == 1 and ref $_[0] ne "HASH" or @_ > 1 and ref $_[0] ne "HASH" and @_ % 2 || ref $_[1] eq 'HASH'
170 5 54 58 defined $type and $type eq "dotted" or not defined $type and $Changes::Version::DEFAULT_TYPE eq "dotted"
273 60 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
59 1 0 !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 60 0 not defined $Nice::Try::BREAK or $Nice::Try::BREAK eq "return"
310 59 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
58 1 0 !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 59 0 not defined $Nice::Try::BREAK or $Nice::Try::BREAK eq "return"
440 73 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
0 0 73 !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 not defined $Nice::Try::BREAK or $Nice::Try::BREAK eq "return"
490 21 0 63 $frag eq "major" or $frag_is_int and $frag == 1
21 0 42 $frag eq "minor" or $frag_is_int and $frag == 2
21 0 21 $frag eq "patch" or $frag_is_int and $frag == 3
518 0 0 0 $i < $offset and not defined $extra->[$i] && length $extra->[$i] or $i > $offset
578 0 0 96 not defined $opts or ref $opts ne "HASH"
0 0 96 not defined $opts or ref $opts ne "HASH" or not exists $opts->{'op'}
0 0 96 not defined $opts or ref $opts ne "HASH" or not exists $opts->{'op'} or not defined $opts->{'op'}
0 0 96 not defined $opts or ref $opts ne "HASH" or not exists $opts->{'op'} or not defined $opts->{'op'} or not length $opts->{'op'}
597 0 96 0 $frag_is_int and exists $map->{$frag} or not $frag_is_int
619 8 8 80 $opts->{'op'} eq "++" or $opts->{'op'} eq "--"
647 8 8 64 $op eq "++" or $op eq "--"
701 0 4 0 $frag_is_int and exists $map->{$frag} or not $frag_is_int
755 94 0 96 $self->qv or ($type // "") eq "dotted"
770 567 0 3 length $def->{$_} or $ok
818 0 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
0 0 0 !&Scalar::Util::blessed($Nice::Try::RETVAL[0]) || &Scalar::Util::blessed($Nice::Try::RETVAL[0]) && !$Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 not defined $Nice::Try::BREAK or $Nice::Try::BREAK eq "return"