Condition Coverage

lib/Changes/Release.pm
Criterion Covered Total %
condition 76 280 27.1


and 2 conditions

line l !l condition
161 1 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
164 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
187 3 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
190 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
204 3 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
207 0 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
427 218 160 not exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'} and scalar @_
468 3 0 not defined $Nice::Try::WANTARRAY and scalar @Nice::Try::LAST_VAL
471 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")
122 44 0 3 exists $self->{'_reset'} and defined $self->{'_reset'}
0 0 3 exists $self->{'_reset'} and defined $self->{'_reset'} and length $self->{'_reset'}
127 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'}"
152 0 0 3 defined $v and length "$v"
155 2 0 1 defined $code and ref $code eq "CODE"
157 1 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
161 1 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
164 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"
0 1 0 scalar @Nice::Try::VOID and !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')
166 0 0 3 defined $dt and length "$dt"
172 0 3 0 defined $fmt_pattern and $fmt_pattern eq "default"
174 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"
183 3 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
187 3 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
190 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"
0 3 0 scalar @Nice::Try::VOID and !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')
192 0 0 3 defined $fmt_pattern and length "$fmt_pattern"
195 3 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
204 3 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
207 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"
0 3 0 scalar @Nice::Try::VOID and !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')
305 0 0 0 defined $name and length "$name"
381 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"}
427 0 0 218 exists $self->{'_reset'} && defined $self->{'_reset'} && length $self->{'_reset'}
462 3 0 0 $INC{'threads.pm'} and not exists $INC{'forks.pm'}
468 3 0 0 defined $Nice::Try::WANT and length $Nice::Try::WANT
471 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"
0 3 0 scalar @Nice::Try::VOID and !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')

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"
211 1 2 $self->spacer // " "
3 0 $nl // ""
278 0 0 $_[0] // ""
365 1 0 'Changes::Change'->new($opts) || (return $self->pass_error('Changes::Change'->error))
391 2 0 'Changes::Group'->new($opts) || (return $self->pass_error('Changes::Group'->error))
400 1 0 'Changes::NewLine'->new(@_) || (return $self->pass_error('Changes::NewLine'->error))
409 0 0 'Changes::Version'->new(@_) || (return $self->pass_error('Changes::Version'->error))

or 3 conditions

line l !l&&r !l&&!r condition
164 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"
0 0 1 !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')
174 3 0 0 defined $fmt_pattern && length "$fmt_pattern" || $dt->formatter
190 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"
0 0 3 !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')
207 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"
0 0 3 !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')
362 0 2 0 $opts->{$opt} //= $defaults->{$opt}
389 0 2 0 $opts->{'defaults'} //= $def
471 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"
0 0 3 !&Scalar::Util::blessed($Nice::Try::VOID[0]) || &Scalar::Util::blessed($Nice::Try::VOID[0]) && !$Nice::Try::VOID[0]->isa('Nice::Try::SENTINEL')