Branch Coverage

blib/lib/MIME/Charset.pm
Criterion Covered Total %
branch 90 166 54.2


line true false branch
112 9 0 $] >= 5.007003 ? :
402 5 70 unless $charset
403 0 70 if 75 < length $charset
407 4 66 if ($charset =~ /\bhz.?gb.?2312$/i) { }
1 65 elsif ($charset =~ /\btis-?620$/i) { }
422 60 10 if ($spec) { }
450 62 78 unless $charset
456 23 55 if ref $encoder
459 0 82 if $m eq 'EXTENDED' and $mapping ne 'EXTENDED'
461 41 41 unless $spec
464 14 33 if ($module)
465 10 4 unless eval "require $module;"
468 37 0 if ref $encoder
470 37 4 if ref $encoder
473 54 1 if $encoder
498 0 4 unless $self
499 2 2 unless ref $self
513 0 4 unless $self
514 2 2 unless ref $self
564 2 4 if ($charset)
565 2 0 unless ref $charset
588 0 4 unless $self
589 2 2 unless ref $self
608 0 4 unless $self
609 2 2 unless ref $self
659 2 2 if (ref $self) { }
667 0 4 unless $charset and $charset->{'InputCharset'}
673 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') { }
674 0 4 if ($encoded =~ /$NON7BITRE/x) { }
4 0 elsif ($cset =~ /^($ISO2022RE|$ASCIITRANSRE)$/) { }
720 0 4 unless &USE_ENCODE
722 0 4 unless $s
725 0 4 if $s =~ /$NON7BITRE/x
730 4 4 if (index($s, $seq) >= 0)
732 0 4 unless $decoder->{'Decoder'}
737 0 4 if ($@)
771 4 6 unless (&is_utf8($s) or $s =~ /[^\x00-\xFF]/)
772 0 4 $check & 1 ? :
775 0 10 if &is_utf8($enc)
794 8 6 if (ref $self) { }
801 6 0 unless ref $self
807 4 10 if ($encoding eq 'Q') { }
0 10 elsif ($encoding eq 'S' and &_resolve_S($s) eq 'Q') { }
826 0 4 if ($in_body) { }
838 0 6 if ($in_body) { }
840 0 0 length($s) + 8 < $e * 6 ? :
843 6 0 length($s) + 8 < $e * 6 ? :
888 4 4 if (ref $self) { }
896 0 8 unless $charset and $charset->{'InputCharset'}
902 2 6 if (not $enc || $encoded =~ /$NON7BITRE/x) { }
0 6 elsif ($enc eq 'S') { }
0 6 elsif (not $enc =~ /^[BQ]$/) { }
903 2 0 unless ($cset =~ /^($ISO2022RE|$ASCIITRANSRE)$/)
923 0 12 if (not $encoding or $encoding ne 'A')
926 4 8 unless ($charset->{'InputCharset'})
927 0 4 if ($s =~ /$NON7BITRE/x) { }
4 0 elsif ($detect7bit ne 'NO') { }
936 0 12 if (not $encoding or $encoding ne 'A')
951 0 12 $replacement && $replacement =~ /^\d+$/ ? :
956 4 8 if (&is_utf8($s) or $s =~ /[^\x00-\xFF]/ or ($charset->{'InputCharset'} || '') ne ($charset->{'OutputCharset'} || '')) { }
958 0 4 if ($check & 1) { }
963 0 0 if ($@)
964 0 0 if ($replacement eq 'FALLBACK' and $FALLBACK_CHARSET) { }
969 0 0 unless $cset->{'Decoder'}
991 4 8 unless ($encoded =~ /$NONASCIIRE/x)
993 4 0 if ($charset->{'OutputCharset'} =~ /^($ASCIITRANSRE)$/) { }
0 0 elsif ($charset->{'OutputCharset'} ne 'US-ASCII') { }
1000 2 2 if ($u eq $encoded)
1054 0 0 unless $charset
1080 0 0 if ($charset)
1081 0 0 unless &resolve_alias($charset)
1110 0 0 if ($charset eq 'NONE') { }
0 0 elsif ($charset) { }
1113 0 0 unless &resolve_alias($charset)
1156 0 0 unless $charset
1157 0 0 unless not $henc or $henc =~ /^[BQS]$/
1158 0 0 unless not $benc or $benc =~ /^[BQ]$/
1160 0 0 if ($henc or $benc or $cset) { }
1161 0 0 if $charset eq $cset
1166 0 0 unless ref $charset