Condition Coverage

lib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
Criterion Covered Total %
condition 88 141 62.4


and 3 conditions

line !l l&&!r l&&r condition
153 42 0 0 $self->{'show_progress'} and $progress
194 10 32 0 $lossy and ($tflags->{$name} || '') =~ /\bmultiple\b/
225 210 2310 4 $base1 ne $base2 and $base1 =~ /\Q$base2\E/
248 15 0 0 $self->{'show_progress'} and $progress
302 0 0 128 $base and $set1->{'name'}
315 128 0 0 $self->{'show_progress'} and $progress
331 2602 34 24 $base1 eq $base2 and $name1 eq $name2
2636 0 24 $base1 eq $base2 and $name1 eq $name2 and $orig1 eq $set2->[2]
345 1389 34 87 $set2->[5] and $name2 =~ /(?: |^)\Q$name1\E(?: |$)/
349 1334 35 54 $set1->[5] and $set1->[1] =~ /(?: |^)\Q$name2\E(?: |$)/
385 15 0 0 $self->{'show_progress'} and $progress
628 89 395 142 not $spcs and $item =~ /^EXACT/
484 0 142 not $spcs and $item =~ /^EXACT/ and $args =~ /<(.*)>/
89 205 190 not $spcs and $item =~ /^_moretrie/
294 0 190 not $spcs and $item =~ /^_moretrie/ and $args =~ /<(.*)>/
285 0 9 $item =~ /^EXACT/ and $prevop
285 3 6 $item =~ /^EXACT/ and $prevop and not $prevop->[0]
3 6 0 $item =~ /^EXACT/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/
9 0 0 $item =~ /^EXACT/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/ and $prevop->[2] =~ /\{(\d+),/
6 0 0 $item =~ /^EXACT/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/ and $prevop->[2] =~ /\{(\d+),/ and $1 >= 1
0 0 0 $item =~ /^EXACT/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/ and $prevop->[2] =~ /\{(\d+),/ and $1 >= 1 and $args =~ /<(.*)>/
276 0 18 $item =~ /^_moretrie/ and $prevop
276 13 5 $item =~ /^_moretrie/ and $prevop and not $prevop->[0]
13 0 5 $item =~ /^_moretrie/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/
13 0 5 $item =~ /^_moretrie/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/ and $prevop->[2] =~ /\{(\d+),/
0 0 5 $item =~ /^_moretrie/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/ and $prevop->[2] =~ /\{(\d+),/ and $1 >= 1
0 0 5 $item =~ /^_moretrie/ and $prevop and not $prevop->[0] and $prevop->[1] =~ /^CURLYX/ and $prevop->[2] =~ /\{(\d+),/ and $1 >= 1 and $args =~ /<(.*)>/
636 142 0 0 length $str >= 55 and $buf =~ s/\.\.\.$//
645 186 0 4 length $1 >= 55 and $buf =~ s/\.\.\.$//
657 0 0 0 length $1 >= 55 and $buf =~ s/\.\.\.$//
669 5 0 0 length $1 >= 60 and $buf =~ s/\.\.\.$//
768 24 163 0 scalar @ops > 1 and $ops[0][1] =~ /^BRANCH/
788 546 174 7 $item =~ /^EXACT/ and defined $open_spcs
839 278 100 9 defined $branch_spcs and $branch_spcs eq $spcs
378 0 9 defined $branch_spcs and $branch_spcs eq $spcs and $item =~ /^BRANCH/
278 100 0 defined $branch_spcs and $branch_spcs eq $spcs
378 0 0 defined $branch_spcs and $branch_spcs eq $spcs and $item eq 'TAIL'
100 135 143 defined $trie_spcs and $trie_spcs eq $spcs
235 8 135 defined $trie_spcs and $trie_spcs eq $spcs and $item eq '_moretrie'
33 158 52 defined $open_spcs and $open_spcs eq $spcs
191 0 52 defined $open_spcs and $open_spcs eq $spcs and $item =~ /^CLOSE/

or 2 conditions

line l !l condition
138 0 0 scalar keys %{$rules;} || 1
194 0 32 $tflags->{$name} || ''
290 0 0 scalar @good_bases || 1

or 3 conditions

line l !l&&r !l&&!r condition
75 0 15 0 ref $class || $class
204 37 25 70 not defined $minlen or $len < $minlen
209 0 5 37 $is_a_replacetags_rule or not $minlen
5 0 37 $is_a_replacetags_rule or not $minlen or not @bases