Assorted 2.15 fixes.
[p5sagit/p5-mst-13.2.git] / ext / Encode / t / CJKT.t
index 0c9bb7b..1480439 100644 (file)
@@ -20,8 +20,7 @@ BEGIN {
     $| = 1;
 }
 use strict;
-use Test::More tests => 73;
-#use Test::More qw(no_plan);
+use Test::More tests => 60;
 use Encode;
 use File::Basename;
 use File::Spec;
@@ -30,17 +29,16 @@ our $DEBUG = shift || 0;
 
 my %Charset =
     (
-     'big5-eten'  => [qw(big5-eten cp950 MacChineseTrad)],
+     'big5-eten'  => [qw(big5-eten)],
      'big5-hkscs' => [qw(big5-hkscs)],
-     gb2312       => [qw(euc-cn gb2312-raw cp936 MacChineseSimp)],
-     jisx0201     => [qw(euc-jp shiftjis 7bit-jis jis0201-raw
-                        cp932 MacJapanese)],
-     jisx0212     => [qw(euc-jp 7bit-jis iso-2022-jp-1 jis0208-raw)],
-     jisx0208     => [qw(euc-jp shiftjis 7bit-jis cp932 MacJapanese
-                    iso-2022-jp iso-2022-jp-1 jis0212-raw)],
-     ksc5601      => [qw(euc-kr iso-2022-kr ksc5601-raw cp949 MacKorean)],
+     gb2312       => [qw(euc-cn hz)],
+     jisx0201     => [qw(euc-jp shiftjis 7bit-jis)],
+     jisx0208     => [qw(euc-jp shiftjis 7bit-jis iso-2022-jp iso-2022-jp-1)],
+     jisx0212     => [qw(euc-jp 7bit-jis iso-2022-jp-1)],
+     ksc5601      => [qw(euc-kr iso-2022-kr johab)],
     );
 
+
 my $dir = dirname(__FILE__);
 my $seq = 1;
 
@@ -54,9 +52,11 @@ for my $charset (sort keys %Charset){
     my $dst_enc = File::Spec->catfile($dir,"$$.enc");
     my $dst_utf = File::Spec->catfile($dir,"$$.utf");
 
-
     open $src, "<$src_enc" or die "$src_enc : $!";
-    # binmode($src); # not needed! 
+    
+    if (PerlIO::Layer->find('perlio')){
+       binmode($src, ":bytes"); # needed when :utf8 in default open layer
+    }
 
     $txt = join('',<$src>);
     close($src);
@@ -92,10 +92,12 @@ for my $charset (sort keys %Charset){
     }
     close $src;
 
+    my $unisave = $uni;
     eval{ $txt = $transcoder->encode($uni,1) };    
     $@ and print $@;
     ok(defined($txt),   "encode $charset"); $seq++;
     is(length($uni), 0, "encode $charset completely");  $seq++;
+    $uni = $unisave;
 
     open $dst,">$dst_enc" or die "$dst_utf : $!";
     binmode($dst);
@@ -105,10 +107,10 @@ for my $charset (sort keys %Charset){
        or ($DEBUG and rename $dst_enc, "$dst_enc.$seq");
     $seq++;
     
-    for my $canon (@{$Charset{$charset}}){
-       is($uni, decode($canon, encode($canon, $uni)), 
-          "RT/$charset/$canon");
-       $seq++;
-     }
     unlink($dst_utf, $dst_enc);
+
+    for my $encoding (@{$Charset{$charset}}){
+       my $rt = decode($encoding, encode($encoding, $uni));
+       is ($rt, $uni, "RT $encoding");
+    }
 }