1{
2    "tests": [
3        {
4            "fragmentContext": null,
5            "description": "<div<div>",
6            "input": "<div<div>",
7            "output": [
8                [
9                    "StartTag",
10                    "div<div",
11                    {}
12                ]
13            ]
14        },
15        {
16            "fragmentContext": null,
17            "description": "<div foo<bar=''>",
18            "input": "<div foo<bar=''>",
19            "output": [
20                [
21                    "StartTag",
22                    "div",
23                    {
24                        "foo<bar": ""
25                    }
26                ]
27            ]
28        },
29        {
30            "fragmentContext": null,
31            "description": "<div foo=`bar`>",
32            "input": "<div foo=`bar`>",
33            "output": [
34                [
35                    "StartTag",
36                    "div",
37                    {
38                        "foo": "`bar`"
39                    }
40                ]
41            ]
42        },
43        {
44            "fragmentContext": null,
45            "description": "<div \\\"foo=''>",
46            "input": "<div \\\"foo=''>",
47            "output": [
48                [
49                    "StartTag",
50                    "div",
51                    {
52                        "\\\"foo": ""
53                    }
54                ]
55            ]
56        },
57        {
58            "fragmentContext": null,
59            "description": "<a href='\\nbar'></a>",
60            "input": "<a href='\\nbar'></a>",
61            "output": [
62                [
63                    "StartTag",
64                    "a",
65                    {
66                        "href": "\\nbar"
67                    }
68                ],
69                [
70                    "EndTag",
71                    "a"
72                ]
73            ]
74        },
75        {
76            "fragmentContext": null,
77            "description": "<!DOCTYPE html>",
78            "input": "<!DOCTYPE html>",
79            "output": [
80                [
81                    "DOCTYPE",
82                    "html",
83                    null,
84                    null,
85                    true
86                ]
87            ]
88        },
89        {
90            "fragmentContext": null,
91            "description": "&lang;&rang;",
92            "input": "&lang;&rang;",
93            "output": [
94                [
95                    "Character",
96                    "⟨⟩"
97                ]
98            ]
99        },
100        {
101            "fragmentContext": null,
102            "description": "&apos;",
103            "input": "&apos;",
104            "output": [
105                [
106                    "Character",
107                    "'"
108                ]
109            ]
110        },
111        {
112            "fragmentContext": null,
113            "description": "&ImaginaryI;",
114            "input": "&ImaginaryI;",
115            "output": [
116                [
117                    "Character",
118                    "ⅈ"
119                ]
120            ]
121        },
122        {
123            "fragmentContext": null,
124            "description": "&Kopf;",
125            "input": "&Kopf;",
126            "output": [
127                [
128                    "Character",
129                    "�"
130                ]
131            ]
132        },
133        {
134            "fragmentContext": null,
135            "description": "&notinva;",
136            "input": "&notinva;",
137            "output": [
138                [
139                    "Character",
140                    "∉"
141                ]
142            ]
143        },
144        {
145            "fragmentContext": null,
146            "description": "<?import namespace=\"foo\" implementation=\"#bar\">",
147            "input": "<?import namespace=\"foo\" implementation=\"#bar\">",
148            "output": [
149                [
150                    "Comment",
151                    "?import namespace=\"foo\" implementation=\"#bar\""
152                ]
153            ]
154        },
155        {
156            "fragmentContext": null,
157            "description": "<!--foo--bar-->",
158            "input": "<!--foo--bar-->",
159            "output": [
160                [
161                    "Comment",
162                    "foo--bar"
163                ]
164            ]
165        },
166        {
167            "fragmentContext": null,
168            "description": "<![CDATA[x]]>",
169            "input": "<![CDATA[x]]>",
170            "output": [
171                [
172                    "Comment",
173                    "[CDATA[x]]"
174                ]
175            ]
176        },
177        {
178            "fragmentContext": null,
179            "description": "<textarea><!--</textarea>--></textarea>",
180            "input": "<textarea><!--</textarea>--></textarea>",
181            "output": [
182                [
183                    "StartTag",
184                    "textarea",
185                    {}
186                ],
187                [
188                    "Character",
189                    "<!--"
190                ],
191                [
192                    "EndTag",
193                    "textarea"
194                ],
195                [
196                    "Character",
197                    "-->"
198                ],
199                [
200                    "EndTag",
201                    "textarea"
202                ]
203            ]
204        },
205        {
206            "fragmentContext": null,
207            "description": "<textarea><!--</textarea>-->",
208            "input": "<textarea><!--</textarea>-->",
209            "output": [
210                [
211                    "StartTag",
212                    "textarea",
213                    {}
214                ],
215                [
216                    "Character",
217                    "<!--"
218                ],
219                [
220                    "EndTag",
221                    "textarea"
222                ],
223                [
224                    "Character",
225                    "-->"
226                ]
227            ]
228        },
229        {
230            "fragmentContext": null,
231            "description": "<style><!--</style>--></style>",
232            "input": "<style><!--</style>--></style>",
233            "output": [
234                [
235                    "StartTag",
236                    "style",
237                    {}
238                ],
239                [
240                    "Character",
241                    "<!--"
242                ],
243                [
244                    "EndTag",
245                    "style"
246                ],
247                [
248                    "Character",
249                    "-->"
250                ],
251                [
252                    "EndTag",
253                    "style"
254                ]
255            ]
256        },
257        {
258            "fragmentContext": null,
259            "description": "<style><!--</style>-->",
260            "input": "<style><!--</style>-->",
261            "output": [
262                [
263                    "StartTag",
264                    "style",
265                    {}
266                ],
267                [
268                    "Character",
269                    "<!--"
270                ],
271                [
272                    "EndTag",
273                    "style"
274                ],
275                [
276                    "Character",
277                    "-->"
278                ]
279            ]
280        },
281        {
282            "fragmentContext": null,
283            "description": "<ul><li>A </li> <li>B</li></ul>",
284            "input": "<ul><li>A </li> <li>B</li></ul>",
285            "output": [
286                [
287                    "StartTag",
288                    "ul",
289                    {}
290                ],
291                [
292                    "StartTag",
293                    "li",
294                    {}
295                ],
296                [
297                    "Character",
298                    "A "
299                ],
300                [
301                    "EndTag",
302                    "li"
303                ],
304                [
305                    "Character",
306                    " "
307                ],
308                [
309                    "StartTag",
310                    "li",
311                    {}
312                ],
313                [
314                    "Character",
315                    "B"
316                ],
317                [
318                    "EndTag",
319                    "li"
320                ],
321                [
322                    "EndTag",
323                    "ul"
324                ]
325            ]
326        },
327        {
328            "fragmentContext": null,
329            "description": "<table><form><input type=hidden><input></form><div></div></table>",
330            "input": "<table><form><input type=hidden><input></form><div></div></table>",
331            "output": [
332                [
333                    "StartTag",
334                    "table",
335                    {}
336                ],
337                [
338                    "StartTag",
339                    "form",
340                    {}
341                ],
342                [
343                    "StartTag",
344                    "input",
345                    {
346                        "type": "hidden"
347                    }
348                ],
349                [
350                    "StartTag",
351                    "input",
352                    {}
353                ],
354                [
355                    "EndTag",
356                    "form"
357                ],
358                [
359                    "StartTag",
360                    "div",
361                    {}
362                ],
363                [
364                    "EndTag",
365                    "div"
366                ],
367                [
368                    "EndTag",
369                    "table"
370                ]
371            ]
372        },
373        {
374            "fragmentContext": null,
375            "description": "<i>A<b>B<p></i>C</b>D",
376            "input": "<i>A<b>B<p></i>C</b>D",
377            "output": [
378                [
379                    "StartTag",
380                    "i",
381                    {}
382                ],
383                [
384                    "Character",
385                    "A"
386                ],
387                [
388                    "StartTag",
389                    "b",
390                    {}
391                ],
392                [
393                    "Character",
394                    "B"
395                ],
396                [
397                    "StartTag",
398                    "p",
399                    {}
400                ],
401                [
402                    "EndTag",
403                    "i"
404                ],
405                [
406                    "Character",
407                    "C"
408                ],
409                [
410                    "EndTag",
411                    "b"
412                ],
413                [
414                    "Character",
415                    "D"
416                ]
417            ]
418        },
419        {
420            "fragmentContext": null,
421            "description": "<div></div>",
422            "input": "<div></div>",
423            "output": [
424                [
425                    "StartTag",
426                    "div",
427                    {}
428                ],
429                [
430                    "EndTag",
431                    "div"
432                ]
433            ]
434        },
435        {
436            "fragmentContext": null,
437            "description": "<svg></svg>",
438            "input": "<svg></svg>",
439            "output": [
440                [
441                    "StartTag",
442                    "svg",
443                    {}
444                ],
445                [
446                    "EndTag",
447                    "svg"
448                ]
449            ]
450        },
451        {
452            "fragmentContext": null,
453            "description": "<math></math>",
454            "input": "<math></math>",
455            "output": [
456                [
457                    "StartTag",
458                    "math",
459                    {}
460                ],
461                [
462                    "EndTag",
463                    "math"
464                ]
465            ]
466        }
467    ]
468}