OS/2 update
[p5sagit/p5-mst-13.2.git] / t / io / utf8.t
index aade3bd..7b2d672 100755 (executable)
@@ -13,7 +13,7 @@ no utf8; # needed for use utf8 not griping about the raw octets
 
 require "./test.pl";
 
-plan(tests => 52);
+plan(tests => 53);
 
 $| = 1;
 
@@ -314,16 +314,25 @@ ok( 1 );
 # sysread() and syswrite() tested in lib/open.t since Fcntl is used
 
 {
-    # <FH> on a :utf8 stream should complain immediately
+    # <FH> on a :utf8 stream should complain immediately with -w
     # if it finds bad UTF-8 (:encoding(utf8) works this way)
+    use warnings 'utf8';
+    undef $@;
     local $SIG{__WARN__} = sub { $@ = shift };
     open F, ">a";
     binmode F;
     print F "foo", chr(0xE4), "\n";
+    print F "foo", chr(0xF6), "\n";
     close F;
     open F, "<:utf8", "a";
+    undef $@;
     my $line = <F>;
-    like( $@, qr/utf8 "\\xE4" does not map to Unicode/ );
+    like( $@, qr/utf8 "\\xE4" does not map to Unicode .+ <F> line 1/,
+         "<:utf8 readline must warn about bad utf8");
+    undef $@;
+    $line .= <F>;
+    like( $@, qr/utf8 "\\xF6" does not map to Unicode .+ <F> line 2/,
+         "<:utf8 rcatline must warn about bad utf8");
     close F;
 }