| 1 | use strict; |
|---|
| 2 | use warnings; |
|---|
| 3 | use Encode; |
|---|
| 4 | use Encode::JP::Mobile; |
|---|
| 5 | |
|---|
| 6 | use Test::More; |
|---|
| 7 | |
|---|
| 8 | eval { require YAML }; |
|---|
| 9 | plan skip_all => $@ if $@; |
|---|
| 10 | |
|---|
| 11 | my $dat = YAML::LoadFile("dat/kddi-table.yaml"); |
|---|
| 12 | plan tests => 7 * @$dat; |
|---|
| 13 | |
|---|
| 14 | for my $r (@$dat) { |
|---|
| 15 | my $sjis = pack "H*", $r->{sjis}; |
|---|
| 16 | my $jis = "\e\$B" . pack("H*", $r->{email_jis}) . "\e(B"; |
|---|
| 17 | |
|---|
| 18 | my $unicode = chr hex $r->{unicode}; |
|---|
| 19 | is decode("x-sjis-kddi", $sjis), $unicode, $r->{unicode}; |
|---|
| 20 | is encode("x-sjis-kddi", $unicode), $sjis, $r->{unicode}; |
|---|
| 21 | is encode("x-sjis-kddi-auto", $unicode), $sjis, $r->{unicode}; |
|---|
| 22 | is decode("x-iso-2022-jp-kddi", $jis), $unicode, $r->{unicode}; |
|---|
| 23 | is encode("x-iso-2022-jp-kddi", $unicode), $jis, $r->{unicode}; |
|---|
| 24 | |
|---|
| 25 | # decode x-sjis-kddi to Unicode, then encode using x-sjis-kddi-auto |
|---|
| 26 | my $copy = $sjis; |
|---|
| 27 | Encode::from_to($copy, "x-sjis-kddi", "x-sjis-kddi-auto"); |
|---|
| 28 | is $copy, $sjis, "x-sjis-kddi to x-sjis-kddi-auto roundtrip $r->{unicode}"; |
|---|
| 29 | Encode::from_to($copy, "x-sjis-kddi-auto", "x-sjis-kddi"); |
|---|
| 30 | is $copy, $sjis, "x-sjis-kddi-auto to x-sjis-kddi roundtrip $r->{unicode}"; |
|---|
| 31 | } |
|---|