Condition Coverage

blib/lib/Mail/SpamAssassin/Conf/Parser.pm
Criterion Covered Total %
condition 58 127 45.6


and 3 conditions

line !l l&&!r l&&r condition
211 18454 0 184 $cmd->{'aliases'} and scalar @{$cmd->{'aliases'};} > 0
267 51386 0 0 $keepmetadata and $line =~ /^\#testrules/
275 0 0 0 defined $_ and $_ ne "(no file)"
424 0 0 0 $cmd->{'is_priv'} and not $conf->{'allow_user_rules'}
442 60950 9092 0 $ret and $ret eq $Mail::SpamAssassin::Conf::INVALID_VALUE
60950 9092 0 $ret and $ret eq $Mail::SpamAssassin::Conf::INVALID_HEADER_FIELD_NAME
60950 9092 0 $ret and $ret eq $Mail::SpamAssassin::Conf::MISSING_REQUIRED_VALUE
608 0 0 158 $module->can($meth) and $fn_name eq 'has' || &{$method;}()
732 0 0 213 defined $value and not $value =~ /^$/
746 0 0 0 defined $value and not $value =~ /^$/
762 0 0 97 defined $value and not $value =~ /^$/
784 0 0 124 defined $value and not $value =~ /^$/
794 0 0 0 defined $value and not $value =~ /^$/
804 0 0 44 defined $value and not $value =~ /^$/
818 0 0 3699 defined $v and $v ne ""
828 0 0 0 defined $value and not $value =~ /^$/
837 0 0 0 defined $value and not $value =~ /^$/
1216 1888 0 0 length $name > 40 and not $name =~ /^__/
1888 0 0 length $name > 40 and not $name =~ /^__/ and not $name =~ /^T_/

or 2 conditions

line l !l condition
237 0 91 $lang ||= "C"
655 1426 1032 $conf->{'tflags'}{$k} || ''
884 202 3494 $conf->{'priority'}{$name} || 0
1069 66 918 $conf->{'tflags'}{$name} || ''
1087 0 2 $conf->{'priority'}{$name} || 0
1296 0 132 $conf->{'priority'}{$name} ||= 500
1299 0 3565 $conf->{'priority'}{$name} ||= 0
1301 132 3565 $conf->{'priority'}{$name} ||= 0

or 3 conditions

line l !l&&r !l&&!r condition
157 0 92 0 ref $class || $class
208 1104 17534 0 $cmd->{'command'} || $cmd->{'setting'}
234 0 0 91 $lang ||= $ENV{'LC_ALL'}
235 0 0 91 $lang ||= $ENV{'LC_MESSAGES'}
236 0 0 91 $lang ||= $ENV{'LANG'}
608 0 158 0 $fn_name eq 'has' || &{$method;}()
724 0 0 0 not defined $value or $value eq ""
768 0 64 33 $value eq "yes" or $value eq 1
0 33 0 $value eq "no" or $value eq 0
851 0 124 0 not defined $value or $value eq ""
1012 2220 3 1637 $token =~ tr[0-9A-Z_a-z](\000-/:-@[-^`{-\377)c or substr($token, 0, 1) =~ tr/A-Z_a-z/\000-@[-^`{-\377/c
1066 2713 0 984 $type & 1 or $type eq $Mail::SpamAssassin::Conf::TYPE_EMPTY_TESTS
1089 1 0 1 not defined $first or $priority < $first_pri
1172 2 32 4 $net->{'exclude'} || $nt->contains_net($net)
1225 1888 0 1809 $self->{'conf'}{'lint_rules'} || $self->{'conf'}{'ignore_always_matching_regexps'}
1228 232 0 3465 $type == $Mail::SpamAssassin::Conf::TYPE_BODY_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_FULL_TESTS
232 0 3465 $type == $Mail::SpamAssassin::Conf::TYPE_BODY_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_FULL_TESTS or $type == $Mail::SpamAssassin::Conf::TYPE_RAWBODY_TESTS
0 62 3403 $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