Condition Coverage

lib/Changes/Release.pm
Criterion Covered Total %
condition 73 262 27.8


and 2 conditions

line l !l condition
164 1 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
167 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
190 3 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
193 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
207 3 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
210 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
438 218 160 not exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'} and scalar @_
480 3 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
483 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL

and 3 conditions

line !l l&&!r l&&r condition
64 1 0 0 scalar @_ == 1 and $self->_is_a($_[0], "Changes::Change")
87 2 0 2 scalar @_ == 1 and $self->_is_a($_[0], "Changes::Group")
96 0 0 2 defined $name and length "$name"
111 1 0 1 $elements->length and not $self->_is_a($last, "Changes::NewLine")
123 44 0 3 exists $self->{'_reset'} and defined $self->{'_reset'}
0 0 3 exists $self->{'_reset'} and defined $self->{'_reset'} and length $self->{'_reset'}
128 42 0 2 exists $self->{'_cache_value'} and defined $self->{'_cache_value'}
42 0 2 exists $self->{'_cache_value'} and defined $self->{'_cache_value'} and length $self->{'_cache_value'}
0 0 42 defined $self->{'raw'} and length "$self->{'raw'}"
155 0 0 3 defined $v and length "$v"
158 2 0 1 defined $code and ref $code eq "CODE"
160 1 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
164 1 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
167 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 1 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"
169 0 0 3 defined $dt and length "$dt"
175 0 3 0 defined $fmt_pattern and $fmt_pattern eq "default"
177 3 0 0 not defined $fmt_pattern && length "$fmt_pattern" || $dt->formatter and defined $Changes::Release::DEFAULT_DATETIME_FORMAT
3 0 0 not defined $fmt_pattern && length "$fmt_pattern" || $dt->formatter and defined $Changes::Release::DEFAULT_DATETIME_FORMAT and length "$Changes::Release::DEFAULT_DATETIME_FORMAT"
186 3 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
190 3 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
193 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 3 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"
195 0 0 3 defined $fmt_pattern and length "$fmt_pattern"
198 3 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
207 3 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
210 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 3 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"
315 0 0 0 defined $name and length "$name"
392 0 2 2 not defined $$opts{"group_$opt"} and exists $$def{"group_$opt"}
2 0 2 not defined $$opts{"group_$opt"} and exists $$def{"group_$opt"} and defined $$def{"group_$opt"}
2 0 2 not defined $$opts{"group_$opt"} and exists $$def{"group_$opt"} and defined $$def{"group_$opt"} and length $$def{"group_$opt"}
438 0 0 218 exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'}
474 3 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
480 3 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
483 0 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
0 3 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
76 1 0 $self->new_change(%$opts) || (return $self->pass_error)
100 1 0 $_->name // ""
106 2 0 $self->new_group(%$opts) || (return $self->pass_error)
113 1 0 $self->nl // "\n"
122 2 45 $self->{'_cache_value'} // ""
42 5 $self->{'raw'} // ""
214 1 2 $self->spacer // " "
3 0 $nl // ""
287 0 0 $_[0] // ""
342 44 0 $self->{'_reset'} // ""
376 1 0 'Changes::Change'->new($opts) || (return $self->pass_error('Changes::Change'->error))
402 2 0 'Changes::Group'->new($opts) || (return $self->pass_error('Changes::Group'->error))
411 1 0 'Changes::NewLine'->new(@_) || (return $self->pass_error('Changes::NewLine'->error))
420 0 0 'Changes::Version'->new(@_) || (return $self->pass_error('Changes::Version'->error))

or 3 conditions

line l !l&&r !l&&!r condition
167 1 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
0 0 1 !&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"
177 3 0 0 defined $fmt_pattern && length "$fmt_pattern" || $dt->formatter
193 3 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
0 0 3 !&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"
210 3 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
0 0 3 !&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"
373 0 2 0 $opts->{$opt} //= $defaults->{$opt}
400 0 2 0 $opts->{'defaults'} //= $def
483 3 0 0 defined $Nice::Try::WANTARRAY || defined $Nice::Try::BREAK && $Nice::Try::BREAK eq 'return'
0 0 3 !&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"