Annotation of embedaddon/php/ext/standard/tests/strings/htmlentities21.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: htmlentities() / htmlspecialchars() ENT_DISALLOWED charset variation
3: --FILE--
4: <?php
5: $tests = array(
6: 0x00, //C0
7: 0x01,
8: 0x09,
9: 0x0A,
10: 0x0B,
11: 0x0C,
12: 0x0D,
13: 0x0E,
14: 0x1F,
15: 0x20, //allowed always
16: 0x7F, //DEL
17: 0x80, //C1
18: 0x9F,
19: 0xA0, //allowed always
20: );
21:
22: function test($flag, $charset) {
23: global $tests;
24: $i = -1;
25: error_reporting(-1 & ~E_STRICT);
26: foreach ($tests as $test) {
27: $test = chr($test);
28: $i++;
29: $a = htmlentities($test, $flag | ENT_DISALLOWED, $charset);
30: $b = htmlspecialchars($test, $flag | ENT_DISALLOWED, $charset);
31: if ($a == "" && $b == "") { echo sprintf("%05X", $tests[$i]), ": INVALID SEQUENCE\n"; continue; }
32: echo sprintf("%05X", $tests[$i]), ": ", bin2hex($a), " ", bin2hex($b), "\n";
33: }
34: error_reporting(-1);
35: }
36:
37: echo "*** Testing HTML 4.01/Windows-1251 ***\n";
38:
39: test(ENT_HTML401, "Windows-1251");
40:
41: echo "\n*** Testing XHTML 1.0/Windows-1251 ***\n";
42:
43: test(ENT_XHTML, "Windows-1251");
44:
45: echo "\n*** Testing HTML 5/Windows-1251 ***\n";
46:
47: test(ENT_HTML5, "Windows-1251");
48:
49: echo "\n*** Testing XML 1.0/Windows-1251 ***\n";
50:
51: test(ENT_XML1, "Windows-1251");
52:
53: echo "\n*** Testing HTML 4.01/SJIS ***\n";
54:
55: test(ENT_HTML401, "SJIS");
56:
57: echo "\n*** Testing XHTML 1.0/SJIS ***\n";
58:
59: test(ENT_XHTML, "SJIS");
60:
61: echo "\n*** Testing HTML 5/SJIS ***\n";
62:
63: test(ENT_HTML5, "SJIS");
64:
65: echo "\n*** Testing XML 1.0/SJIS ***\n";
66:
67: test(ENT_XML1, "SJIS");
68:
69:
70: ?>
71: --EXPECT--
72: *** Testing HTML 4.01/Windows-1251 ***
73: 00000: 262378464646443b 262378464646443b
74: 00001: 262378464646443b 262378464646443b
75: 00009: 09 09
76: 0000A: 0a 0a
77: 0000B: 262378464646443b 262378464646443b
78: 0000C: 262378464646443b 262378464646443b
79: 0000D: 0d 0d
80: 0000E: 262378464646443b 262378464646443b
81: 0001F: 262378464646443b 262378464646443b
82: 00020: 20 20
83: 0007F: 262378464646443b 7f
84: 00080: 80 80
85: 0009F: 9f 9f
86: 000A0: 266e6273703b a0
87:
88: *** Testing XHTML 1.0/Windows-1251 ***
89: 00000: 262378464646443b 262378464646443b
90: 00001: 262378464646443b 262378464646443b
91: 00009: 09 09
92: 0000A: 0a 0a
93: 0000B: 262378464646443b 262378464646443b
94: 0000C: 262378464646443b 262378464646443b
95: 0000D: 0d 0d
96: 0000E: 262378464646443b 262378464646443b
97: 0001F: 262378464646443b 262378464646443b
98: 00020: 20 20
99: 0007F: 7f 7f
100: 00080: 80 80
101: 0009F: 9f 9f
102: 000A0: 266e6273703b a0
103:
104: *** Testing HTML 5/Windows-1251 ***
105: 00000: 262378464646443b 262378464646443b
106: 00001: 262378464646443b 262378464646443b
107: 00009: 265461623b 09
108: 0000A: 264e65774c696e653b 0a
109: 0000B: 262378464646443b 262378464646443b
110: 0000C: 0c 0c
111: 0000D: 0d 0d
112: 0000E: 262378464646443b 262378464646443b
113: 0001F: 262378464646443b 262378464646443b
114: 00020: 20 20
115: 0007F: 262378464646443b 7f
116: 00080: 26444a63793b 80
117: 0009F: 26647a63793b 9f
118: 000A0: 266e6273703b a0
119:
120: *** Testing XML 1.0/Windows-1251 ***
121: 00000: 262378464646443b 262378464646443b
122: 00001: 262378464646443b 262378464646443b
123: 00009: 09 09
124: 0000A: 0a 0a
125: 0000B: 262378464646443b 262378464646443b
126: 0000C: 262378464646443b 262378464646443b
127: 0000D: 0d 0d
128: 0000E: 262378464646443b 262378464646443b
129: 0001F: 262378464646443b 262378464646443b
130: 00020: 20 20
131: 0007F: 7f 7f
132: 00080: 80 80
133: 0009F: 9f 9f
134: 000A0: a0 a0
135:
136: *** Testing HTML 4.01/SJIS ***
137: 00000: 262378464646443b 262378464646443b
138: 00001: 262378464646443b 262378464646443b
139: 00009: 09 09
140: 0000A: 0a 0a
141: 0000B: 262378464646443b 262378464646443b
142: 0000C: 262378464646443b 262378464646443b
143: 0000D: 0d 0d
144: 0000E: 262378464646443b 262378464646443b
145: 0001F: 262378464646443b 262378464646443b
146: 00020: 20 20
147: 0007F: 7f 7f
148: 00080: INVALID SEQUENCE
149: 0009F: INVALID SEQUENCE
150: 000A0: INVALID SEQUENCE
151:
152: *** Testing XHTML 1.0/SJIS ***
153: 00000: 262378464646443b 262378464646443b
154: 00001: 262378464646443b 262378464646443b
155: 00009: 09 09
156: 0000A: 0a 0a
157: 0000B: 262378464646443b 262378464646443b
158: 0000C: 262378464646443b 262378464646443b
159: 0000D: 0d 0d
160: 0000E: 262378464646443b 262378464646443b
161: 0001F: 262378464646443b 262378464646443b
162: 00020: 20 20
163: 0007F: 7f 7f
164: 00080: INVALID SEQUENCE
165: 0009F: INVALID SEQUENCE
166: 000A0: INVALID SEQUENCE
167:
168: *** Testing HTML 5/SJIS ***
169: 00000: 262378464646443b 262378464646443b
170: 00001: 262378464646443b 262378464646443b
171: 00009: 09 09
172: 0000A: 0a 0a
173: 0000B: 262378464646443b 262378464646443b
174: 0000C: 0c 0c
175: 0000D: 0d 0d
176: 0000E: 262378464646443b 262378464646443b
177: 0001F: 262378464646443b 262378464646443b
178: 00020: 20 20
179: 0007F: 7f 7f
180: 00080: INVALID SEQUENCE
181: 0009F: INVALID SEQUENCE
182: 000A0: INVALID SEQUENCE
183:
184: *** Testing XML 1.0/SJIS ***
185: 00000: 262378464646443b 262378464646443b
186: 00001: 262378464646443b 262378464646443b
187: 00009: 09 09
188: 0000A: 0a 0a
189: 0000B: 262378464646443b 262378464646443b
190: 0000C: 262378464646443b 262378464646443b
191: 0000D: 0d 0d
192: 0000E: 262378464646443b 262378464646443b
193: 0001F: 262378464646443b 262378464646443b
194: 00020: 20 20
195: 0007F: 7f 7f
196: 00080: INVALID SEQUENCE
197: 0009F: INVALID SEQUENCE
198: 000A0: INVALID SEQUENCE
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>