-# $Id: enc_module.t,v 1.1 2003/02/28 01:40:27 dankogai Exp dankogai $
+# $Id: enc_module.t,v 2.0 2004/05/16 20:55:18 dankogai Exp $
# This file is in euc-jp
BEGIN {
require Config; import Config;
print "1..0 # Skip: PerlIO was not built\n";
exit 0;
}
+ if (defined ${^UNICODE} and ${^UNICODE} != 0){
+ print "1..0 # Skip: \${^UNICODE} == ${^UNICODE}\n";
+ exit 0;
+ }
if (ord("A") == 193) {
print "1..0 # encoding pragma does not support EBCDIC platforms\n";
exit(0);
}
}
-use lib 't';
-use lib qw(ext/Encode/t ../ext/Encode/t); # in case of perl core
+use lib qw(t ext/Encode/t ../ext/Encode/t); # latter 2 for perl core
use Mod_EUCJP;
use encoding "euc-jp";
use Test::More tests => 3;
use File::Spec;
use File::Compare qw(compare_text);
+my $DEBUG = shift || 0;
my $dir = dirname(__FILE__);
my $file0 = File::Spec->catfile($dir,"enc_module.enc");
my $file1 = File::Spec->catfile($dir,"$$.enc");
my $obj = Mod_EUCJP->new;
-# Isn't this dangerous in that we lose all possible warnings?
-# Maybe a scoped use warnings 'something' instead? --jhi
-local $SIG{__WARN__} = sub{}; # to silence reopening STD(IN|OUT) w/o closing
+local $SIG{__WARN__} = sub{ $DEBUG and print STDERR @_ };
+# to silence reopening STD(IN|OUT) w/o closing unless $DEBUG
open STDOUT, ">", $file1 or die "$file1:$!";
print $obj->str, "\n";
$obj->set("¥Æ¥¹¥Èʸ»úÎó");
print $obj->str, "\n";
-close STDOUT;
+
+# Please do not move this to a point after the comparison -- Craig Berry
+# and "unless $^O eq 'freebsd'" is needed for FreeBSD (toy-)?thread
+# -- dankogai
+close STDOUT unless $^O eq 'freebsd';
my $cmp = compare_text($file0, $file1);
is($cmp, 0, "encoding vs. STDOUT");
-unlink $file1 unless $cmp;
my @cmp = qw/½é´üʸ»úÎó ¥Æ¥¹¥Èʸ»úÎó/;
open STDIN, "<", $file0 or die "$file0:$!";
$obj = Mod_EUCJP->new;
my $i = 0;
while(<STDIN>){
- chomp;
+ s/\r?\n\z//;
is ($cmp[$i++], $_, "encoding vs. STDIN - $i");
}
+unlink $file1 unless $cmp;
__END__