Branch Coverage

blib/lib/MIME/Charset.pm
Criterion Covered Total %
branch 92 168 54.7


line true false branch
112 9 0 $] >= 5.007003 ? :
405 5 70 unless $charset
406 0 70 if 75 < length $charset
410 4 66 if ($charset =~ /\bhz.?gb.?2312$/i) { }
1 65 elsif ($charset =~ /\btis-?620$/i) { }
1 64 elsif ($charset =~ /\biso[-_]8859[-_]8[-_]i$/i) { }
431 60 10 if ($spec) { }
459 62 78 unless $charset
465 23 55 if ref $encoder
468 0 82 if $m eq "EXTENDED" and $mapping ne "EXTENDED"
470 41 41 unless $spec
473 14 33 if ($module)
474 10 4 unless eval "require $module;"
477 37 0 if ref $encoder
479 37 4 if ref $encoder
482 54 1 if $encoder
507 0 4 unless $self
508 2 2 unless ref $self
522 0 4 unless $self
523 2 2 unless ref $self
573 2 4 if ($charset)
574 2 0 unless ref $charset
597 0 4 unless $self
598 2 2 unless ref $self
617 0 4 unless $self
618 2 2 unless ref $self
668 2 2 if (ref $self) { }
676 0 4 unless $charset and $charset->{'InputCharset'}
682 4 0 if (not $enc || $encoded =~ /\x00/) { }
0 0 elsif ($enc eq 'S') { }
0 0 elsif ($enc eq 'B') { }
0 0 elsif ($enc eq 'Q') { }
683 0 4 if ($encoded =~ /$NON7BITRE/x) { }
4 0 elsif ($cset =~ /^($ISO2022RE|$ASCIITRANSRE)$/) { }
729 0 4 unless &USE_ENCODE
731 0 4 unless $s
734 0 4 if $s =~ /$NON7BITRE/x
739 4 4 if (index($s, $seq) >= 0)
741 0 4 unless $decoder->{'Decoder'}
746 0 4 if ($@)
780 4 6 unless (&is_utf8($s) or $s =~ /[^\x00-\xFF]/)
781 0 4 $check & 1 ? :
784 0 10 if &is_utf8($enc)
803 8 6 if (ref $self) { }
810 6 0 unless ref $self
816 4 10 if ($encoding eq 'Q') { }
0 10 elsif ($encoding eq 'S' and &_resolve_S($s) eq 'Q') { }
835 0 4 if ($in_body) { }
847 0 6 if ($in_body) { }
849 0 0 length($s) + 8 < $e * 6 ? :
852 6 0 length($s) + 8 < $e * 6 ? :
897 4 4 if (ref $self) { }
905 0 8 unless $charset and $charset->{'InputCharset'}
911 2 6 if (not $enc || $encoded =~ /$NON7BITRE/x) { }
0 6 elsif ($enc eq 'S') { }
0 6 elsif (not $enc =~ /^[BQ]$/) { }
912 2 0 unless ($cset =~ /^($ISO2022RE|$ASCIITRANSRE)$/)
932 0 12 if (not $encoding or $encoding ne "A")
935 4 8 unless ($charset->{'InputCharset'})
936 0 4 if ($s =~ /$NON7BITRE/x) { }
4 0 elsif ($detect7bit ne 'NO') { }
945 0 12 if (not $encoding or $encoding ne "A")
960 0 12 $replacement && $replacement =~ /^\d+$/ ? :
965 4 8 if (&is_utf8($s) or $s =~ /[^\x00-\xFF]/ or ($charset->{'InputCharset'} || '') ne ($charset->{'OutputCharset'} || '')) { }
967 0 4 if ($check & 1) { }
972 0 0 if ($@)
973 0 0 if ($replacement eq 'FALLBACK' and $FALLBACK_CHARSET) { }
978 0 0 unless $cset->{'Decoder'}
1000 4 8 unless ($encoded =~ /$NONASCIIRE/x)
1002 4 0 if ($charset->{'OutputCharset'} =~ /^($ASCIITRANSRE)$/) { }
0 0 elsif ($charset->{'OutputCharset'} ne 'US-ASCII') { }
1009 2 2 if ($u eq $encoded)
1063 0 0 unless $charset
1089 0 0 if ($charset)
1090 0 0 unless &resolve_alias($charset)
1119 0 0 if ($charset eq 'NONE') { }
0 0 elsif ($charset) { }
1122 0 0 unless &resolve_alias($charset)
1165 0 0 unless $charset
1166 0 0 unless not $henc or $henc =~ /^[BQS]$/
1167 0 0 unless not $benc or $benc =~ /^[BQ]$/
1169 0 0 if ($henc or $benc or $cset) { }
1170 0 0 if $charset eq $cset
1175 0 0 unless ref $charset