This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
:encoding(utf8) broken in perl-5.8.6
authorGisle Aas <gisle@aas.no>
Fri, 3 Dec 2004 06:09:19 +0000 (22:09 -0800)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Thu, 9 Dec 2004 16:03:01 +0000 (16:03 +0000)
Message-ID: <lrllcfeank.fsf_-_@caliper.activestate.com>

p4raw-id: //depot/perl@23631

ext/PerlIO/t/encoding.t

index 23266a0..80e2aff 100644 (file)
@@ -16,7 +16,7 @@ BEGIN {
     }
 }
 
     }
 }
 
-print "1..14\n";
+print "1..15\n";
 
 my $grk = "grk$$";
 my $utf = "utf$$";
 
 my $grk = "grk$$";
 my $utf = "utf$$";
@@ -150,6 +150,17 @@ close(F);
 print "not " unless ($dstr eq $str);
 print "ok 14\n";
 
 print "not " unless ($dstr eq $str);
 print "ok 14\n";
 
+# Try decoding some bad stuff
+open(F,'>:raw',$threebyte) || die "Cannot open $threebyte:$!";
+print F "foo\xF0\x80\x80\x80bar\n\x80foo\n";
+close(F);
+
+open(F,'<:encoding(utf-8)',$threebyte) || die "Cannot open $threebyte:$!";
+$dstr = join(":", <F>);
+close(F);
+print "not " unless $dstr eq "foo\\xF0\\x80\\x80\\x80bar\n:\\x80foo\n";
+print "ok 15\n";
+
 END {
     1 while unlink($grk, $utf, $fail1, $fail2, $russki, $threebyte);
 }
 END {
     1 while unlink($grk, $utf, $fail1, $fail2, $russki, $threebyte);
 }