From d2f5bb607f1fc65bd0b35eccba6235d4631fa3af Mon Sep 17 00:00:00 2001 From: Peter Prymmer Date: Thu, 29 Mar 2001 10:01:18 -0800 Subject: [PATCH] more tests (was Re: Perl5.7.* Unicode/EBCDIC status.) Message-ID: p4raw-id: //depot/perl@9461 --- t/comp/require.t | 11 +++++++++-- t/io/utf8.t | 36 ++++++++++++++++++++++++++---------- t/lib/digest.t | 9 +++++++-- t/lib/glob-basic.t | 4 ++++ t/lib/md5-file.t | 2 +- 5 files changed, 47 insertions(+), 15 deletions(-) diff --git a/t/comp/require.t b/t/comp/require.t index e634532..0741561 100755 --- a/t/comp/require.t +++ b/t/comp/require.t @@ -8,7 +8,11 @@ BEGIN { # don't make this lexical $i = 1; -print "1..23\n"; + +my $Is_EBCDIC = (ord('A') == 193) ? 1 : 0; +my $total_tests = 23; +if ($Is_EBCDIC) { $total_tests = 20; } +print "1..$total_tests\n"; sub do_require { %INC = (); @@ -126,7 +130,10 @@ dofile(); sub dofile { do "bleah.do"; }; print $x; -# UTF-encoded things +# UTF-encoded things - skipped on EBCDIC machines + +if ($Is_EBCDIC) { exit; } + my $utf8 = chr(0xFEFF); $i++; do_require(qq(${utf8}print "ok $i\n"; 1;\n)); diff --git a/t/io/utf8.t b/t/io/utf8.t index 38d7007..52b641d 100755 --- a/t/io/utf8.t +++ b/t/io/utf8.t @@ -10,7 +10,9 @@ BEGIN { } $| = 1; -print "1..25\n"; +my $total_tests = 25; +if (ord('A') == 193) { $total_tests = 24; } # EBCDIC platforms do not warn on UTF-8 +print "1..$total_tests\n"; open(F,"+>:utf8",'a'); print F chr(0x100).'£'; @@ -30,13 +32,21 @@ print "not " unless getc(F) eq "\n"; print "ok 5\n"; seek(F,0,0); binmode(F,":bytes"); -print "not " unless getc(F) eq chr(0xc4); +my $chr = chr(0xc4); +if (ord('A') == 193) { $chr = chr(0x8c); } # EBCDIC +print "not " unless getc(F) eq $chr; print "ok 6\n"; -print "not " unless getc(F) eq chr(0x80); +$chr = chr(0x80); +if (ord('A') == 193) { $chr = chr(0x41); } # EBCDIC +print "not " unless getc(F) eq $chr; print "ok 7\n"; -print "not " unless getc(F) eq chr(0xc2); +$chr = chr(0xc2); +if (ord('A') == 193) { $chr = chr(0x80); } # EBCDIC +print "not " unless getc(F) eq $chr; print "ok 8\n"; -print "not " unless getc(F) eq chr(0xa3); +$chr = chr(0xa3); +if (ord('A') == 193) { $chr = chr(0x44); } # EBCDIC +print "not " unless getc(F) eq $chr; print "ok 9\n"; print "not " unless getc(F) eq "\n"; print "ok 10\n"; @@ -70,7 +80,9 @@ print "ok 14\n"; open F, "a" or die $!; # Not UTF $x = ; chomp($x); -print "not " unless $x eq chr(196).chr(172); +$chr = chr(196).chr(172); +if (ord('A') == 193) { $chr = chr(141).chr(83); } # EBCDIC +print "not " unless $x eq $chr; print "ok 15\n"; close F; @@ -99,7 +111,7 @@ print "ok 18\n"; } { my $x = tell(F); - { use bytes; $y += 3;} + { use bytes; if (ord('A')==193){$y += 2;}else{$y += 3;}} # EBCDIC ASCII print "not ($x,$y) " unless $x == $y; print "ok 19\n"; } @@ -109,7 +121,9 @@ close F; open F, "a" or die $!; # Not UTF $x = ; chomp($x); -printf "not (%vd) ", $x unless $x eq v196.172.194.130; +$chr = v196.172.194.130; +if (ord('A') == 193) { $chr = v141.83.130; } # EBCDIC +printf "not (%vd) ", $x unless $x eq $chr; print "ok 20\n"; open F, "<:utf8", "a" or die $!; @@ -135,7 +149,9 @@ close F; open F, "<", "a" or die $!; $x = ; chomp $x; -print "not " unless $x eq v196.172.130; +$chr = v196.172.130; +if (ord('A') == 193) { $chr = v141.83.130; } # EBCDIC +print "not " unless $x eq $chr; print "ok 23\n"; # Right. @@ -148,7 +164,7 @@ close F; open F, "<", "a" or die $!; $x = ; chomp $x; -print "not " unless $x eq v196.172.130; +print "not " unless $x eq $chr; print "ok 24\n"; # Now we have a deformed file. diff --git a/t/lib/digest.t b/t/lib/digest.t index 200de2b..5741b77 100644 --- a/t/lib/digest.t +++ b/t/lib/digest.t @@ -7,10 +7,15 @@ BEGIN { use Digest; -print "not " unless Digest->MD5->add("abc")->hexdigest eq "900150983cd24fb0d6963f7d28e17f72"; +my $hexdigest = "900150983cd24fb0d6963f7d28e17f72"; +if (ord('A') == 193) { # EBCDIC + $hexdigest = "fe4ea0d98f9cd8d1d27f102a93cb0bb0"; # IBM-1047 +} + +print "not " unless Digest->MD5->add("abc")->hexdigest eq $hexdigest; print "ok 1\n"; -print "not " unless Digest->MD5->add("abc")->hexdigest eq "900150983cd24fb0d6963f7d28e17f72"; +print "not " unless Digest->MD5->add("abc")->hexdigest eq $hexdigest; print "ok 2\n"; eval { diff --git a/t/lib/glob-basic.t b/t/lib/glob-basic.t index f23908c..4f143ac 100755 --- a/t/lib/glob-basic.t +++ b/t/lib/glob-basic.t @@ -130,6 +130,10 @@ mkdir "pteerslt", 0777; chdir "pteerslt"; @f_ascii = qw(A.test B.test C.test a.test b.test c.test); @f_alpha = qw(A.test a.test B.test b.test C.test c.test); +if (ord('A') == 193) { # EBCDIC char sets sort lower case before UPPER + @f_ascii = sort(@f_ascii); + @f_alpha = qw(a.test A.test b.test B.test c.test C.test); +} for (@f_ascii) { open T, "> $_"; close T; diff --git a/t/lib/md5-file.t b/t/lib/md5-file.t index 6ef19b4..8613271 100644 --- a/t/lib/md5-file.t +++ b/t/lib/md5-file.t @@ -15,7 +15,7 @@ my $EXPECT; if (ord('A') == 193) { # EBCDIC $EXPECT = <