Condition Coverage

blib/lib/CodeGen/Cpppp/Enum.pm
Criterion Covered Total %
condition 23 56 41.0


and 3 conditions

line !l l&&!r l&&r condition
53 2 0 7 @spec == 1 && ref $spec[0]
164 5 0 4 $tokens[0]->type eq "(" and $rparen--

or 2 conditions

line l !l condition
28 11 0 $self->{'prefix'} // ""
43 0 1 $self->{'type'} // "int"
48 11 0 $self->{'values'} // []
65 3 6 $values[0][1] //= 0
91 0 4 $self->{'indent'} // " "
104 0 0 $self->{'num_format'} // "%d"
113 0 4 $self->{'max_waste_factor'} // 2
137 0 0 $self->{'num_format'} // "%d"
289 0 1 $options->{'len_var'} // "len"
290 0 1 $options->{'str_ptr'} // "str"

or 3 conditions

line l !l&&r !l&&!r condition
12 1 0 0 "List::Util"->can("uniqstr") // sub { my %seen; grep((!$seen{$_}++), @_); }
33 0 7 0 $self->{'macro_prefix'} // uc $self->prefix
38 0 3 0 $self->{'symbol_prefix'} // lc $self->prefix
83 0 3 0 $self->{'value_table_var'} // $self->symbol_prefix . 'value_table'
95 0 4 0 $CodeGen::Cpppp::INDENT // (shift())->indent
120 0 0 0 not defined $val[0] or $_algorithm{$val[0]}
156 0 0 5 $self->{'num_format'} // $num_str =~ /^-?0x[0-9A-F]+$/u
183 0 2 0 $self->{'_analysis'} //= do { my(@vals) = map([$_->[0], $self->_parse_value_expr($_->[1])], $self->values); my $base_expr = $vals[0][1]; my(%seen_ofs) = ($vals[0][2], 1); foreach $_ (@vals[1 .. $#vals]) { $base_expr = undef, last unless $_->[1] eq $base_expr; ++$seen_ofs{$_->[2]}; } ; my(%info) = ("vals", \@vals); if (defined $base_expr) { my($min, $max) = (&min(keys %seen_ofs), &max(keys %seen_ofs)); my($is_seq, $is_nearly_seq, $gap); if ($max - $min - @vals <= $self->max_waste_factor * @vals) { $gap = 0; foreach $_ ($min .. $max) { ++$gap unless $seen_ofs{$_}; } ; $is_seq = $gap == 0; $is_nearly_seq = $gap <= $self->max_waste_factor * ($max - $min + 1 - $gap); } ; $info{'is_seq'} = $is_seq; $info{'is_nearly_seq'} = $is_nearly_seq; $info{'gap'} = $gap; $info{'min'} = $min; $info{'max'} = $max; $info{'base_expr'} = $base_expr; } ; \%info }
362 2 2 13 not defined $best_i or abs $goal - @less < abs $goal - @$best_less
368 0 0 0 not defined $best_i or abs $goal - @less < abs $goal - @$best_less