1 # $Id: enc_module.t,v 1.6 2003/05/10 18:13:59 dankogai Exp $
2 # This file is in euc-jp
4 require Config; import Config;
5 if ($Config{'extensions'} !~ /\bEncode\b/) {
6 print "1..0 # Skip: Encode was not built\n";
9 unless (find PerlIO::Layer 'perlio') {
10 print "1..0 # Skip: PerlIO was not built\n";
13 if (defined ${^UNICODE} and ${^UNICODE} != 0){
14 print "1..0 # Skip: \${^UNICODE} == ${^UNICODE}\n";
17 if (ord("A") == 193) {
18 print "1..0 # encoding pragma does not support EBCDIC platforms\n";
22 use lib qw(t ext/Encode/t ../ext/Encode/t); # latter 2 for perl core
24 use encoding "euc-jp";
25 use Test::More tests => 3;
28 use File::Compare qw(compare_text);
30 my $DEBUG = shift || 0;
31 my $dir = dirname(__FILE__);
32 my $file0 = File::Spec->catfile($dir,"enc_module.enc");
33 my $file1 = File::Spec->catfile($dir,"$$.enc");
35 my $obj = Mod_EUCJP->new;
36 local $SIG{__WARN__} = sub{ $DEBUG and print STDERR @_ };
37 # to silence reopening STD(IN|OUT) w/o closing unless $DEBUG
39 open STDOUT, ">", $file1 or die "$file1:$!";
40 print $obj->str, "\n";
41 $obj->set("¥Æ¥¹¥Èʸ»úÎó");
42 print $obj->str, "\n";
44 # Please do not move this to a point after the comparison -- Craig Berry
45 # and "unless $^O eq 'freebsd'" is needed for FreeBSD (toy-)?thread
47 close STDOUT unless $^O eq 'freebsd';
49 my $cmp = compare_text($file0, $file1);
50 is($cmp, 0, "encoding vs. STDOUT");
52 my @cmp = qw/½é´üʸ»úÎó ¥Æ¥¹¥Èʸ»úÎó/;
53 open STDIN, "<", $file0 or die "$file0:$!";
54 $obj = Mod_EUCJP->new;
58 is ($cmp[$i++], $_, "encoding vs. STDIN - $i");
61 unlink $file1 unless $cmp;