summaryrefslogtreecommitdiff
path: root/rt/t/api/canonical_charset.t
blob: a426d89b6b3a514ead07d96ade3973e166e8d9fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use warnings;
use strict;

use RT::Test nodata => 1, tests => 11;
use RT::I18N;
use Encode;

my %map = (
    'euc-cn'  => 'gbk',
    'gb-2312' => 'gbk',
    gb2312  => 'gbk',
    utf8    => 'utf-8',
    'utf-8' => 'utf-8',
);

for my $charset ( keys %map ) {
    is( RT::I18N::_CanonicalizeCharset($charset),
        $map{$charset}, "$charset => $map{$charset}" );
    is( RT::I18N::_CanonicalizeCharset( uc $charset ),
        $map{$charset}, uc( $charset ) . " => $map{$charset}" );
}

my $mime   = MIME::Entity->build(
    Type => 'text/plain; charset=gb2312',
    Data => [encode('gbk', decode_utf8("法新社倫敦11日電"))],
);

RT::I18N::SetMIMEEntityToUTF8($mime);
is( $mime->stringify_body, '法新社倫敦11日電', 'gb2312 => gbk in mail'  );