Re: bug? no warning from getc BOLLOCKS
[p5sagit/p5-mst-13.2.git] / t / lib / warnings / utf8
CommitLineData
f0df466a 1
2 utf8.c AOK
3
4 [utf8_to_uv]
5 Malformed UTF-8 character
6 my $a = ord "\x80" ;
7
8 Malformed UTF-8 character
9 my $a = ord "\xf080" ;
10 <<<<<< this warning can't be easily triggered from perl anymore
11
12 [utf16_to_utf8]
13 Malformed UTF-16 surrogate
14 <<<<<< Add a test when somethig actually calls utf16_to_utf8
15
16__END__
17# utf8.c [utf8_to_uv] -W
18BEGIN {
19 if (ord('A') == 193) {
20 print "SKIPPED\n# ebcdic platforms do not generate Malformed UTF-8 warnings.";
21 exit 0;
22 }
23}
24use utf8 ;
25my $a = "snøstorm" ;
26{
27 no warnings 'utf8' ;
28 my $a = "snøstorm";
29 use warnings 'utf8' ;
30 my $a = "snøstorm";
31}
32EXPECT
41432148 33Malformed UTF-8 character (unexpected non-continuation byte 0x73, immediately after start byte 0xf8) at - line 9.
34Malformed UTF-8 character (unexpected non-continuation byte 0x73, immediately after start byte 0xf8) at - line 14.
f0df466a 35########
507b9800 36use warnings 'utf8';
62961d2e 37my $d7ff = chr(0xD7FF);
38my $d800 = chr(0xD800);
39my $dfff = chr(0xDFFF);
40my $e000 = chr(0xE000);
41my $fffd = chr(0xFFFD);
42my $fffe = chr(0xFFFE);
43my $ffff = chr(0xFFFF);
44my $hex4 = chr(0x10000);
45my $hex5 = chr(0x100000);
46my $max = chr(0x10FFFF);
507b9800 47no warnings 'utf8';
62961d2e 48my $d7ff = chr(0xD7FF);
49my $d800 = chr(0xD800);
50my $dfff = chr(0xDFFF);
51my $e000 = chr(0xE000);
52my $fffd = chr(0xFFFD);
53my $fffe = chr(0xFFFE);
54my $ffff = chr(0xFFFF);
55my $hex4 = chr(0x10000);
56my $hex5 = chr(0x100000);
57my $max = chr(0x10FFFF);
507b9800 58EXPECT
62961d2e 59UTF-16 surrogate 0xd800 at - line 3.
60UTF-16 surrogate 0xdfff at - line 4.
61Unicode character 0xfffe is illegal at - line 7.
62Unicode character 0xffff is illegal at - line 8.
63Unicode character 0x10ffff is illegal at - line 11.
507b9800 64########
62961d2e 65use warnings 'utf8';
66my $d7ff = pack("U", 0xD7FF);
67my $d800 = pack("U", 0xD800);
68my $dfff = pack("U", 0xDFFF);
69my $e000 = pack("U", 0xE000);
70my $fffd = pack("U", 0xFFFD);
71my $fffe = pack("U", 0xFFFE);
72my $ffff = pack("U", 0xFFFF);
73my $hex4 = pack("U", 0x10000);
74my $hex5 = pack("U", 0x100000);
75my $max = pack("U", 0x10FFFF);
76no warnings 'utf8';
77my $d7ff = pack("U", 0xD7FF);
78my $d800 = pack("U", 0xD800);
79my $dfff = pack("U", 0xDFFF);
80my $e000 = pack("U", 0xE000);
81my $fffd = pack("U", 0xFFFD);
82my $fffe = pack("U", 0xFFFE);
83my $ffff = pack("U", 0xFFFF);
84my $hex4 = pack("U", 0x10000);
85my $hex5 = pack("U", 0x100000);
86my $max = pack("U", 0x10FFFF);
87EXPECT
88UTF-16 surrogate 0xd800 at - line 3.
89UTF-16 surrogate 0xdfff at - line 4.
90Unicode character 0xfffe is illegal at - line 7.
91Unicode character 0xffff is illegal at - line 8.
92Unicode character 0x10ffff is illegal at - line 11.
93########
94use warnings 'utf8';
95my $d7ff = "\x{D7FF}";
96my $d800 = "\x{D800}";
97my $dfff = "\x{DFFF}";
98my $e000 = "\x{E000}";
99my $fffd = "\x{FFFD}";
100my $fffe = "\x{FFFE}";
101my $ffff = "\x{FFFF}";
102my $hex4 = "\x{10000}";
103my $hex5 = "\x{100000}";
104my $max = "\x{10FFFF}";
105no warnings 'utf8';
106my $d7ff = "\x{D7FF}";
107my $d800 = "\x{D800}";
108my $dfff = "\x{DFFF}";
109my $e000 = "\x{E000}";
110my $fffd = "\x{FFFD}";
111my $fffe = "\x{FFFE}";
112my $ffff = "\x{FFFF}";
113my $hex4 = "\x{10000}";
114my $hex5 = "\x{100000}";
115my $max = "\x{10FFFF}";
116EXPECT
117UTF-16 surrogate 0xd800 at - line 3.
118UTF-16 surrogate 0xdfff at - line 4.
119Unicode character 0xfffe is illegal at - line 7.
120Unicode character 0xffff is illegal at - line 8.
121Unicode character 0x10ffff is illegal at - line 11.