Branch Coverage

blib/lib/MIME/Parser.pm
Criterion Covered Total %
branch 129 198 65.1


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 234 if @_ > 1
442 25 0 if @_ > 1
475 3 259 if @_ > 1
490 0 1265 if ('MIME::Tools'->debugging)
491 0 0 if (my $r = $self->{'MP5_Results'})
505 6 0 if (my $r = $self->{'MP5_Results'})
521 5 0 if (my $r = $self->{'MP5_Results'})
526 5 0 $self->{'MP5_IgnoreErrors'} ? :
548 0 40 unless $rdr->depth > 0
553 0 40 unless open my $fh, '>', \$data
559 2 38 if ($data =~ /^[\r\n]\z/) { }
627 0 172 unless open my $outfh, '>:scalar', \$headstr
632 2 170 if ($hdr_rdr->eos_type eq 'DELIM')
636 1 169 unless $hdr_rdr->eos_type eq 'DONE'
640 0 170 unless open my $readfh, '<:scalar', \$headstr
643 0 170 unless ($readfh->eof)
654 0 170 if $self->{'MP5_DecodeHeaders'}
657 54 116 unless $self->results->top_head
683 1 39 $subtype eq 'digest' ? :
687 0 40 if (not defined $bound or $bound =~ /[\r\n]/)
703 39 1 if ($eos_type eq 'DELIM') { }
1 0 elsif ($eos_type eq 'CLOSE') { }
718 0 105 unless defined $part
724 66 39 if ($eos_type eq 'DELIM') { }
37 2 elsif ($eos_type eq 'CLOSE') { }
760 20 97 if ($can_shortcut) { }
777 96 1 if ($rdr->has_bounds)
778 2 94 unless $rdr->eos_type =~ /^(DELIM|CLOSE)$/
783 0 97 unless $ENCODED->flush
784 0 97 unless $ENCODED->seek(0, 0)
790 0 117 unless ($decoder)
800 7 110 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 115 unless my $body = $self->new_body_for($head)
828 26 89 unless textual_type($ent->effective_type) or not $self->decode_bodies
830 7 108 unless $self->decode_bodies
833 0 115 unless my $DECODED = $body->open('w')
835 0 115 if $@
836 0 115 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 172 if ($self->{'MP5_MaxParts'} > 0)
1004 0 0 if ($self->{'MP5_NumParts'} > $self->{'MP5_MaxParts'})
1019 2 170 unless (defined $head)
1025 0 2 unless $ent->bodyhandle->open('w')->close
1033 2 168 if $p{'Retype'}
1040 40 130 if ($type eq 'multipart') { }
13 117 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 40 unless defined $self->process_multipart($in, $rdr, $ent)
1048 0 13 unless defined $self->process_message($in, $rdr, $ent)
1112 0 11 unless (defined $data)
1119 9 2 if (not ref $data) { }
1 1 elsif (ref $data eq 'SCALAR') { }
1 0 elsif (ref $data eq 'ARRAY') { }
1133 0 11 unless ($io)
1197 0 31 unless my $io = 'IO::File'->new($expr)
1199 0 31 unless $io->close
1235 0 2 unless open IN, "<$_"
1237 0 2 unless close IN
1285 76 245 if (@_ > 1)
1311 73 6 if (@_ > 1) { }
1339 3 0 if (@_ > 1) { }
1430 0 0 if (@_ > 1)
1461 42 123 if (@_ > 1)
1462 2 40 if $yesno and $yesno eq 'NONE'
1505 0 0 if @_ > 1
1584 86 348 if defined $value
1612 27 96 if ($self->output_to_core) { }
1650 0 100 if ($dirname)
1687 1 99 if ($self->{'MP5_TmpToCore'}) { }
1689 0 1 unless $io = 'IO::File'->new(\$var, '+>:')
1692 1 98 if ($self->tmp_dir)
1695 0 99 unless $io = tmpopen($args)
1696 0 99 unless binmode $io