Branch Coverage

blib/lib/MIME/Parser.pm
Criterion Covered Total %
branch 129 194 66.4


line true false branch
329 0 0 if (@_ > 1)
331 0 0 if ($yesno)
332 0 0 if ($yesno eq 'I_KNOW_WHAT_I_AM_DOING' or $yesno eq 'I_NEED_TO_FIX_THIS') { }
394 25 26 if @_ > 1
422 25 228 if @_ > 1
442 25 0 if @_ > 1
475 3 253 if @_ > 1
490 0 1236 if ('MIME::Tools'->debugging)
491 0 0 if (my $r = $self->{'MP5_Results'})
505 6 0 if (my $r = $self->{'MP5_Results'})
521 6 0 if (my $r = $self->{'MP5_Results'})
526 5 1 $self->{'MP5_IgnoreErrors'} ? :
548 0 39 unless $rdr->depth > 0
553 0 39 unless open my $fh, '>', \$data
559 2 37 if ($data =~ /^[\r\n]\z/) { }
627 0 169 unless open my $outfh, '>:scalar', \$headstr
632 2 167 if ($hdr_rdr->eos_type eq 'DELIM')
636 1 166 unless $hdr_rdr->eos_type eq 'DONE'
640 0 167 unless open my $readfh, '<:scalar', \$headstr
643 1 166 unless ($readfh->eof)
654 0 166 if $self->{'MP5_DecodeHeaders'}
657 52 114 unless $self->results->top_head
683 1 38 $subtype eq 'digest' ? :
687 0 39 if (not defined $bound or $bound =~ /[\r\n]/)
703 38 1 if ($eos_type eq 'DELIM') { }
1 0 elsif ($eos_type eq 'CLOSE') { }
718 0 103 unless defined $part
724 65 38 if ($eos_type eq 'DELIM') { }
36 2 elsif ($eos_type eq 'CLOSE') { }
760 19 95 if ($can_shortcut) { }
777 94 1 if ($rdr->has_bounds)
778 2 92 unless $rdr->eos_type =~ /^(DELIM|CLOSE)$/
783 0 95 unless $ENCODED->flush
784 0 95 unless $ENCODED->seek(0, 0)
790 0 114 unless ($decoder)
800 7 107 unless ($self->decode_bodies)
810 3 0 if ($self->extract_uuencode and $encoding =~ /^(7bit|8bit|binary)\Z/ and $ent->effective_type =~ m[^(?:text/plain|application/mac-binhex40|application/mac-binhex)\Z])
816 2 1 if ($uu_ent) { }
822 0 1 unless $ENCODED->seek(0, 0)
827 0 112 unless my $body = $self->new_body_for($head)
828 26 86 unless textual_type($ent->effective_type) or not $self->decode_bodies
830 7 105 unless $self->decode_bodies
833 0 112 unless my $DECODED = $body->open('w')
835 0 112 if $@
836 0 112 unless $DECODED->close
860 0 3 unless $ENCODED->seek(0, 0)
862 2 16 if ($good = /^begin [0-7]{3}/)
866 0 16 if ($good = /^\(This file must be converted with/i)
871 1 2 unless ($good)
874 2 0 $how_encoded eq 'uu' ? :
876 0 2 unless (defined $decoder)
887 0 2 unless $ENCODED->seek(0, 0)
895 2 4 if $@
903 4 0 if ($ext =~ /^(gif|jpe?g|xbm|xpm|png)\Z/)
906 2 2 if (@$preamble and grep /\S/, @$preamble and not @parts)
914 0 2 unless my $io = $txt_ent->bodyhandle->open('w')
915 0 2 unless $io->print(@$preamble)
916 0 2 unless $io->close
928 0 4 unless $bin_ent->bodyhandle->binmode(1)
929 0 4 unless my $io = $bin_ent->bodyhandle->open('w')
930 0 4 unless $io->print($bin_data)
931 0 4 unless $io->close
937 0 2 unless @parts
963 0 13 unless ($encoding =~ /^(7bit|8bit|binary)$/)
971 0 13 unless defined $msg
974 1 12 if ($self->extract_nested_messages eq 'REPLACE') { }
1002 0 169 if ($self->{'MP5_MaxParts'} > 0)
1004 0 0 if ($self->{'MP5_NumParts'} > $self->{'MP5_MaxParts'})
1019 2 166 unless (defined $head)
1025 0 2 unless $ent->bodyhandle->open('w')->close
1033 2 164 if $p{'Retype'}
1040 39 127 if ($type eq 'multipart') { }
13 114 elsif ("$type/$subtype" eq 'message/rfc822' || "$type/$subtype" eq 'message/external-body' || "$type/$subtype" eq 'message/partial' && defined $head->mime_attr('content-type.number') && $head->mime_attr('content-type.number') == 1 and $self->extract_nested_messages) { }
1041 0 39 unless defined $self->process_multipart($in, $rdr, $ent)
1048 0 13 unless defined $self->process_message($in, $rdr, $ent)
1115 9 2 if (not ref $data) { }
1 1 elsif (ref $data eq 'SCALAR') { }
1 0 elsif (ref $data eq 'ARRAY') { }
1189 0 30 unless my $io = 'IO::File'->new($expr)
1191 0 29 unless $io->close
1227 0 2 unless open IN, "<$_"
1229 0 2 unless close IN
1277 74 239 if (@_ > 1)
1303 72 6 if (@_ > 1) { }
1331 2 0 if (@_ > 1) { }
1422 0 0 if (@_ > 1)
1453 41 120 if (@_ > 1)
1454 2 39 if $yesno and $yesno eq 'NONE'
1497 0 0 if @_ > 1
1576 84 342 if defined $value
1604 27 93 if ($self->output_to_core) { }
1642 0 98 if ($dirname)
1679 1 97 if ($self->{'MP5_TmpToCore'}) { }
1681 0 1 unless $io = 'IO::File'->new(\$var, '+>:')
1684 1 96 if ($self->tmp_dir)
1687 0 97 unless $io = tmpopen($args)
1688 0 97 unless binmode $io