Annotation of embedaddon/php/ext/standard/tests/strings/htmlentities22.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: htmlentities() / htmlspecialchars() ENT_DISALLOWED with entities and no double encode
3: --FILE--
4: <?php
5: $tests = array(
6: "�", //C0
7: "",
8: "	",
9: "
",
10: "",
11: "",
12: "
", //note that HTML5 is unique in that it forbids this entity, but allows a literal U+0D
13: "",
14: "",
15: " ", //allowed always
16: "", //DEL
17: "€", //C1
18: "Ÿ",
19: " ", //allowed always
20: "퟿", //surrogates
21: "�",
22: "�",
23: "", //allowed always
24: "", //nonchar
25: "",
26: "﷏", //allowed always
27: "", //nonchar
28: "",
29: "ﷰ", //allowed always
30: "", //nonchar
31: "",
32: "�", //bad reference
33: );
34:
35: function test($flag, $flag2=ENT_DISALLOWED, $charset="UTF-8") {
36: global $tests;
37: $i = -1;
38: error_reporting(-1 & ~E_STRICT);
39: foreach ($tests as $test) {
40: $i++;
41: $a = htmlentities($test, $flag | $flag2, $charset, FALSE);
42: $b = htmlspecialchars($test, $flag | $flag2, $charset, FALSE);
43:
44: if ($a == $b)
45: echo sprintf("%s\t%s", $test, $a==$test?"NOT CHANGED":"CHANGED"), "\n";
46: else
47: echo sprintf("%s\tCHANGED (%s, %s)", $test, $a, $b), "\n";
48: }
49: error_reporting(-1);
50: }
51:
52: echo "*** Testing HTML 4.01 ***\n";
53:
54: test(ENT_HTML401);
55:
56: echo "\n*** Testing XHTML 1.0 ***\n";
57:
58: test(ENT_XHTML);
59:
60: echo "\n*** Testing HTML 5 ***\n";
61:
62: test(ENT_HTML5);
63:
64: echo "\n*** Testing XML 1.0 ***\n";
65:
66: test(ENT_XML1);
67:
68: echo "\n*** Testing 5 without the flag ***\n";
69:
70: test(ENT_HTML5, 0);
71:
72: echo "\n*** Testing HTML 5 with another single-byte encoding ***\n";
73:
74: test(ENT_HTML5, ENT_DISALLOWED, "Windows-1251");
75:
76: echo "\n*** Testing HTML 5 with another multibyte-byte encoding ***\n";
77:
78: test(ENT_HTML5, ENT_DISALLOWED, "SJIS");
79:
80: ?>
81: --EXPECT--
82: *** Testing HTML 4.01 ***
83: � NOT CHANGED
84:  NOT CHANGED
85: 	 NOT CHANGED
86: 
 NOT CHANGED
87:  NOT CHANGED
88:  NOT CHANGED
89: 
 NOT CHANGED
90:  NOT CHANGED
91:  NOT CHANGED
92:   NOT CHANGED
93:  NOT CHANGED
94: € NOT CHANGED
95: Ÿ NOT CHANGED
96:   NOT CHANGED
97: ퟿ NOT CHANGED
98: � NOT CHANGED
99: � NOT CHANGED
100:  NOT CHANGED
101:  NOT CHANGED
102:  NOT CHANGED
103: ﷏ NOT CHANGED
104:  NOT CHANGED
105:  NOT CHANGED
106: ﷰ NOT CHANGED
107:  NOT CHANGED
108:  NOT CHANGED
109: � CHANGED
110:
111: *** Testing XHTML 1.0 ***
112: � CHANGED
113:  CHANGED
114: 	 NOT CHANGED
115: 
 NOT CHANGED
116:  CHANGED
117:  CHANGED
118: 
 NOT CHANGED
