a426d89b6b3a514ead07d96ade3973e166e8d9fd
[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 use Encode;
7
8 my %map = (
9     'euc-cn'  => 'gbk',
10     'gb-2312' => 'gbk',
11     gb2312  => 'gbk',
12     utf8    => 'utf-8',
13     'utf-8' => 'utf-8',
14 );
15
16 for my $charset ( keys %map ) {
17     is( RT::I18N::_CanonicalizeCharset($charset),
18         $map{$charset}, "$charset => $map{$charset}" );
19     is( RT::I18N::_CanonicalizeCharset( uc $charset ),
20         $map{$charset}, uc( $charset ) . " => $map{$charset}" );
21 }
22
23 my $mime   = MIME::Entity->build(
24     Type => 'text/plain; charset=gb2312',
25     Data => [encode('gbk', decode_utf8("法新社倫敦11日電"))],
26 );
27
28 RT::I18N::SetMIMEEntityToUTF8($mime);
29 is( $mime->stringify_body, '法新社倫敦11日電', 'gb2312 => gbk in mail'  );
30