Branch Coverage

blib/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm
Criterion Covered Total %
branch 1 158 0.6


line true false branch
96 0 0 if $numlos <= $numhis
120 0 0 unless exists $pms->{'mime_ascii_text_illegal'}
144 0 0 unless $ratio =~ /^\d{0,3}\.\d{1,3}$/
146 0 0 unless exists $pms->{'mime_text_unicode_ratio'}
157 0 0 if grep {$_ eq 'all';} @locales
159 0 0 if defined $type
161 0 0 if (defined $type and not Mail::SpamAssassin::Locales::is_charset_ok_for_locales($type, @locales))
170 0 0 if ($self->are_more_high_bits_set($body))
181 0 0 unless exists $pms->{$test}
190 0 0 if $ctype =~ m[^text/html]i
192 0 0 unless exists $pms->{'mime_body_html_count'}
201 0 0 if $ctype =~ m[^text/html]i
203 0 0 unless exists $pms->{'mime_body_html_count'}
211 0 0 unless exists $pms->{'mime_multipart_alternative'}
222 0 0 if ($ctype eq 'text/html') { }
0 0 elsif ($ctype =~ /^text/i) { }
229 0 0 if ($cte =~ /base64/) { }
0 0 elsif ($cte =~ /quoted-printable/) { }
236 0 0 if ($cd and $cd =~ /attachment/)
240 0 0 if ($ctype =~ /^text/ and $cte =~ /base64/ and !$charset || $charset =~ /(?:us-ascii|ansi_x3\.4-1968|iso-ir-6|ansi_x3\.4-1986|iso_646\.irv:1991|ascii|iso646-us|us|ibm367|cp367|csascii)/ and not $cd && $cd =~ /^(?:attachment|inline)/)
248 0 0 if ($charset =~ /iso-\S+-\S+\b/i and not $charset =~ /iso-(?:8859-\d{1,2}|2022-(?:jp|kr))\b/)
275 0 0 if ($charset =~ /[a-z]/i)
276 0 0 if (defined $pms->{'mime_html_charsets'}) { }
282 0 0 if (not $pms->{'mime_faraway_charset'})
285 0 0 if (not grep({$_ eq 'all';} @l) || Mail::SpamAssassin::Locales::is_charset_ok_for_locales($charset, @l))
339 0 0 if ($ctype eq 'multipart/alternative')
344 0 0 defined $cte ? :
347 0 0 defined $cd ? :
349 0 0 if $charset
350 0 0 if $name
356 0 0 unless ($p->is_leaf)
362 0 0 unless $cd =~ /attachment/
381 0 0 if ($pms->{'mime_multipart_alternative'} and not $cd =~ /attachment/ and $ctype eq 'text/plain' || $ctype eq 'text/html')
386 0 0 if ($where != 1 and $cte eq 'quoted-printable' and not /^SPAM: /)
396 0 0 if (length $_ > 79)
411 0 0 if (index($_, '=') != -1)
414 0 0 if ($qp)
419 0 0 if ($trailing)
429 0 0 if ($ctype eq 'text/plain' and !defined($charset) || $charset eq 'us-ascii')
431 0 0 if (/[\x00\x0d\x80-\xff]+/)
432 0 0 if (would_log('dbg', 'eval'))
443 0 0 if ($ctype eq 'text/plain' and $cte eq '' || $cte eq '7bit' || $cte eq '8bit')
450 0 0 if ($subs and would_log('dbg', 'eval'))
452 0 0 if length $str > 512
461 0 0 if ($qp_bytes)
467 0 0 if ($normal_chars)
471 0 0 if ($pms->{'mime_multipart_alternative'})
476 0 0 unless defined $part_bytes[$i]
477 0 0 if (not defined $html and $part_type[$i] eq 'text/html') { }
0 0 elsif (not defined $text and $part_type[$i] eq 'text/plain') { }
483 0 0 if defined $html and defined $text
485 0 0 if (defined $text and defined $html and $html > 0)
492 0 0 if ($val != 0)
519 0 0 unless exists $pms->{'mime_checked_attachments'}
525 0 0 defined $qp_ratio && $qp_ratio >= $min ? :
531 0 77 if ref $type
539 0 0 if (exists $pms->{'uppercase'})
543 0 0 if ($self->body_charset_is_likely_to_fp($pms))
556 0 0 unless /\S\s+\S/
558 0 0 if m[^(?:[A-Za-z0-9+/=]{60,76} ){2}]
574 0 0 if ($len < 200)
578 0 0 if ($upper + $lower == 0) { }
593 0 0 unless exists $pms->{'mime_checked_attachments'}
596 0 0 if defined $type
597 0 0 if defined $type
598 0 0 if (defined $pms->{'mime_html_charsets'})
604 0 0 if ($charset =~ /^$CHARSETS_LIKELY_TO_FP_AS_CAPS$/)
613 0 0 unless (defined $type)
614 0 0 if ($type =~ /charset="([^"]+)"/i)
615 0 0 if ($type =~ /charset='([^']+)'/i)
616 0 0 if ($type =~ /charset=(\S+)/i)
627 0 0 if lc $p->{'type'} eq 'multipart/related'
628 0 0 if lc $p->{'type'} eq 'application/rtf'
629 0 0 if $p->{'type'} =~ m[^text/]i
644 0 0 unless (defined $pms->{'base64_length'})
648 0 0 if defined $max and $pms->{'base64_length'} > $max
664 0 0 if $ctype eq 'application/ics'
667 0 0 unless $cte =~ /^base64$/
669 0 0 if length $l > $result