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 | |
93f09d7b | 14 | <<<<<< Add a test when something actually calls utf16_to_utf8 |
f0df466a JH |
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 |
507b9800 | 63 | ######## |
62961d2e JH |
64 | use warnings 'utf8'; |
65 | my $d7ff = pack("U", 0xD7FF); | |
66 | my $d800 = pack("U", 0xD800); | |
67 | my $dfff = pack("U", 0xDFFF); | |
68 | my $e000 = pack("U", 0xE000); | |
c867b360 | 69 | my $feff = pack("U", 0xFEFF); |
62961d2e | 70 | my $fffd = pack("U", 0xFFFD); |
c867b360 | 71 | my $fffe = pack("U", 0xFFFE); |
62961d2e JH |
72 | my $ffff = pack("U", 0xFFFF); |
73 | my $hex4 = pack("U", 0x10000); | |
74 | my $hex5 = pack("U", 0x100000); | |
c867b360 | 75 | my $maxm1 = pack("U", 0x10FFFE); |
62961d2e JH |
76 | my $max = pack("U", 0x10FFFF); |
77 | no warnings 'utf8'; | |
78 | my $d7ff = pack("U", 0xD7FF); | |
79 | my $d800 = pack("U", 0xD800); | |
80 | my $dfff = pack("U", 0xDFFF); | |
81 | my $e000 = pack("U", 0xE000); | |
c867b360 | 82 | my $feff = pack("U", 0xFEFF); |
62961d2e | 83 | my $fffd = pack("U", 0xFFFD); |
c867b360 | 84 | my $fffe = pack("U", 0xFFFE); |
62961d2e JH |
85 | my $ffff = pack("U", 0xFFFF); |
86 | my $hex4 = pack("U", 0x10000); | |
87 | my $hex5 = pack("U", 0x100000); | |
c867b360 | 88 | my $maxm1 = pack("U", 0x10FFFE); |
62961d2e JH |
89 | my $max = pack("U", 0x10FFFF); |
90 | EXPECT | |
62961d2e JH |
91 | ######## |
92 | use warnings 'utf8'; | |
93 | my $d7ff = "\x{D7FF}"; | |
94 | my $d800 = "\x{D800}"; | |
95 | my $dfff = "\x{DFFF}"; | |
96 | my $e000 = "\x{E000}"; | |
c867b360 | 97 | my $feff = "\x{FEFF}"; |
62961d2e | 98 | my $fffd = "\x{FFFD}"; |
c867b360 | 99 | my $fffe = "\x{FFFE}"; |
62961d2e JH |
100 | my $ffff = "\x{FFFF}"; |
101 | my $hex4 = "\x{10000}"; | |
102 | my $hex5 = "\x{100000}"; | |
c867b360 | 103 | my $maxm1 = "\x{10FFFE}"; |
62961d2e | 104 | my $max = "\x{10FFFF}"; |
5b311467 | 105 | uc($ffff); |
62961d2e JH |
106 | no warnings 'utf8'; |
107 | my $d7ff = "\x{D7FF}"; | |
108 | my $d800 = "\x{D800}"; | |
109 | my $dfff = "\x{DFFF}"; | |
110 | my $e000 = "\x{E000}"; | |
c867b360 | 111 | my $feff = "\x{FEFF}"; |
62961d2e | 112 | my $fffd = "\x{FFFD}"; |
c867b360 | 113 | my $fffe = "\x{FFFE}"; |
62961d2e JH |
114 | my $ffff = "\x{FFFF}"; |
115 | my $hex4 = "\x{10000}"; | |
116 | my $hex5 = "\x{100000}"; | |
c867b360 | 117 | my $maxm1 = "\x{10FFFE}"; |
62961d2e | 118 | my $max = "\x{10FFFF}"; |
5b311467 | 119 | uc($ffff); |
62961d2e | 120 | EXPECT |