Condition Coverage

lib/Changes/Release.pm
Criterion Covered Total %
condition 44 96 45.8


and 2 conditions

line l !l condition
432 218 160 not exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'} and scalar @_

and 3 conditions

line !l l&&!r l&&r condition
63 1 0 0 scalar @_ == 1 and $self->_is_a($_[0], "Changes::Change")
86 2 0 2 scalar @_ == 1 and $self->_is_a($_[0], "Changes::Group")
95 0 0 2 defined $name and length "$name"
110 1 0 1 $elements->length and not $self->_is_a($last, "Changes::NewLine")
121 44 0 3 exists $self->{'_reset'} and defined $self->{'_reset'}
0 0 3 exists $self->{'_reset'} and defined $self->{'_reset'} and length $self->{'_reset'}
126 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'}"
151 0 0 3 defined $v and length "$v"
154 2 0 1 defined $code and ref $code eq "CODE"
167 0 0 3 defined $dt and length "$dt"
173 0 3 0 defined $fmt_pattern and $fmt_pattern eq "default"
175 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"
195 0 0 3 defined $fmt_pattern and length "$fmt_pattern"
310 0 0 0 defined $name and length "$name"
386 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"}
432 0 0 218 exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'}

or 2 conditions

line l !l condition
75 1 0 $self->new_change(%$opts) || (return $self->pass_error)
99 1 0 $_->name // ""
105 2 0 $self->new_group(%$opts) || (return $self->pass_error)
112 1 0 $self->nl // "\n"
216 1 2 $self->spacer // " "
3 0 $nl // ""
283 0 0 $_[0] // ""
370 1 0 'Changes::Change'->new($opts) || (return $self->pass_error('Changes::Change'->error))
396 2 0 'Changes::Group'->new($opts) || (return $self->pass_error('Changes::Group'->error))
405 1 0 'Changes::NewLine'->new(@_) || (return $self->pass_error('Changes::NewLine'->error))
414 0 0 'Changes::Version'->new(@_) || (return $self->pass_error('Changes::Version'->error))

or 3 conditions

line l !l&&r !l&&!r condition
175 3 0 0 defined $fmt_pattern && length "$fmt_pattern" || $dt->formatter
367 0 2 0 $opts->{$opt} //= $defaults->{$opt}
394 0 2 0 $opts->{'defaults'} //= $def