Commit | Line | Data |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
63 | UTF-16 surrogate 0xd800 at - line 3. |
64 | UTF-16 surrogate 0xdfff at - line 4. |
6f6ac1de |
65 | Unicode non-character 0xfffe is illegal for interchange at - line 8. |
66 | Unicode non-character 0xffff is illegal for interchange at - line 9. |
67 | Unicode non-character 0x10fffe is illegal for interchange at - line 12. |
68 | Unicode non-character 0x10ffff is illegal for interchange at - line 13. |
507b9800 |
69 | ######## |
62961d2e |
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 |
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 |
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 |
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 |
95 | my $max = pack("U", 0x10FFFF); |
96 | EXPECT |
97 | UTF-16 surrogate 0xd800 at - line 3. |
98 | UTF-16 surrogate 0xdfff at - line 4. |
6f6ac1de |
99 | Unicode non-character 0xfffe is illegal for interchange at - line 8. |
100 | Unicode non-character 0xffff is illegal for interchange at - line 9. |
101 | Unicode non-character 0x10fffe is illegal for interchange at - line 12. |
102 | Unicode non-character 0x10ffff is illegal for interchange at - line 13. |
62961d2e |
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 |
112 | my $ffff = "\x{FFFF}"; |
113 | my $hex4 = "\x{10000}"; |
114 | my $hex5 = "\x{100000}"; |
c867b360 |
115 | my $maxm1 = "\x{10FFFE}"; |
62961d2e |
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 |
125 | my $ffff = "\x{FFFF}"; |
126 | my $hex4 = "\x{10000}"; |
127 | my $hex5 = "\x{100000}"; |
c867b360 |
128 | my $maxm1 = "\x{10FFFE}"; |
62961d2e |
129 | my $max = "\x{10FFFF}"; |
130 | EXPECT |
131 | UTF-16 surrogate 0xd800 at - line 3. |
132 | UTF-16 surrogate 0xdfff at - line 4. |
6f6ac1de |
133 | Unicode non-character 0xfffe is illegal for interchange at - line 8. |
134 | Unicode non-character 0xffff is illegal for interchange at - line 9. |
135 | Unicode non-character 0x10fffe is illegal for interchange at - line 12. |
136 | Unicode non-character 0x10ffff is illegal for interchange at - line 13. |