119:  CHANGED
120:  CHANGED
121:   NOT CHANGED
122:  NOT CHANGED
123: € NOT CHANGED
124: Ÿ NOT CHANGED
125:   NOT CHANGED
126: ퟿ NOT CHANGED
127: � CHANGED
128: � CHANGED
129:  NOT CHANGED
130:  CHANGED
131:  CHANGED
132: ﷏ NOT CHANGED
133:  NOT CHANGED
134:  NOT CHANGED
135: ﷰ NOT CHANGED
136:  NOT CHANGED
137:  NOT CHANGED
138: � CHANGED
139:
140: *** Testing HTML 5 ***
141: � CHANGED (&#0;, &#0;)
142:  CHANGED (&#1;, &#1;)
143: 	 NOT CHANGED
144: 
 NOT CHANGED
145:  CHANGED (&#x0B;, &#x0B;)
146:  NOT CHANGED
147: 
 CHANGED (&#x0D;, &#x0D;)
148:  CHANGED (&#x0E;, &#x0E;)
149:  CHANGED (&#x1F;, &#x1F;)
150:   NOT CHANGED
151:  CHANGED (&#x7F;, &#x7F;)
152: € CHANGED (&#x80;, &#x80;)
153: Ÿ CHANGED (&#x9F;, &#x9F;)
154:   NOT CHANGED
155: ퟿ NOT CHANGED
156: � NOT CHANGED
157: � NOT CHANGED
158:  NOT CHANGED
159:  CHANGED (&#xFFFE;, &#xFFFE;)
160:  CHANGED (&#xFFFF;, &#xFFFF;)
161: ﷏ NOT CHANGED
162:  CHANGED (&#xFDD0;, &#xFDD0;)
163:  CHANGED (&#xFDEF;, &#xFDEF;)
164: ﷰ NOT CHANGED
165:  CHANGED (&#x2FFFE;, &#x2FFFE;)
166:  CHANGED (&#x2FFFF;, &#x2FFFF;)
167: � CHANGED (&#x110000;, &#x110000;)
168:
169: *** Testing XML 1.0 ***
170: � CHANGED
171:  CHANGED
172: 	 NOT CHANGED
173: 
 NOT CHANGED
174:  CHANGED
175:  CHANGED
176: 
 NOT CHANGED
177:  CHANGED
178:  CHANGED
179:   NOT CHANGED
180:  NOT CHANGED
181: € NOT CHANGED
182: Ÿ NOT CHANGED
183:   NOT CHANGED
184: ퟿ NOT CHANGED
185: � CHANGED
186: � CHANGED
187:  NOT CHANGED
188:  CHANGED
189:  CHANGED
190: ﷏ NOT CHANGED
191:  NOT CHANGED
192:  NOT CHANGED
193: ﷰ NOT CHANGED
194:  NOT CHANGED
195:  NOT CHANGED
196: � CHANGED
197:
198: *** Testing 5 without the flag ***
199: � NOT CHANGED
200:  NOT CHANGED
201: 	 NOT CHANGED
202: 
 NOT CHANGED
203:  NOT CHANGED
204:  NOT CHANGED
205: 
 NOT CHANGED
206:  NOT CHANGED
207:  NOT CHANGED
208:   NOT CHANGED
209:  NOT CHANGED
210: € NOT CHANGED
211: Ÿ NOT CHANGED
212:   NOT CHANGED
213: ퟿ NOT CHANGED
214: � NOT CHANGED
215: � NOT CHANGED
216:  NOT CHANGED
217:  NOT CHANGED
218:  NOT CHANGED
219: ﷏ NOT CHANGED
220:  NOT CHANGED
221:  NOT CHANGED
222: ﷰ NOT CHANGED
223:  NOT CHANGED
224:  NOT CHANGED
225: � CHANGED (&#x110000;, &#x110000;)
226:
227: *** Testing HTML 5 with another single-byte encoding ***
228: � CHANGED (&#0;, &#0;)
229:  CHANGED (&#1;, &#1;)
230: 	 NOT CHANGED
231: 
 NOT CHANGED
232:  CHANGED (&#x0B;, &#x0B;)
233:  NOT CHANGED
234: 
 CHANGED (&#x0D;, &#x0D;)
235:  CHANGED (&#x0E;, &#x0E;)
236:  CHANGED (&#x1F;, &#x1F;)
237:   NOT CHANGED
238:  CHANGED (&#x7F;, &#x7F;)
239: € CHANGED (&#x80;, &#x80;)
240: Ÿ CHANGED (&#x9F;, &#x9F;)
241:   NOT CHANGED
242: ퟿ NOT CHANGED
243: � NOT CHANGED
244: � NOT CHANGED
245:  NOT CHANGED
246:  CHANGED (&#xFFFE;, &#xFFFE;)
247:  CHANGED (&#xFFFF;, &#xFFFF;)
248: ﷏ NOT CHANGED
249:  CHANGED (&#xFDD0;, &#xFDD0;)
250:  CHANGED (&#xFDEF;, &#xFDEF;)
251: ﷰ NOT CHANGED
252:  CHANGED (&#x2FFFE;, &#x2FFFE;)
253:  CHANGED (&#x2FFFF;, &#x2FFFF;)
254: � CHANGED (&#x110000;, &#x110000;)
255:
256: *** Testing HTML 5 with another multibyte-byte encoding ***
257: � CHANGED
258:  CHANGED
259: 	 NOT CHANGED
260: 
 NOT CHANGED
261:  CHANGED
262:  NOT CHANGED
263: 
 CHANGED
264:  CHANGED
265:  CHANGED
266:   NOT CHANGED
267:  CHANGED
268: € CHANGED
269: Ÿ CHANGED
270:   NOT CHANGED
271: ퟿ NOT CHANGED
272: � NOT CHANGED
273: � NOT CHANGED
274:  NOT CHANGED
275:  CHANGED
276:  CHANGED
277: ﷏ NOT CHANGED
278:  CHANGED
279:  CHANGED
280: ﷰ NOT CHANGED
281:  CHANGED
282:  CHANGED
283: � CHANGED
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>