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); |
41 | my $fffd = chr(0xFFFD); |
62961d2e |
42 | my $ffff = chr(0xFFFF); |
43 | my $hex4 = chr(0x10000); |
44 | my $hex5 = chr(0x100000); |
45 | my $max = chr(0x10FFFF); |
507b9800 |
46 | no warnings 'utf8'; |
62961d2e |
47 | my $d7ff = chr(0xD7FF); |
48 | my $d800 = chr(0xD800); |
49 | my $dfff = chr(0xDFFF); |
50 | my $e000 = chr(0xE000); |
51 | my $fffd = chr(0xFFFD); |
62961d2e |
52 | my $ffff = chr(0xFFFF); |
53 | my $hex4 = chr(0x10000); |
54 | my $hex5 = chr(0x100000); |
55 | my $max = chr(0x10FFFF); |
507b9800 |
56 | EXPECT |
62961d2e |
57 | UTF-16 surrogate 0xd800 at - line 3. |
58 | UTF-16 surrogate 0xdfff at - line 4. |
872c91ae |
59 | Unicode character 0xffff is illegal at - line 7. |
60 | Unicode character 0x10ffff is illegal at - line 10. |
507b9800 |
61 | ######## |
62961d2e |
62 | use warnings 'utf8'; |
63 | my $d7ff = pack("U", 0xD7FF); |
64 | my $d800 = pack("U", 0xD800); |
65 | my $dfff = pack("U", 0xDFFF); |
66 | my $e000 = pack("U", 0xE000); |
67 | my $fffd = pack("U", 0xFFFD); |
62961d2e |
68 | my $ffff = pack("U", 0xFFFF); |
69 | my $hex4 = pack("U", 0x10000); |
70 | my $hex5 = pack("U", 0x100000); |
71 | my $max = pack("U", 0x10FFFF); |
72 | no warnings 'utf8'; |
73 | my $d7ff = pack("U", 0xD7FF); |
74 | my $d800 = pack("U", 0xD800); |
75 | my $dfff = pack("U", 0xDFFF); |
76 | my $e000 = pack("U", 0xE000); |
77 | my $fffd = pack("U", 0xFFFD); |
62961d2e |
78 | my $ffff = pack("U", 0xFFFF); |
79 | my $hex4 = pack("U", 0x10000); |
80 | my $hex5 = pack("U", 0x100000); |
81 | my $max = pack("U", 0x10FFFF); |
82 | EXPECT |
83 | UTF-16 surrogate 0xd800 at - line 3. |
84 | UTF-16 surrogate 0xdfff at - line 4. |
872c91ae |
85 | Unicode character 0xffff is illegal at - line 7. |
86 | Unicode character 0x10ffff is illegal at - line 10. |
62961d2e |
87 | ######## |
88 | use warnings 'utf8'; |
89 | my $d7ff = "\x{D7FF}"; |
90 | my $d800 = "\x{D800}"; |
91 | my $dfff = "\x{DFFF}"; |
92 | my $e000 = "\x{E000}"; |
93 | my $fffd = "\x{FFFD}"; |
62961d2e |
94 | my $ffff = "\x{FFFF}"; |
95 | my $hex4 = "\x{10000}"; |
96 | my $hex5 = "\x{100000}"; |
97 | my $max = "\x{10FFFF}"; |
98 | no warnings 'utf8'; |
99 | my $d7ff = "\x{D7FF}"; |
100 | my $d800 = "\x{D800}"; |
101 | my $dfff = "\x{DFFF}"; |
102 | my $e000 = "\x{E000}"; |
103 | my $fffd = "\x{FFFD}"; |
62961d2e |
104 | my $ffff = "\x{FFFF}"; |
105 | my $hex4 = "\x{10000}"; |
106 | my $hex5 = "\x{100000}"; |
107 | my $max = "\x{10FFFF}"; |
108 | EXPECT |
109 | UTF-16 surrogate 0xd800 at - line 3. |
110 | UTF-16 surrogate 0xdfff at - line 4. |
872c91ae |
111 | Unicode character 0xffff is illegal at - line 7. |
112 | Unicode character 0x10ffff is illegal at - line 10. |