Annotation of embedaddon/php/ext/standard/tests/strings/html_entity_decode3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: html_entity_decode: Do not decode numerical entities that refer to non-SGML or otherwise disallowed chars
3: --FILE--
4: <?php
5:
6: $tests = array(
7: "�", //C0
8: "",
9: "	",
10: "
",
11: "",
12: "",
13: "
", //note that HTML5 is unique in that it forbids this entity, but allows a literal U+0D
14: "",
15: "",
16: " ", //allowed always
17: "", //DEL
18: "€", //C1
19: "Ÿ",
20: " ", //allowed always
21: "퟿", //surrogates
22: "�",
23: "�",
24: "", //allowed always
25: "", //nonchar
26: "",
27: "﷏", //allowed always
28: "", //nonchar
29: "",
30: "ﷰ", //allowed always
31: "", //nonchar
32: "",
33: );
34:
35: echo "*** HTML 4.01 ***\n";
36:
37: foreach ($tests as $t) {
38: $dec = html_entity_decode($t, ENT_QUOTES | ENT_HTML401, "UTF-8");
39: if ($t == $dec) {
40: echo "$t\tNOT DECODED\n";
41: } else {
42: echo "$t\tDECODED\n";
43: }
44: }
45:
46: echo "\n*** XHTML 1.0 ***\n";
47:
48: foreach ($tests as $t) {
49: $dec = html_entity_decode($t, ENT_QUOTES | ENT_XHTML, "UTF-8");
50: if ($t == $dec) {
51: echo "$t\tNOT DECODED\n";
52: } else {
53: echo "$t\tDECODED\n";
54: }
55: }
56:
57: echo "\n*** HTML5 ***\n";
58:
59: foreach ($tests as $t) {
60: $dec = html_entity_decode($t, ENT_QUOTES | ENT_HTML5, "UTF-8");
61: if ($t == $dec) {
62: echo "$t\tNOT DECODED\n";
63: } else {
64: echo "$t\tDECODED\n";
65: }
66: }
67:
68: echo "\n*** XML 1.0 ***\n";
69:
70: foreach ($tests as $t) {
71: $dec = html_entity_decode($t, ENT_QUOTES | ENT_XML1, "UTF-8");
72: if ($t == $dec) {
73: echo "$t\tNOT DECODED\n";
74: } else {
75: echo "$t\tDECODED\n";
76: }
77: }
78:
79: echo "\nDone.\n";
80: --EXPECT--
81: *** HTML 4.01 ***
82: � NOT DECODED
83:  NOT DECODED
84: 	 DECODED
85: 
 DECODED
86:  NOT DECODED
87:  NOT DECODED
88: 
 DECODED
89:  NOT DECODED
90:  NOT DECODED
91:   DECODED
92:  NOT DECODED
93: € NOT DECODED
94: Ÿ NOT DECODED
95:   DECODED
96: ퟿ DECODED
97: � NOT DECODED
98: � NOT DECODED
99:  DECODED
100:  DECODED
101:  DECODED
102: ﷏ DECODED
103:  DECODED
104:  DECODED
105: ﷰ DECODED
106:  DECODED
107:  DECODED
108:
109: *** XHTML 1.0 ***
110: � NOT DECODED
111:  NOT DECODED
112: 	 DECODED
113: 
 DECODED
114:  NOT DECODED
115:  NOT DECODED
116: 
 DECODED
117:  NOT DECODED
118:  NOT DECODED
119:   DECODED
120:  DECODED
121: € DECODED
122: Ÿ DECODED
123:   DECODED
124: ퟿ DECODED
125: � NOT DECODED
126: � NOT DECODED
127:  DECODED
128:  NOT DECODED
129:  NOT DECODED
130: ﷏ DECODED
131:  DECODED
132:  DECODED
133: ﷰ DECODED
134:  DECODED
135:  DECODED
136:
137: *** HTML5 ***
138: � NOT DECODED
139:  NOT DECODED
140: 	 DECODED
141: 
 DECODED
142:  NOT DECODED
143:  DECODED
144: 
 NOT DECODED
145:  NOT DECODED
146:  NOT DECODED
147:   DECODED
148:  NOT DECODED
149: € NOT DECODED
150: Ÿ NOT DECODED
151:   DECODED
152: ퟿ DECODED
153: � NOT DECODED
154: � NOT DECODED
155:  DECODED
156:  NOT DECODED
157:  NOT DECODED
158: ﷏ DECODED
159:  NOT DECODED
160:  NOT DECODED
161: ﷰ DECODED
162:  NOT DECODED
163:  NOT DECODED
164:
165: *** XML 1.0 ***
166: � NOT DECODED
167:  NOT DECODED
168: 	 DECODED
169: 
 DECODED
170:  NOT DECODED
171:  NOT DECODED
172: 
 DECODED
173:  NOT DECODED
174:  NOT DECODED
175:   DECODED
176:  DECODED
177: € DECODED
178: Ÿ DECODED
179:   DECODED
180: ퟿ DECODED
181: � NOT DECODED
182: � NOT DECODED
183:  DECODED
184:  NOT DECODED
185:  NOT DECODED
186: ﷏ DECODED
187:  DECODED
188:  DECODED
189: ﷰ DECODED
190:  DECODED
191:  DECODED
192:
193: Done.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>