Commit | Line | Data |
5d030b67 |
1 | #!../perl |
2 | |
3 | use strict; |
4 | use Encode::CN; |
5 | use Encode::JP; |
6 | use Encode::KR; |
7 | use Encode::TW; |
8 | |
9 | my %a2c; |
10 | |
11 | BEGIN { |
12 | %a2c = ( |
13 | 'ascii' => 'US-ascii', |
14 | 'cyrillic' => 'iso-8859-5', |
15 | 'arabic' => 'iso-8859-6', |
16 | 'greek' => 'iso-8859-7', |
17 | 'hebrew' => 'iso-8859-8', |
18 | 'thai' => 'iso-8859-11', |
19 | 'tis620' => 'iso-8859-11', |
20 | 'ja_JP.euc' => 'euc-jp', |
21 | 'x-euc-jp' => 'euc-jp', |
22 | 'zh_CN.euc' => 'euc-cn', |
23 | 'x-euc-cn' => 'euc-cn', |
24 | 'ko_KR.euc' => 'euc-kr', |
25 | 'x-euc-kr' => 'euc-kr', |
26 | 'ujis' => 'euc-jp', |
27 | 'Shift_JIS' => 'shiftjis', |
28 | 'x-sjis' => 'shiftjis', |
29 | 'jis' => '7bit-jis', |
30 | 'big-5' => 'big5', |
31 | 'zh_TW.Big5' => 'big5', |
32 | 'big5-hk' => 'big5-hkscs', |
33 | 'WinLatin1' => 'cp1252', |
34 | 'WinLatin2' => 'cp1250', |
35 | 'WinCyrillic' => 'cp1251', |
36 | 'WinGreek' => 'cp1253', |
37 | 'WinTurkish' => 'cp1254', |
38 | 'WinHebrew' => 'cp1255', |
39 | 'WinArabic' => 'cp1256', |
40 | 'WinBaltic' => 'cp1257', |
41 | 'WinVietnamese' => 'cp1258', |
42 | ); |
43 | |
44 | for my $i (1..11,13..16){ |
45 | $a2c{"ISO 8859 $i"} = "iso-8859-$i"; |
46 | } |
47 | for my $i (1..10){ |
48 | $a2c{"ISO Latin $i"} = "iso-8859-$Encode::Alias::Latin2iso[$i]"; |
49 | } |
50 | for my $k (keys %Encode::Alias::Winlatin2cp){ |
51 | my $v = $Encode::Alias::Winlatin2cp{$k}; |
52 | $a2c{"Win" . ucfirst($k)} = "cp" . $v; |
53 | $a2c{"IBM-$v"} = "cp" . $v; |
54 | $a2c{"MS-$v"} = "cp" . $v; |
55 | } |
56 | } |
57 | |
58 | use Test::More tests => (scalar keys %a2c) * 2; |
59 | |
60 | print "# alias test\n"; |
61 | |
62 | foreach my $a (keys %a2c){ |
63 | my $e = Encode::find_encoding($a); |
64 | is((defined($e) and $e->name), $a2c{$a}); |
65 | } |
66 | |
67 | # now we override some of the aliases and see if it works fine |
68 | |
69 | Encode::define_alias( qr/shift.*jis$/i => '"macjapan"' ); |
70 | Encode::define_alias( qr/sjis$/i => '"cp932"' ); |
71 | |
72 | @a2c{qw(Shift_JIS x-sjis)} = qw(macjapan cp932); |
73 | |
74 | print "# alias test with alias overrides\n"; |
75 | |
76 | foreach my $a (keys %a2c){ |
77 | my $e = Encode::find_encoding($a); |
78 | is((defined($e) and $e->name), $a2c{$a}); |
79 | } |
80 | |
81 | __END__ |
82 | for (my $i = 0; $i < @Encode::Alias::Alias; $i+=2){ |
83 | my ($k, $v) = @Encode::Alias::Alias[$i, $i+1]; |
84 | print "$k => $v\n"; |
85 | } |
86 | |
87 | |