Commit | Line | Data |
---|---|---|
f0df466a JH |
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 | |
18 | BEGIN { | |
19 | if (ord('A') == 193) { | |
20 | print "SKIPPED\n# ebcdic platforms do not generate Malformed UTF-8 warnings."; | |
21 | exit 0; | |
22 | } | |
23 | } | |
24 | use utf8 ; | |
25 | my $a = "snøstorm" ; | |
26 | { | |
27 | no warnings 'utf8' ; | |
28 | my $a = "snøstorm"; | |
29 | use warnings 'utf8' ; | |
30 | my $a = "snøstorm"; | |
31 | } | |
32 | EXPECT | |
41432148 JH |
33 | Malformed UTF-8 character (unexpected non-continuation byte 0x73, immediately after start byte 0xf8) at - line 9. |
34 | Malformed UTF-8 character (unexpected non-continuation byte 0x73, immediately after start byte 0xf8) at - line 14. | |
f0df466a | 35 | ######## |
507b9800 | 36 | use warnings 'utf8'; |
62961d2e JH |
37 | my $d7ff = chr(0xD7FF); |
38 | my $d800 = chr(0xD800); | |
39 | my $dfff = chr(0xDFFF); | |
40 | my $e000 = chr(0xE000); | |
c867b360 | 41 | my $feff = chr(0xFEFF); |
62961d2e | 42 | my $fffd = chr(0xFFFD); |
c867b360 | 43 | my $fffe = chr(0xFFFE); |
62961d2e JH |
44 | my $ffff = chr(0xFFFF); |
45 | my $hex4 = chr(0x10000); | |
46 | my $hex5 = chr(0x100000); | |
c867b360 | 47 | my $maxm1 = chr(0x10FFFE); |
62961d2e | 48 | my $max = chr(0x10FFFF); |
507b9800 | 49 | no warnings 'utf8'; |
62961d2e JH |
50 | my $d7ff = chr(0xD7FF); |
51 | my $d800 = chr(0xD800); | |
52 | my $dfff = chr(0xDFFF); | |
53 | my $e000 = chr(0xE000); | |
c867b360 | 54 | my $feff = chr(0xFEFF); |
62961d2e | 55 | my $fffd = chr(0xFFFD); |
c867b360 | 56 | my $fffe = chr(0xFFFE); |
62961d2e JH |
57 | my $ffff = chr(0xFFFF); |
58 | my $hex4 = chr(0x10000); | |
59 | my $hex5 = chr(0x100000); | |
c867b360 | 60 | my $maxm1 = chr(0x10FFFE); |
62961d2e | 61 | my $max = chr(0x10FFFF); |
507b9800 | 62 | EXPECT |
62961d2e JH |
63 | UTF-16 surrogate 0xd800 at - line 3. |
64 | UTF-16 surrogate 0xdfff at - line 4. | |
c867b360 JH |
65 | Unicode character 0xfffe is illegal at - line 8. |
66 | Unicode character 0xffff is illegal at - line 9. | |
67 | Unicode character 0x10fffe is illegal at - line 12. | |
68 | Unicode character 0x10ffff is illegal at - line 13. | |
507b9800 | 69 | ######## |
62961d2e JH |
70 | use warnings 'utf8'; |
71 | my $d7ff = pack("U", 0xD7FF); | |
72 | my $d800 = pack("U", 0xD800); | |
73 | my $dfff = pack("U", 0xDFFF); | |
74 | my $e000 = pack("U", 0xE000); | |
c867b360 | 75 | my $feff = pack("U", 0xFEFF); |
62961d2e | 76 | my $fffd = pack("U", 0xFFFD); |
c867b360 | 77 | my $fffe = pack("U", 0xFFFE); |
62961d2e JH |
78 | my $ffff = pack("U", 0xFFFF); |
79 | my $hex4 = pack("U", 0x10000); | |
80 | my $hex5 = pack("U", 0x100000); | |
c867b360 | 81 | my $maxm1 = pack("U", 0x10FFFE); |
62961d2e JH |
82 | my $max = pack("U", 0x10FFFF); |
83 | no warnings 'utf8'; | |
84 | my $d7ff = pack("U", 0xD7FF); | |
85 | my $d800 = pack("U", 0xD800); | |
86 | my $dfff = pack("U", 0xDFFF); | |
87 | my $e000 = pack("U", 0xE000); | |
c867b360 | 88 | my $feff = pack("U", 0xFEFF); |
62961d2e | 89 | my $fffd = pack("U", 0xFFFD); |
c867b360 | 90 | my $fffe = pack("U", 0xFFFE); |
62961d2e JH |
91 | my $ffff = pack("U", 0xFFFF); |
92 | my $hex4 = pack("U", 0x10000); | |
93 | my $hex5 = pack("U", 0x100000); | |
c867b360 | 94 | my $maxm1 = pack("U", 0x10FFFE); |
62961d2e JH |
95 | my $max = pack("U", 0x10FFFF); |
96 | EXPECT | |
97 | UTF-16 surrogate 0xd800 at - line 3. | |
98 | UTF-16 surrogate 0xdfff at - line 4. | |
c867b360 JH |
99 | Unicode character 0xfffe is illegal at - line 8. |
100 | Unicode character 0xffff is illegal at - line 9. | |
101 | Unicode character 0x10fffe is illegal at - line 12. | |
102 | Unicode character 0x10ffff is illegal at - line 13. | |
62961d2e JH |
103 | ######## |
104 | use warnings 'utf8'; | |
105 | my $d7ff = "\x{D7FF}"; | |
106 | my $d800 = "\x{D800}"; | |
107 | my $dfff = "\x{DFFF}"; | |
108 | my $e000 = "\x{E000}"; | |
c867b360 | 109 | my $feff = "\x{FEFF}"; |
62961d2e | 110 | my $fffd = "\x{FFFD}"; |
c867b360 | 111 | my $fffe = "\x{FFFE}"; |
62961d2e JH |
112 | my $ffff = "\x{FFFF}"; |
113 | my $hex4 = "\x{10000}"; | |
114 | my $hex5 = "\x{100000}"; | |
c867b360 | 115 | my $maxm1 = "\x{10FFFE}"; |
62961d2e JH |
116 | my $max = "\x{10FFFF}"; |
117 | no warnings 'utf8'; | |
118 | my $d7ff = "\x{D7FF}"; | |
119 | my $d800 = "\x{D800}"; | |
120 | my $dfff = "\x{DFFF}"; | |
121 | my $e000 = "\x{E000}"; | |
c867b360 | 122 | my $feff = "\x{FEFF}"; |
62961d2e | 123 | my $fffd = "\x{FFFD}"; |
c867b360 | 124 | my $fffe = "\x{FFFE}"; |
62961d2e JH |
125 | my $ffff = "\x{FFFF}"; |
126 | my $hex4 = "\x{10000}"; | |
127 | my $hex5 = "\x{100000}"; | |
c867b360 | 128 | my $maxm1 = "\x{10FFFE}"; |
62961d2e JH |
129 | my $max = "\x{10FFFF}"; |
130 | EXPECT | |
131 | UTF-16 surrogate 0xd800 at - line 3. | |
132 | UTF-16 surrogate 0xdfff at - line 4. | |
c867b360 JH |
133 | Unicode character 0xfffe is illegal at - line 8. |
134 | Unicode character 0xffff is illegal at - line 9. | |
135 | Unicode character 0x10fffe is illegal at - line 12. | |
136 | Unicode character 0x10ffff is illegal at - line 13. |