/[suikacvs]/markup/html/whatpm/t/tokenizer-test-1.test
Suika

Contents of /markup/html/whatpm/t/tokenizer-test-1.test

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (hide annotations) (download)
Sat Jun 23 13:05:16 2007 UTC (18 years ago) by wakaba
Branch: MAIN
Changes since 1.9: +1 -1 lines
++ whatpm/t/ChangeLog	23 Jun 2007 12:56:46 -0000
	* tree-test-1.dat: Always use uppercase document type name.

2007-06-23  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	23 Jun 2007 13:05:07 -0000
	* NanoDOM.pm (manakai_is_html): Setting to false did not work.

	* HTML.pm.src: HTML5 revision 914 (</ in CDATA, RCDATA).
	HTML5 revision 915 (<nobr>).

2007-06-23  Wakaba  <wakaba@suika.fam.cx>

1 wakaba 1.1 {"tests": [
2    
3 wakaba 1.3 {"description":"<!DOCTYPE",
4     "input":"<!DOCTYPE",
5 wakaba 1.9 "output":["ParseError","ParseError",["DOCTYPE", null, null, null, false]]},
6 wakaba 1.3
7     {"description":"<!DOCTYPE ",
8     "input":"<!DOCTYPE ",
9 wakaba 1.9 "output":["ParseError",["DOCTYPE", null, null, null, false]]},
10 wakaba 1.3
11     {"description":"<!DOCTYPE >",
12     "input":"<!DOCTYPE >",
13 wakaba 1.9 "output":["ParseError",["DOCTYPE", null, null, null, false]]},
14 wakaba 1.3
15     {"description":"<!DOCTYPE h",
16     "input":"<!DOCTYPE h",
17 wakaba 1.9 "output":["ParseError",["DOCTYPE", "h", null, null, false]]},
18 wakaba 1.3
19     {"description":"<!DOCTYPE H",
20     "input":"<!DOCTYPE H",
21 wakaba 1.9 "output":["ParseError",["DOCTYPE", "H", null, null, false]]},
22 wakaba 1.3
23     {"description":"<!DOCTYPE h>",
24     "input":"<!DOCTYPE h>",
25 wakaba 1.9 "output":[["DOCTYPE", "h", null, null, true]]},
26 wakaba 1.3
27     {"description":"<!DOCTYPE H>",
28     "input":"<!DOCTYPE H>",
29 wakaba 1.9 "output":[["DOCTYPE", "H", null, null, true]]},
30 wakaba 1.3
31     {"description":"<!DOCTYPE ht",
32     "input":"<!DOCTYPE ht",
33 wakaba 1.9 "output":["ParseError",["DOCTYPE", "ht", null, null, false]]},
34 wakaba 1.3
35     {"description":"<!DOCTYPE Ht",
36     "input":"<!DOCTYPE Ht",
37 wakaba 1.9 "output":["ParseError",["DOCTYPE", "Ht", null, null, false]]},
38 wakaba 1.3
39     {"description":"<!DOCTYPE hT",
40     "input":"<!DOCTYPE hT",
41 wakaba 1.9 "output":["ParseError",["DOCTYPE", "hT", null, null, false]]},
42 wakaba 1.3
43     {"description":"<!DOCTYPE ht>",
44     "input":"<!DOCTYPE ht>",
45 wakaba 1.9 "output":[["DOCTYPE", "ht", null, null, true]]},
46 wakaba 1.3
47     {"description":"<!DOCTYPE Ht>",
48     "input":"<!DOCTYPE Ht>",
49 wakaba 1.9 "output":[["DOCTYPE", "Ht", null, null, true]]},
50 wakaba 1.3
51     {"description":"<!DOCTYPE hT>",
52     "input":"<!DOCTYPE hT>",
53 wakaba 1.9 "output":[["DOCTYPE", "hT", null, null, true]]},
54 wakaba 1.3
55     {"description":"<!DOCTYPE hT>",
56     "input":"<!DOCTYPE hT>",
57 wakaba 1.9 "output":[["DOCTYPE", "hT", null, null, true]]},
58 wakaba 1.3
59     {"description":"<!DOCTYPE htm",
60     "input":"<!DOCTYPE htm",
61 wakaba 1.9 "output":["ParseError",["DOCTYPE", "htm", null, null, false]]},
62 wakaba 1.3
63     {"description":"<!DOCTYPE Htm",
64     "input":"<!DOCTYPE Htm",
65 wakaba 1.9 "output":["ParseError",["DOCTYPE", "Htm", null, null, false]]},
66 wakaba 1.3
67     {"description":"<!DOCTYPE hTM",
68     "input":"<!DOCTYPE hTM",
69 wakaba 1.9 "output":["ParseError",["DOCTYPE", "hTM", null, null, false]]},
70 wakaba 1.3
71     {"description":"<!DOCTYPE htm>",
72     "input":"<!DOCTYPE htm>",
73 wakaba 1.9 "output":[["DOCTYPE", "htm", null, null, true]]},
74 wakaba 1.3
75     {"description":"<!DOCTYPE Htm>",
76     "input":"<!DOCTYPE Htm>",
77 wakaba 1.9 "output":[["DOCTYPE", "Htm", null, null, true]]},
78 wakaba 1.3
79     {"description":"<!DOCTYPE hTM>",
80     "input":"<!DOCTYPE hTM>",
81 wakaba 1.9 "output":[["DOCTYPE", "hTM", null, null, true]]},
82 wakaba 1.3
83     {"description":"<!DOCTYPE html5",
84     "input":"<!DOCTYPE html5",
85 wakaba 1.9 "output":["ParseError",["DOCTYPE", "html5", null, null, false]]},
86 wakaba 1.3
87     {"description":"<!DOCTYPE html5>",
88     "input":"<!DOCTYPE html5>",
89 wakaba 1.9 "output":[["DOCTYPE", "html5", null, null, true]]},
90    
91     {"description":"PUBLIC\u0022\u0022",
92     "input":"<!DOCTYPE html PUBLIC\u0022\u0022>",
93     "output":[["DOCTYPE", "html", "", null, true]]},
94    
95     {"description":"PUBLIC''",
96     "input":"<!DOCTYPE html PUBLIC''>",
97     "output":[["DOCTYPE", "html", "", null, true]]},
98    
99     {"description":"PUBLICbogus",
100     "input":"<!DOCTYPE html PUBLICbogus>",
101     "output":["ParseError",["DOCTYPE", "html", null, null, false]]},
102    
103     {"description":"PUBLIC bogus",
104     "input":"<!DOCTYPE html PUBLIC bogus>",
105     "output":["ParseError",["DOCTYPE", "html", null, null, false]]},
106    
107     {"description":"PUBLIC \u0022\u0022bogus",
108     "input":"<!DOCTYPE html PUBLIC \u0022\u0022bogus>",
109     "output":["ParseError",["DOCTYPE", "html", "", null, false]]},
110    
111     {"description":"PUBLIC \u0022\u0022 bogus",
112     "input":"<!DOCTYPE html PUBLIC \u0022\u0022 bogus>",
113     "output":["ParseError",["DOCTYPE", "html", "", null, false]]},
114    
115     {"description":"PUBLIC \u0022\u0022 \u0022\u0022bogus",
116     "input":"<!DOCTYPE html PUBLIC \u0022\u0022 \u0022\u0022bogus>",
117     "output":["ParseError",["DOCTYPE", "html", "", "", false]]},
118    
119     {"description":"PUBLIC \u0022\u0022 \u0022\u0022 bogus",
120     "input":"<!DOCTYPE html PUBLIC \u0022\u0022 \u0022\u0022 bogus>",
121     "output":["ParseError",["DOCTYPE", "html", "", "", false]]},
122    
123     {"description":"PUBLIC \u0022\u0022\u0022\u0022>",
124     "input":"<!DOCTYPE html PUBLIC \u0022\u0022\u0022\u0022>",
125     "output":[["DOCTYPE", "html", "", "", true]]},
126    
127     {"description":"PUBLIC \u0022\u0022''>",
128     "input":"<!DOCTYPE html PUBLIC \u0022\u0022''>",
129     "output":[["DOCTYPE", "html", "", "", true]]},
130 wakaba 1.3
131 wakaba 1.1 {"description":"non-PCDATA content model flag, start tag-like string",
132     "contentModelFlags":["PLAINTEXT","RCDATA","CDATA"],
133     "input":"<div>",
134 wakaba 1.2 "output":[["Character", "<div>"]]},
135    
136     {"description":"end tag followed by character data",
137     "contentModelFlags":["RCDATA","CDATA"],
138     "lastStartTag":"xxx",
139     "input":"AB</xxx>CD",
140 wakaba 1.4 "output":[["Character", "AB"],["EndTag", "xxx"],["Character", "CD"]]},
141 wakaba 1.1
142 wakaba 1.4 {"description":"c1 character references",
143     "input":"&#128;&#129;&#130;&#131;&#132;&#133;&#134;&#135;",
144     "output":[
145     "ParseError", ["Character", "\u20AC"],
146     "ParseError", ["Character", "\uFFFD"],
147     "ParseError", ["Character", "\u201A"],
148     "ParseError", ["Character", "\u0192"],
149     "ParseError", ["Character", "\u201E"],
150     "ParseError", ["Character", "\u2026"],
151     "ParseError", ["Character", "\u2020"],
152     "ParseError", ["Character", "\u2021"]
153     ]},
154     {"description":"c1 character references",
155     "input":"&#136;&#137;&#138;&#139;&#140;&#141;&#142;&#143;",
156     "output":[
157     "ParseError", ["Character", "\u02C6"],
158     "ParseError", ["Character", "\u2030"],
159     "ParseError", ["Character", "\u0160"],
160     "ParseError", ["Character", "\u2039"],
161     "ParseError", ["Character", "\u0152"],
162     "ParseError", ["Character", "\uFFFD"],
163     "ParseError", ["Character", "\u017D"],
164     "ParseError", ["Character", "\uFFFD"]
165     ]},
166     {"description":"c1 character references",
167     "input":"&#144;&#145;&#146;&#147;&#148;&#149;&#150;&#151;",
168     "output":[
169     "ParseError", ["Character", "\uFFFD"],
170     "ParseError", ["Character", "\u2018"],
171     "ParseError", ["Character", "\u2019"],
172     "ParseError", ["Character", "\u201C"],
173     "ParseError", ["Character", "\u201D"],
174     "ParseError", ["Character", "\u2022"],
175     "ParseError", ["Character", "\u2013"],
176     "ParseError", ["Character", "\u2014"]
177     ]},
178     {"description":"c1 character references",
179     "input":"&#152;&#153;&#154;&#155;&#156;&#157;&#158;&#159;",
180     "output":[
181     "ParseError", ["Character", "\u02DC"],
182     "ParseError", ["Character", "\u2122"],
183     "ParseError", ["Character", "\u0161"],
184     "ParseError", ["Character", "\u203A"],
185     "ParseError", ["Character", "\u0153"],
186     "ParseError", ["Character", "\uFFFD"],
187     "ParseError", ["Character", "\u017E"],
188     "ParseError", ["Character", "\u0178"]
189     ]},
190    
191     {"description":"c1 character references",
192     "input":"&#x80;&#x81;&#x82;&#x83;&#x84;&#x85;&#x86;&#x87;",
193     "output":[
194     "ParseError", ["Character", "\u20AC"],
195     "ParseError", ["Character", "\uFFFD"],
196     "ParseError", ["Character", "\u201A"],
197     "ParseError", ["Character", "\u0192"],
198     "ParseError", ["Character", "\u201E"],
199     "ParseError", ["Character", "\u2026"],
200     "ParseError", ["Character", "\u2020"],
201     "ParseError", ["Character", "\u2021"]
202     ]},
203     {"description":"c1 character references",
204     "input":"&#x88;&#x89;&#x8a;&#x8b;&#x8c;&#x8d;&#x8e;&#x8f;",
205     "output":[
206     "ParseError", ["Character", "\u02C6"],
207     "ParseError", ["Character", "\u2030"],
208     "ParseError", ["Character", "\u0160"],
209     "ParseError", ["Character", "\u2039"],
210     "ParseError", ["Character", "\u0152"],
211     "ParseError", ["Character", "\uFFFD"],
212     "ParseError", ["Character", "\u017D"],
213     "ParseError", ["Character", "\uFFFD"]
214     ]},
215     {"description":"c1 character references",
216     "input":"&#x90;&#x91;&#x92;&#x93;&#x94;&#x95;&#x96;&#x97;",
217     "output":[
218     "ParseError", ["Character", "\uFFFD"],
219     "ParseError", ["Character", "\u2018"],
220     "ParseError", ["Character", "\u2019"],
221     "ParseError", ["Character", "\u201C"],
222     "ParseError", ["Character", "\u201D"],
223     "ParseError", ["Character", "\u2022"],
224     "ParseError", ["Character", "\u2013"],
225     "ParseError", ["Character", "\u2014"]
226     ]},
227     {"description":"c1 character references",
228     "input":"&#x98;&#x99;&#x9a;&#x9b;&#x9c;&#x9d;&#x9e;&#x9f;",
229     "output":[
230     "ParseError", ["Character", "\u02DC"],
231     "ParseError", ["Character", "\u2122"],
232     "ParseError", ["Character", "\u0161"],
233     "ParseError", ["Character", "\u203A"],
234     "ParseError", ["Character", "\u0153"],
235     "ParseError", ["Character", "\uFFFD"],
236     "ParseError", ["Character", "\u017E"],
237     "ParseError", ["Character", "\u0178"]
238 wakaba 1.5 ]},
239    
240     {"description":"NULL character",
241     "input":"\u0000",
242 wakaba 1.6 "output":["ParseError",["Character", "\uFFFD"]]},
243    
244     {"description":"&TRADE;",
245     "input":"&TRADE;",
246 wakaba 1.7 "output":[["Character", "\u2122"]]},
247    
248     {"description":"&lang;",
249     "input":"&lang;",
250     "output":[["Character", "\u3008"]]},
251    
252     {"description":"&rang;",
253     "input":"&rang;",
254     "output":[["Character", "\u3009"]]},
255    
256     {"description":"&amp;;",
257     "input":"&amp;;",
258 wakaba 1.8 "output":[["Character", "&;"]]},
259    
260     {"description":"cdata end tag containing <",
261     "contentModelFlags":["RCDATA","CDATA"],
262     "lastStartTag":"xxx",
263     "input":"</xxx<div>",
264 wakaba 1.10 "output":[["Character", "</xxx<div>"]]},
265 wakaba 1.8
266     {"description":"< in tag name state",
267     "input":"<p<div>",
268     "output":[["StartTag", "p<div", {}]]},
269    
270     {"description":"< in before attribute name state",
271     "input":"<p <div>",
272     "output":[["StartTag", "p", {"<div":""}]]},
273    
274     {"description":"< in attribute name state",
275     "input":"<p align<div>",
276     "output":[["StartTag", "p", {"align<div":""}]]},
277    
278     {"description":"< in after attribute name state",
279     "input":"<p align <div>",
280     "output":[["StartTag", "p", {"align":"","<div":""}]]},
281    
282     {"description":"< in before attribute value state",
283     "input":"<p align=<div>",
284     "output":[["StartTag", "p", {"align":"<div"}]]},
285    
286     {"description":"< in attribute value (unquoted) state",
287     "input":"<p align=left<div>",
288     "output":[["StartTag", "p", {"align":"left<div"}]]},
289    
290     {"description":"< in attribute value (single-unquoted) state",
291     "input":"<p align='left<div>",
292     "output":["ParseError", ["StartTag", "p", {"align":"left<div>"}]]},
293    
294     {"description":"< in attribute value (double-unquoted) state",
295     "input":"<p align=\u0022left<div>",
296     "output":["ParseError", ["StartTag", "p", {"align":"left<div>"}]]}
297 wakaba 1.4
298     ]}

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24