Branch Coverage

blib/lib/Email/MIME.pm
Criterion Covered Total %
branch 95 118 80.5


line true false branch
133 87 77 exists $arg->{'encode_check'} ? :
208 8 46 if (exists $args{'header'})
210 0 8 if @headers % 2 == 1
217 11 43 if (exists $args{'header_str'})
219 0 11 if @headers % 2 == 1
231 54 0 unless exists $headers{'Date'}
234 31 23 $args{'attributes'} ? :
244 30 24 if (grep {exists $attrs{$_};} "content_type", "charset", "name", "format", "boundary")
252 3 51 if (exists $args{'encode_check'})
263 0 54 if $body_args > 1
266 14 40 if ($args{'parts'} and @{$args{'parts'};}) { }
33 7 elsif (defined $args{'body'}) { }
6 1 elsif (defined $args{'body_str'}) { }
268 14 11 unless ref $part
276 0 6 unless my $charset = $attrs{'charset'}
279 0 6 unless $attrs{'encoding'}
298 164 138 unless $self->{'parts'}
301 197 105 unless @parts
308 0 52 unless $self->{'parts'}
316 41 152 if ($self->{'ct'}{'type'} eq 'multipart' or $self->{'ct'}{'type'} eq 'message') { }
337 51 55 unless $cte
339 26 29 if (not $self->force_decode_hook and $cte =~ /$NO_ENCODE_RE/xi)
343 29 0 if $self->can("decode_hook")
363 2 12 unless ($encoding)
364 1 0 if ($self->{'ct'}{'type'} eq "text" and $self->{'ct'}{'subtype'} eq 'plain' || $self->{'ct'}{'subtype'} eq 'html')
388 0 41 if $MAX_DEPTH and $DEPTH > $MAX_DEPTH
396 0 41 unless defined $boundary and length $boundary and $self->body_raw =~ /^--\Q$boundary\E\s*$/ms
413 41 0 if index($bits[0] || '', ":") == -1
450 1 4 if exists $gcache{$self}
456 2 2 if $name or not $force
536 15 1 if ($value) { }
554 1 0 if (defined $value and length $value) { }
561 0 1 if $self->parts > 1
568 62 3 if ($CT_SETTER{$key})
577 0 3 if lc $existing_key eq $key
580 3 0 if ($value) { }
661 165 130 if (ref $body) { }
662 0 165 unless &reftype($body) eq "SCALAR"
675 131 164 unless (((caller 1)[3] || '') eq "Email::Simple::new")
676 41 90 unless not $enc or $enc =~ /$NO_ENCODE_RE/xi
703 0 0 unless my $charset = $ct->{'attributes'}{'charset'}
722 3 5 $dis_header ? :
741 4 0 if ($dis_header)
746 3 1 $filename ? :
768 25 4 if (@{$parts;} > 1 or $ct_header->{'type'} eq 'multipart') { }
4 0 elsif (@$parts == 1) { }
772 16 9 unless defined $ct_header->{'attributes'}{'boundary'} and length $ct_header->{'attributes'}{'boundary'}
780 10 15 unless (grep {$ct_header->{'type'} eq $_;} "multipart", "message")
781 0 10 if (scalar $self->header("Content-Type"))
795 2 2 if (exists $from_ct->{'attributes'}{'charset'}) { }
856 14 26 if (my(@orig_subparts) = $part->subparts)
862 0 30 unless my $new = &$walk_weak($part)
863 9 21 if $str ne $new->as_string
872 6 8 if ($differ)
907 19 38 if ($self->parts > 1)
908 4 15 if ($ct_header->{'subtype'} eq 'alternative') { }
911 4 5 defined $part->header('Content-ID') ? :
917 3 1 if keys %cids == 1
924 30 8 unless $_->header("Content-ID")