Condition Coverage

blib/lib/Mail/SpamAssassin/Conf/Parser.pm
Criterion Covered Total %
condition 59 132 44.7


and 3 conditions

line !l l&&!r l&&r condition
208 14332 0 162 $cmd->{'aliases'} and scalar @{$cmd->{'aliases'};} > 0
264 45334 0 0 $keepmetadata and $line =~ /^\#testrules/
272 0 0 0 defined $_ and $_ ne '(no file)'
423 0 0 0 $cmd->{'is_priv'} and not $conf->{'allow_user_rules'}
441 41863 17047 0 $ret and $ret eq $Mail::SpamAssassin::Conf::INVALID_VALUE
41863 17047 0 $ret and $ret eq $Mail::SpamAssassin::Conf::INVALID_HEADER_FIELD_NAME
41863 17047 0 $ret and $ret eq $Mail::SpamAssassin::Conf::MISSING_REQUIRED_VALUE
600 0 0 126 $module->can($meth) and $fn_name eq 'has' || &{$method;}()
724 0 0 192 defined $value and not $value =~ /^$/
738 0 0 0 defined $value and not $value =~ /^$/
754 0 0 212 defined $value and not $value =~ /^$/
776 0 0 126 defined $value and not $value =~ /^$/
786 0 0 0 defined $value and not $value =~ /^$/
796 0 0 44 defined $value and not $value =~ /^$/
810 0 0 3589 defined $v and $v ne ''
820 0 0 0 defined $value and not $value =~ /^$/
829 0 0 0 defined $value and not $value =~ /^$/
1203 1792 0 0 length $name > 40 and not $name =~ /^__/
1792 0 0 length $name > 40 and not $name =~ /^__/ and not $name =~ /^T_/
1341 0 0 1242 $re and $re =~ /^\s*m?(\W).*(?:\1|>|}|\)|\])[a-z]*\s*$/

or 2 conditions

line l !l condition
234 0 79 $lang ||= 'C'
647 1321 989 $conf->{'tflags'}{$k} || ''
876 142 3426 $conf->{'priority'}{$name} || 0
1052 63 873 $conf->{'tflags'}{$name} || ''
1070 0 2 $conf->{'priority'}{$name} || 0
1243 0 72 $conf->{'priority'}{$name} ||= 500
1246 0 3497 $conf->{'priority'}{$name} ||= 0
1248 72 3497 $conf->{'priority'}{$name} ||= 0
1342 0 0 $re ||= ''

or 3 conditions

line l !l&&r !l&&!r condition
154 0 81 0 ref $class || $class
205 972 13522 0 $cmd->{'command'} || $cmd->{'setting'}
231 0 0 79 $lang ||= $ENV{'LC_ALL'}
232 0 0 79 $lang ||= $ENV{'LC_MESSAGES'}
233 0 0 79 $lang ||= $ENV{'LANG'}
600 0 126 0 $fn_name eq 'has' || &{$method;}()
716 0 0 0 not defined $value or $value eq ''
760 0 191 21 $value eq 'yes' or $value eq '1'
0 21 0 $value eq 'no' or $value eq '0'
843 0 126 0 not defined $value or $value eq ''
998 1894 8 1416 $token =~ tr[0-9A-Z_a-z](\000-/:-@[-^`{-\377)c or substr($token, 0, 1) =~ tr/A-Z_a-z/\000-@[-^`{-\377/c
1049 2633 0 936 $type & 1 or $type eq $Mail::SpamAssassin::Conf::TYPE_EMPTY_TESTS
1072 1 0 1 not defined $first or $priority < $first_pri
1159 2 32 4 $net->{'exclude'} || $nt->contains_net($net)
1210 234 0 3335 $type == $Mail::SpamAssassin::Conf::TYPE_BODY_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_FULL_TESTS
234 0 3335 $type == $Mail::SpamAssassin::Conf::TYPE_BODY_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_FULL_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_RAWBODY_TESTS
0 63 3272 $type == $Mail::SpamAssassin::Conf::TYPE_BODY_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_FULL_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_RAWBODY_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_URI_TESTS
1378 608 0 658 $self->{'conf'}{'lint_rules'} or $self->{'conf'}{'ignore_always_matching_regexps'}