RT 4.0.22
[freeside.git] / rt / t / api / canonical_charset.t
1 use warnings;
2 use strict;
3
4 use RT::Test nodata => 1, tests => 11;
5 use RT::I18N;
6
7 my %map = (
8     'euc-cn'  => 'gbk',
9     'gb-2312' => 'gbk',
10     gb2312  => 'gbk',
11     utf8    => 'utf-8',
12     'utf-8' => 'utf-8',
13 );
14
15 for my $charset ( keys %map ) {
16     is( RT::I18N::_CanonicalizeCharset($charset),
17         $map{$charset}, "$charset => $map{$charset}" );
18     is( RT::I18N::_CanonicalizeCharset( uc $charset ),
19         $map{$charset}, uc( $charset ) . " => $map{$charset}" );
20 }
21
22 my $mime   = MIME::Entity->build(
23     Type => 'text/plain; charset=gb2312',
24     Data => [Encode::encode("gbk", Encode::decode( "UTF-8", "法新社倫敦11日電"))],
25 );
26
27 RT::I18N::SetMIMEEntityToUTF8($mime);
28 is( $mime->stringify_body, '法新社倫敦11日電', 'gb2312 => gbk in mail'  );
29