summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/syntax')
-rw-r--r--testing/web-platform/tests/html/syntax/charset/README.md6
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-1kb.html955
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-bogus-after-1kb.html933
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-bogus.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-head-after-1kb-crlf.html927
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-head-after-1kb.html933
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-head-in-1kb-crlf.html932
-rw-r--r--testing/web-platform/tests/html/syntax/charset/after-head-in-1kb.html938
-rw-r--r--testing/web-platform/tests/html/syntax/charset/baseline.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/document-write.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-comment.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-noscript-after-template-after-1kb.html894
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-object.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-script.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-style.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-svg-in-cdata.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-svg.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-template-after-1kb.html1046
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-template.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/in-title.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html35
-rw-r--r--testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta.html46
-rw-r--r--testing/web-platform/tests/html/syntax/charset/ncr.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/non-ascii-in-comment-before.html11
-rw-r--r--testing/web-platform/tests/html/syntax/charset/non-ascii-in-title-before.html11
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-1kb-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-bogus-after-1kb-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-bogus-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-crlf-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-crlf-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/baseline-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/document-write-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-comment-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-noscript-after-template-after-1kb-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-object-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-script-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-style-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-svg-in-cdata-ref.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-svg-ref.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-template-after-1kb-ref.html8
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-template-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/in-title-ref.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/ncr-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-comment-before-ref.html9
-rw-r--r--testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-title-before-ref.html10
-rw-r--r--testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py4
-rw-r--r--testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http.py4
-rw-r--r--testing/web-platform/tests/html/syntax/charset/resources/bogus-charset.html7
-rw-r--r--testing/web-platform/tests/html/syntax/charset/with-inheritance.html60
-rw-r--r--testing/web-platform/tests/html/syntax/charset/without-inheritance.htmlbin0 -> 4550 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/charset/xhr.html73
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/innerHTML-setter-default-namespace.xhtml35
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css4
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css4
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css4
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css4
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html37
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.htmlbin0 -> 2632 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.htmlbin0 -> 2624 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html37
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html37
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html38
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html38
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html38
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html39
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html37
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html38
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing-html-fragments/tokenizer-modes-001.html85
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/DOMContentLoaded-defer.html17
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html143
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html24
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html29
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/README8
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/adoption_agency_check_the_end_tag_name.html20
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/ambiguous-ampersand.html36
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/common.js24
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/empty-doctype-ids.html10
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_001.html43
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_003.html47
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_004.html65
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_005.html45
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_006.html38
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_008.html39
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_009.html46
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_010.html44
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_011.html26
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/foreign_content_013.html26
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html-integration-point.html31
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_adoption01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_adoption02.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_blocks.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_comments01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_doctype01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_domjs-unsafe.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_entities01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_entities02.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_html5test-com.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_inbody01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_adoption01.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_foreign-fragment.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_math.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_svg.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_template.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests4.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests6.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests7.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_webkit02.html25
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_isindex.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_main-element.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_menuitem-element.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_namespace-sensitivity.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_plain-text-unsafe.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_quirks01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_ruby.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_scriptdata01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_adoption01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_ark.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_webkit01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_search-element.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tables01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_template.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests1.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests10.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests11.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests12.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests14.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests15.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests16.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests17.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests18.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests19.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests2.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests20.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests21.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests22.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests23.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests24.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests25.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests26.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests3.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests5.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests6.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests7.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests8.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tests9.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_tricky01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_webkit01.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html5lib_webkit02.html28
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/html_content_in_foreign_context.html29
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/inhead-noscript-head.html17
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/math-parse01.html62
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/math-parse03.html132
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/meta-inhead-insertion-mode.html15
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/named-character-references-data.js2233
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/named-character-references.html36
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/no-doctype-name.html22
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/quotes-in-meta.html12
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/support/DOMContentLoaded-defer.js14
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-eof.html1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-line.html2
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-space.html1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/support/svg-script-self-closing.js1
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template.js214
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element.html63
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html70
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html136
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html132
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html125
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html129
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html158
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html97
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html38
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html102
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html26
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html137
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html101
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html42
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html116
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html183
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html85
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html72
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html222
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/test.js350
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/the-end.html59
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/unclosed-svg-script.html45
-rw-r--r--testing/web-platform/tests/html/syntax/parsing/zero.html93
-rw-r--r--testing/web-platform/tests/html/syntax/serializing-html-fragments/escaping.html89
-rw-r--r--testing/web-platform/tests/html/syntax/serializing-html-fragments/initial-linefeed-pre.html48
-rw-r--r--testing/web-platform/tests/html/syntax/serializing-html-fragments/outerHTML.html32
-rw-r--r--testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing.html336
-rw-r--r--testing/web-platform/tests/html/syntax/serializing-html-fragments/template.html23
-rw-r--r--testing/web-platform/tests/html/syntax/serializing-xml-fragments/outerHTML.html39
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-charset/speculative-script.tentative.html27
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-charset/support/script.py18
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-charset/support/speculative-script.py11
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/base-href-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/image-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-data-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-crossorigin.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-loading-lazy.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-referrerpolicy-no-referrer.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-srcset.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-no-rel.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-alternate-stylesheet.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-font-crossorigin.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-image.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-script.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-style.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-crossorigin.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-disabled.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-integrity.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-nomatch-media.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-type-text-css.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-unsupported-type.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-face-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-charset-script-src.tentative.sub.html35
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-asterisk.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-none.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-referrer-no-referrer-img-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-viewport-link-stylesheet-media.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-1.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-2.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-br-img.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-no-img.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-nomatch-media.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-unsupported-type.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-async.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-crossorigin.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-defer.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-integrity.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-module.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-nomodule.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-referrerpolicy-no-referrer.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-type-application-ecmascript.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-unsupported-type.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-href.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-xlinkhref.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-href.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-xlinkhref.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-img-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-link-stylesheet.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-img-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-link-stylesheet.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/video-poster.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/xmp-script-src.tentative.sub.html25
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/base-href-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/image-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-data-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-crossorigin.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-loading-lazy.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-referrerpolicy-no-referrer.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-srcset.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-no-rel.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-alternate-stylesheet.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-font-crossorigin.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-image.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-script.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-style.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-crossorigin.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-disabled.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-integrity.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-nomatch-media.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-type-text-css.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-unsupported-type.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-face-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-charset-script-src.tentative.html31
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-asterisk.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-none.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-referrer-no-referrer-img-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-viewport-link-stylesheet-media.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-1.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-2.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-br-img.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-no-img.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-nomatch-media.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-unsupported-type.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/base-href-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/image-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-data-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-crossorigin-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-loading-lazy-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-referrerpolicy-no-referrer-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-srcset-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-no-rel-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-alternate-stylesheet-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-font-crossorigin-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-image-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-script-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-style-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-crossorigin-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-disabled-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-integrity-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-nomatch-media-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-referrerpolicy-no-referrer-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-type-text-css-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-unsupported-type-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-face-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-charset-script-src-framed.sub.html22
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-asterisk-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-none-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-referrer-no-referrer-img-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-viewport-link-stylesheet-media-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-1-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-2-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-br-img-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-no-img-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-nomatch-media-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-unsupported-type-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-async-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-crossorigin-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-defer-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-integrity-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-module-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-nomodule-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-referrerpolicy-no-referrer-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-type-application-ecmascript-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-unsupported-type-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-href-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-xlinkhref-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-href-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-xlinkhref-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-img-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-link-stylesheet-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-img-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-link-stylesheet-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/video-poster-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/xmp-script-src-framed.sub.html12
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-async.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-crossorigin.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-defer.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-integrity.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-module.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-nomodule.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-referrerpolicy-no-referrer.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-type-application-ecmascript.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-unsupported-type.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-href.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-xlinkhref.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-href.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-xlinkhref.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-img-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-link-stylesheet.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-img-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-link-stylesheet.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/video-poster.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/xmp-script-src.tentative.html21
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/base-href-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/image-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-data-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-crossorigin-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-referrerpolicy-no-referrer-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-srcset-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-no-rel-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-alternate-stylesheet-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-font-crossorigin-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-image-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-script-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-style-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-crossorigin-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-disabled-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-integrity-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nomatch-media-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-referrerpolicy-no-referrer-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-type-text-css-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-unsupported-type-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-face-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-charset-script-src-nonspeculative.sub.html20
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-asterisk-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-none-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-referrer-no-referrer-img-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-viewport-link-stylesheet-media-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-1-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-2-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-br-img-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-no-img-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-nomatch-media-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-unsupported-type-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-async-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-crossorigin-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-defer-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-integrity-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-module-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nomodule-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-referrerpolicy-no-referrer-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-type-application-ecmascript-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-unsupported-type-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-href-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-xlinkhref-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-href-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-xlinkhref-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-img-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-link-stylesheet-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-img-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-link-stylesheet-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/video-poster-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/xmp-script-src-nonspeculative.sub.html10
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/resources/speculative-parsing-util.js58
-rw-r--r--testing/web-platform/tests/html/syntax/speculative-parsing/resources/stash.py12
-rwxr-xr-xtesting/web-platform/tests/html/syntax/speculative-parsing/tools/generate.py701
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING-trail.htmbin0 -> 8350 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/VERSION-trail.htmbin0 -> 8348 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/VERSION.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS-trail.htmbin0 -> 8349 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/XML-trail.htmbin0 -> 8331 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/XML.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/ascii-decl-for-utf-16.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/baseline-trail.htmbin0 -> 8318 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/baseline.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/cp1251-trail.htmbin0 -> 8335 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/cp1251.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding-trail.htmbin0 -> 8343 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding-trail.htmbin0 -> 8341 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding-trail.htmbin0 -> 8374 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta-trail.htmbin0 -> 8302 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta.htmbin0 -> 110 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta-trail.htmbin0 -> 8304 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta.htmbin0 -> 112 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after-trail.htmbin0 -> 9362 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before-trail.htmbin0 -> 9363 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after-trail.htmbin0 -> 9363 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before-trail.htmbin0 -> 9364 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding-trail.htmbin0 -> 8378 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding-trail.htmbin0 -> 8374 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding-trail.htmbin0 -> 8449 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset-trail.htmbin0 -> 8448 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space-trail.htmbin0 -> 8383 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-trail.htmbin0 -> 8387 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trail.htmbin0 -> 8346 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals-trail.htmbin0 -> 8450 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals.htm6
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals-trail.htmbin0 -> 8447 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-trail.htmbin0 -> 8415 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-trail.htmbin0 -> 8395 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt-trail.htmbin0 -> 8391 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-trail.htmbin0 -> 8321 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version-trail.htmbin0 -> 8313 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/no-version.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals-trail.htmbin0 -> 8345 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label-trail.htmbin0 -> 8344 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/replacement-trail.htmbin0 -> 8375 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/replacement.htm3
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label-trail.htmbin0 -> 8346 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/space-before-trail.htmbin0 -> 8337 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/space-before.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/test_support.js26
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/trickle.py12
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes-trail.htmbin0 -> 8377 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes.htm4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta-trail.htmbin0 -> 8304 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta.htmbin0 -> 112 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.htmlbin0 -> 8278 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.htmlbin0 -> 86 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta-trail.htmbin0 -> 8306 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta.htmbin0 -> 114 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.htmlbin0 -> 8277 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.htmlbin0 -> 85 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta-trail.htmbin0 -> 8397 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta.htm5
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.htmlbin0 -> 8318 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html4
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html.headers1
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals-trail.htmbin0 -> 8345 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals.htmbin0 -> 153 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label-trail.htmbin0 -> 8344 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label.htmbin0 -> 152 bytes
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/xmldecl-1.html59
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/xmldecl-2.html78
-rw-r--r--testing/web-platform/tests/html/syntax/xmldecl/xmldecl-3.html21
550 files changed, 22364 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/syntax/charset/README.md b/testing/web-platform/tests/html/syntax/charset/README.md
new file mode 100644
index 0000000000..eaa708507c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/README.md
@@ -0,0 +1,6 @@
+These tests don't necessarily match the spec as of September 2021 but instead
+these tests test the behavior that on one hand WebKit and Blink and on the
+other hand https://github.com/whatwg/html/issues/6962 have in common.
+
+The cases where the two approaches differ are in
+https://searchfox.org/mozilla-central/source/testing/web-platform/mozilla/tests/html/syntax/charset
diff --git a/testing/web-platform/tests/html/syntax/charset/after-1kb.html b/testing/web-platform/tests/html/syntax/charset/after-1kb.html
new file mode 100644
index 0000000000..01eedca187
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-1kb.html
@@ -0,0 +1,955 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/after-1kb-ref.html">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<meta charset="windows-1251">
+</head>
+<body>
+<p>In <code>head</code>, after first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/after-bogus-after-1kb.html b/testing/web-platform/tests/html/syntax/charset/after-bogus-after-1kb.html
new file mode 100644
index 0000000000..f44fda1e6d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-bogus-after-1kb.html
@@ -0,0 +1,933 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/after-bogus-after-1kb-ref.html">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<bogus><meta charset="windows-1251">
+</head>
+<body>
+<p>After <code>bogus</code>, before <code>head</code> end tag, after first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/after-bogus.html b/testing/web-platform/tests/html/syntax/charset/after-bogus.html
new file mode 100644
index 0000000000..7eeedde7af
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-bogus.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/after-bogus-ref.html">
+<bogus><meta charset="windows-1251">
+</head>
+<body>
+<p>Meta after <code>bogus</code>.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/after-head-after-1kb-crlf.html b/testing/web-platform/tests/html/syntax/charset/after-head-after-1kb-crlf.html
new file mode 100644
index 0000000000..10a6d1c3d7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-head-after-1kb-crlf.html
@@ -0,0 +1,927 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/after-head-after-1kb-crlf-ref.html">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</head>
+<meta charset="windows-1251">
+<body>
+<p>After <code>head</code>, before <code>body</code>, after first kilobyte, with a CRLF in the first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/after-head-after-1kb.html b/testing/web-platform/tests/html/syntax/charset/after-head-after-1kb.html
new file mode 100644
index 0000000000..d514fdfbff
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-head-after-1kb.html
@@ -0,0 +1,933 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/after-head-after-1kb-ref.html">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</head>
+<meta charset="windows-1251">
+<body>
+<p>After <code>head</code>, before <code>body</code>, after first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/after-head-in-1kb-crlf.html b/testing/web-platform/tests/html/syntax/charset/after-head-in-1kb-crlf.html
new file mode 100644
index 0000000000..e5c95e7036
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-head-in-1kb-crlf.html
@@ -0,0 +1,932 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/after-head-in-1kb-crlf-ref.html">
+</head>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<meta charset="windows-1251">
+<body>
+<p>After <code>head</code>, before <code>body</code>, within first kilobyte, with a CRLF in the first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/after-head-in-1kb.html b/testing/web-platform/tests/html/syntax/charset/after-head-in-1kb.html
new file mode 100644
index 0000000000..e73522d373
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/after-head-in-1kb.html
@@ -0,0 +1,938 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/after-head-in-1kb-ref.html">
+</head>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<meta charset="windows-1251">
+<body>
+<p>After <code>head</code>, before <code>body</code>, within first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/baseline.html b/testing/web-platform/tests/html/syntax/charset/baseline.html
new file mode 100644
index 0000000000..40bce2f63f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/baseline.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/baseline-ref.html">
+<meta charset="windows-1251">
+</head>
+<body>
+<p>Normal meta.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/document-write.html b/testing/web-platform/tests/html/syntax/charset/document-write.html
new file mode 100644
index 0000000000..b70a15c567
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/document-write.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/document-write-ref.html">
+<script>document.write('<meta char' + 'set="windows-1251">');</script>
+</head>
+<body>
+<p>Meta from <code>document.write</code> (with concatenation in the middle of <code>charset</code> to require execution for effect).</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-comment.html b/testing/web-platform/tests/html/syntax/charset/in-comment.html
new file mode 100644
index 0000000000..65828a1872
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-comment.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-comment-ref.html">
+<!--<meta charset="windows-1251">-->
+</head>
+<body>
+<p>Meta inside comment.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-noscript-after-template-after-1kb.html b/testing/web-platform/tests/html/syntax/charset/in-noscript-after-template-after-1kb.html
new file mode 100644
index 0000000000..d22e83aaa7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-noscript-after-template-after-1kb.html
@@ -0,0 +1,894 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-noscript-after-template-after-1kb-ref.html">
+<noscript><template></template>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<meta charset="windows-1251"></noscript>
+</head>
+<body>
+<p>Meta in <code>noscript</code> after <code>template</code> (which is also inside the <code>noscript</code>) after 1kb of padding following the template.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-object.html b/testing/web-platform/tests/html/syntax/charset/in-object.html
new file mode 100644
index 0000000000..32535b8eba
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-object.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/in-object-ref.html">
+<object><meta charset="windows-1251"></object>
+</head>
+<body>
+<p>Meta in <code>object</code>.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-script.html b/testing/web-platform/tests/html/syntax/charset/in-script.html
new file mode 100644
index 0000000000..0c18a4435e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-script.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-script-ref.html">
+<script><meta charset="windows-1251"></script>
+</head>
+<body>
+<p>Meta in <code>script</code>.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-style.html b/testing/web-platform/tests/html/syntax/charset/in-style.html
new file mode 100644
index 0000000000..69d8fa429c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-style.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-style-ref.html">
+<style><meta charset="windows-1251"></style>
+</head>
+<body>
+<p>Meta in <code>style</code>.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-svg-in-cdata.html b/testing/web-platform/tests/html/syntax/charset/in-svg-in-cdata.html
new file mode 100644
index 0000000000..d1c4ca12b3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-svg-in-cdata.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-svg-in-cdata-ref.html">
+</head>
+<body>
+<svg><![CDATA[<meta charset="windows-1251">]]></svg>
+<p>In SVG in CDATA (after head).</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-svg.html b/testing/web-platform/tests/html/syntax/charset/in-svg.html
new file mode 100644
index 0000000000..cb29164289
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-svg.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/in-svg-ref.html">
+</head>
+<body>
+<svg><meta charset="windows-1251"></svg>
+<p>In SVG (after head).</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-template-after-1kb.html b/testing/web-platform/tests/html/syntax/charset/in-template-after-1kb.html
new file mode 100644
index 0000000000..ae77decea2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-template-after-1kb.html
@@ -0,0 +1,1046 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-template-after-1kb-ref.html">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<template><meta charset="windows-1251"></template>
+</head>
+<body>
+<p>In <code>template</code>, before <code>head</code> end tag, after first kilobyte.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-template.html b/testing/web-platform/tests/html/syntax/charset/in-template.html
new file mode 100644
index 0000000000..264affc269
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-template.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/in-template-ref.html">
+<template><meta charset="windows-1251"></template>
+</head>
+<body>
+<p>Meta in <code>template</code>.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/in-title.html b/testing/web-platform/tests/html/syntax/charset/in-title.html
new file mode 100644
index 0000000000..7b72c48dd8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/in-title.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="mismatch" href="references/in-title-ref.html">
+<title><meta charset="windows-1251"></title>
+</head>
+<body>
+<p>Meta in <code>title</code>.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html b/testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html
new file mode 100644
index 0000000000..fb9e82a1f6
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<meta charset="utf-8" />
+<title>Inheriting from UTF-8 parent</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+[
+ {
+ "title": "Child with bogus <meta charset>",
+ "url": "resources/bogus-charset.html",
+ "expected": "\uFFFD\n" // 0x00A2 in windows-1252 is 0xFFFD in UTF-8
+ },
+ {
+ "title": "Child with bogus Content-Type charset",
+ "url": "resources/bogus-charset-http.py",
+ "expected": "\uFFFD\n"
+ },
+ {
+ "title": "Child with bogus Content-Type charset, but valid <meta charset>",
+ "url": "resources/bogus-charset-http-valid-meta.py",
+ "expected": "\u045E\n"
+ }
+].forEach(({ title, url, expected }) => {
+ async_test(t => {
+ const frame = document.createElement("iframe");
+ t.add_cleanup(() => frame.remove());
+ frame.src = url;
+ frame.onload = t.step_func_done(() => {
+ assert_equals(frame.contentDocument.body.textContent, expected);
+ });
+ document.body.append(frame);
+ }, title);
+});
+</script>
diff --git a/testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta.html b/testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta.html
new file mode 100644
index 0000000000..616ba51853
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/inheritance-bogus-meta.html
@@ -0,0 +1,46 @@
+<!doctype html>
+<meta charset=windows-1253>
+<title>Inheriting from windows-1253 parent</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/get-host-info.sub.js></script>
+<div id=log></div>
+<script>
+[
+ {
+ "title": "Child with bogus <meta charset>",
+ "url": "resources/bogus-charset.html",
+ "expected": "¢\n" // 0x00A2 in windows-1252 is at the same position as 0x0386 in windows-1253
+ },
+ {
+ "title": "Child with bogus Content-Type charset",
+ "url": "resources/bogus-charset-http.py",
+ "expected": "¢\n"
+ },
+ {
+ "title": "Child with bogus Content-Type charset, but valid <meta charset>",
+ "url": "resources/bogus-charset-http-valid-meta.py",
+ "expected": "\u045E\n"
+ }
+].forEach(({ title, url, expected }) => {
+ async_test(t => {
+ const frame = document.createElement("iframe");
+ t.add_cleanup(() => frame.remove());
+ frame.src = url;
+ frame.onload = t.step_func_done(() => {
+ assert_equals(frame.contentDocument.body.textContent, expected);
+ });
+ document.body.append(frame);
+ }, title);
+});
+
+async_test(t => {
+ self.onmessage = t.step_func_done(({ data }) => {
+ assert_equals(data, "\u00A2\n");
+ });
+ const frame = document.createElement("iframe");
+ t.add_cleanup(() => frame.remove());
+ frame.src = get_host_info().HTTP_REMOTE_ORIGIN + new URL("resources/bogus-charset.html", location).pathname + "?postMessage";
+ document.body.append(frame);
+}, "Cross-origin child with bogus <meta charset>");
+</script>
diff --git a/testing/web-platform/tests/html/syntax/charset/ncr.html b/testing/web-platform/tests/html/syntax/charset/ncr.html
new file mode 100644
index 0000000000..9f8b7308ad
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/ncr.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/ncr-ref.html">
+<meta charset="&#119;indows-1251">
+</head>
+<body>
+<p>NCR in encoding label.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/non-ascii-in-comment-before.html b/testing/web-platform/tests/html/syntax/charset/non-ascii-in-comment-before.html
new file mode 100644
index 0000000000..148c6544a3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/non-ascii-in-comment-before.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/non-ascii-in-comment-before-ref.html">
+<!-- æ -->
+<meta charset="windows-1251">
+</head>
+<body>
+<p>Normal meta. Non-ASCII in comment before.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/non-ascii-in-title-before.html b/testing/web-platform/tests/html/syntax/charset/non-ascii-in-title-before.html
new file mode 100644
index 0000000000..aac0ca94c1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/non-ascii-in-title-before.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<head>
+<link rel="match" href="references/non-ascii-in-title-before-ref.html">
+<title>æ</title>
+<meta charset="windows-1251">
+</head>
+<body>
+<p>Normal meta. Non-ASCII in title before.</p>
+<p>Test: æ</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-1kb-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-1kb-ref.html
new file mode 100644
index 0000000000..edb0ae9c72
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-1kb-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>In <code>head</code>, after first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-bogus-after-1kb-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-bogus-after-1kb-ref.html
new file mode 100644
index 0000000000..c6f129a89e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-bogus-after-1kb-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>After <code>bogus</code>, before <code>head</code> end tag, after first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-bogus-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-bogus-ref.html
new file mode 100644
index 0000000000..f8080e60aa
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-bogus-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta after <code>bogus</code>.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-crlf-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-crlf-ref.html
new file mode 100644
index 0000000000..868a9639bf
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-crlf-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>After <code>head</code>, before <code>body</code>, after first kilobyte, with a CRLF in the first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-ref.html
new file mode 100644
index 0000000000..bde4745b26
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-head-after-1kb-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>After <code>head</code>, before <code>body</code>, after first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-crlf-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-crlf-ref.html
new file mode 100644
index 0000000000..0676d7374e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-crlf-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>After <code>head</code>, before <code>body</code>, within first kilobyte, with a CRLF in the first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-ref.html b/testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-ref.html
new file mode 100644
index 0000000000..75fc2dd618
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/after-head-in-1kb-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>After <code>head</code>, before <code>body</code>, within first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/baseline-ref.html b/testing/web-platform/tests/html/syntax/charset/references/baseline-ref.html
new file mode 100644
index 0000000000..21b939efe0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/baseline-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Normal meta.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/document-write-ref.html b/testing/web-platform/tests/html/syntax/charset/references/document-write-ref.html
new file mode 100644
index 0000000000..9902cf77d1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/document-write-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta from <code>document.write</code> (with concatenation in the middle of <code>charset</code> to require execution for effect).</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-comment-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-comment-ref.html
new file mode 100644
index 0000000000..94b2016e0d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-comment-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta inside comment.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-noscript-after-template-after-1kb-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-noscript-after-template-after-1kb-ref.html
new file mode 100644
index 0000000000..12e9b93626
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-noscript-after-template-after-1kb-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta in <code>noscript</code> after <code>template</code> (which is also inside the <code>noscript</code>) after 1kb of padding following the template.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-object-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-object-ref.html
new file mode 100644
index 0000000000..3f52d0efe9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-object-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta in <code>object</code>.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-script-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-script-ref.html
new file mode 100644
index 0000000000..bbb63fd931
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-script-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta in <code>script</code>.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-style-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-style-ref.html
new file mode 100644
index 0000000000..9669146eb5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-style-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta in <code>style</code>.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-svg-in-cdata-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-svg-in-cdata-ref.html
new file mode 100644
index 0000000000..1d17d2720b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-svg-in-cdata-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<svg></svg>
+<p>In SVG in CDATA (after head).</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-svg-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-svg-ref.html
new file mode 100644
index 0000000000..c9e41aa177
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-svg-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<svg></svg>
+<p>In SVG (after head).</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-template-after-1kb-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-template-after-1kb-ref.html
new file mode 100644
index 0000000000..df20eba39b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-template-after-1kb-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<head>
+</head>
+<body>
+<p>In <code>template</code>, before <code>head</code> end tag, after first kilobyte.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-template-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-template-ref.html
new file mode 100644
index 0000000000..83c0e93072
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-template-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Meta in <code>template</code>.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/in-title-ref.html b/testing/web-platform/tests/html/syntax/charset/references/in-title-ref.html
new file mode 100644
index 0000000000..5fb8a05f2d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/in-title-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+<title><meta charset="windows-1251"></title>
+</head>
+<body>
+<p>Meta in <code>title</code>.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/ncr-ref.html b/testing/web-platform/tests/html/syntax/charset/references/ncr-ref.html
new file mode 100644
index 0000000000..1d25b4d23d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/ncr-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>NCR in encoding label.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-comment-before-ref.html b/testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-comment-before-ref.html
new file mode 100644
index 0000000000..bd2acd274c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-comment-before-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>Normal meta. Non-ASCII in comment before.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-title-before-ref.html b/testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-title-before-ref.html
new file mode 100644
index 0000000000..4f54732432
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/references/non-ascii-in-title-before-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<head>
+<meta charset="utf-8">
+<title>ж</title>
+</head>
+<body>
+<p>Normal meta. Non-ASCII in title before.</p>
+<p>Test: ж</p>
+<p>If &#x0436;, meta takes effect</p>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py b/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py
new file mode 100644
index 0000000000..f988bc9f8c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py
@@ -0,0 +1,4 @@
+def main(request, response):
+ response.headers.set(b"Content-Type", b"text/html;charset=this-is-not-a-charset")
+ # ¢
+ response.content = b"<meta charset=windows-1251>\xA2\n"
diff --git a/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http.py b/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http.py
new file mode 100644
index 0000000000..1b881a1681
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset-http.py
@@ -0,0 +1,4 @@
+def main(request, response):
+ response.headers.set(b"Content-Type", b"text/html;charset=this-is-not-a-charset")
+ # ¢
+ response.content = b"\xA2\n"
diff --git a/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset.html b/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset.html
new file mode 100644
index 0000000000..e77e874466
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/resources/bogus-charset.html
@@ -0,0 +1,7 @@
+<!doctype html><meta charset=this-is-not-a-charset><script>
+onload = () => {
+ if (location.search === "?postMessage") {
+ parent.postMessage(document.body.textContent, "*");
+ }
+}
+</script>¢
diff --git a/testing/web-platform/tests/html/syntax/charset/with-inheritance.html b/testing/web-platform/tests/html/syntax/charset/with-inheritance.html
new file mode 100644
index 0000000000..6ed3f9ec7a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/with-inheritance.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<meta charset="windows-1253">
+<title>meta charset in iframes with windows-1253 inhering from parent</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+
+<script>
+setup({explicit_done:true});
+window.onload = function() {
+ runAllTests();
+ done();
+};
+
+function runAllTests() {
+ const prefix = "Test: ";
+ let iframes = document.getElementsByTagName("iframe");
+ for (let i = 0; i < iframes.length; ++i) {
+ let iframe = iframes[i];
+ test(function() {
+ let doc = iframe.contentWindow.document;
+ let link = doc.getElementsByTagName("link")[0];
+ let match = (link.rel == "match");
+ let content = doc.documentElement.textContent;
+ let index = content.indexOf(prefix);
+ let c = content.substring(index + prefix.length, index + prefix.length + 1);
+ if (match) {
+ assert_equals(doc.characterSet, "windows-1251", 'Check characterSet');
+ assert_equals(c, "\u0436", 'Check character');
+ } else {
+ assert_equals(doc.characterSet, "windows-1253", 'Check characterSet');
+ assert_equals(c, "\u03B6", 'Check character');
+ }
+ }, "Check " + iframe.src);
+ }
+}
+
+</script>
+
+<iframe src="after-1kb.html"></iframe>
+<iframe src="after-bogus-after-1kb.html"></iframe>
+<iframe src="after-bogus.html"></iframe>
+<iframe src="after-head-after-1kb-crlf.html"></iframe>
+<iframe src="after-head-after-1kb.html"></iframe>
+<iframe src="after-head-in-1kb-crlf.html"></iframe>
+<iframe src="after-head-in-1kb.html"></iframe>
+<iframe src="baseline.html"></iframe>
+<iframe src="document-write.html"></iframe>
+<iframe src="in-comment.html"></iframe>
+<iframe src="in-noscript-after-template-after-1kb.html"></iframe>
+<iframe src="in-object.html"></iframe>
+<iframe src="in-script.html"></iframe>
+<iframe src="in-style.html"></iframe>
+<iframe src="in-svg.html"></iframe>
+<iframe src="in-svg-in-cdata.html"></iframe>
+<iframe src="in-template-after-1kb.html"></iframe>
+<iframe src="in-template.html"></iframe>
+<iframe src="in-title.html"></iframe>
+<iframe src="ncr.html"></iframe>
+<iframe src="non-ascii-in-comment-before.html"></iframe>
+<iframe src="non-ascii-in-title-before.html"></iframe>
diff --git a/testing/web-platform/tests/html/syntax/charset/without-inheritance.html b/testing/web-platform/tests/html/syntax/charset/without-inheritance.html
new file mode 100644
index 0000000000..d05945720a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/without-inheritance.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/charset/xhr.html b/testing/web-platform/tests/html/syntax/charset/xhr.html
new file mode 100644
index 0000000000..70af7e720c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/charset/xhr.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<meta charset="windows-1253">
+<title>meta charset in XHR</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+
+<script>
+setup({explicit_done:true});
+window.onload = function() {
+ runNextTest();
+};
+
+let files = [
+ "after-1kb.html",
+ "after-bogus-after-1kb.html",
+ "after-bogus.html",
+ "after-head-after-1kb-crlf.html",
+ "after-head-after-1kb.html",
+ "after-head-in-1kb-crlf.html",
+ "after-head-in-1kb.html",
+ "baseline.html",
+ "document-write.html",
+ "in-comment.html",
+ "in-noscript-after-template-after-1kb.html",
+ "in-object.html",
+ "in-script.html",
+ "in-style.html",
+ "in-svg.html",
+ "in-svg-in-cdata.html",
+ "in-template-after-1kb.html",
+ "in-template.html",
+ "in-title.html",
+ "ncr.html",
+ "non-ascii-in-comment-before.html",
+ "non-ascii-in-title-before.html",
+];
+
+function handler() {
+ const prefix = "Test: ";
+ let doc = this.response;
+ test(function() {
+ let link = doc.getElementsByTagName("link")[0];
+ let match = (link.rel == "match");
+ let content = doc.documentElement.textContent;
+ let index = content.indexOf(prefix);
+ let c = content.substring(index + prefix.length, index + prefix.length + 1);
+ if (match) {
+ assert_equals(doc.characterSet, "windows-1251", 'Check characterSet');
+ assert_equals(c, "\u0436", 'Check character');
+ } else {
+ assert_equals(doc.characterSet, "UTF-8", 'Check characterSet');
+ assert_equals(c, "\uFFFD", 'Check character');
+ }
+ }, "Check " + this.thesrc);
+ runNextTest();
+}
+
+function runNextTest() {
+ let file = files.shift();
+ if (!file) {
+ done();
+ return;
+ }
+ let xhr = new XMLHttpRequest();
+ xhr.responseType = "document";
+ xhr.onload = handler;
+ xhr.thesrc = file; // expando
+ xhr.open("GET", file);
+ xhr.send();
+}
+
+</script>
+
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/innerHTML-setter-default-namespace.xhtml b/testing/web-platform/tests/html/syntax/parsing-html-fragments/innerHTML-setter-default-namespace.xhtml
new file mode 100644
index 0000000000..19f17f1e28
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/innerHTML-setter-default-namespace.xhtml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<span xmlns="someNamespace" xmlns:html="http://www.w3.org/1999/xhtml">
+ <html:span id="target"/>
+</span>
+<script>
+<![CDATA[
+
+test(() => {
+ const element = document.getElementById("target");
+ element.innerHTML = '<b /><html:b />';
+ assert_equals(element.firstChild.prefix, null);
+ assert_equals(element.firstChild.namespaceURI, "someNamespace");
+ assert_equals(element.lastChild.prefix, 'html');
+ assert_equals(element.lastChild.namespaceURI, "http://www.w3.org/1999/xhtml");
+}, "Setting innerHTML on a HTML element with a non-HTML namespace as the default namespace");
+
+test(() => {
+ const element = document.getElementById("target");
+ element.outerHTML = '<b /><html:b />';
+ assert_equals(element.firstChild.prefix, null);
+ assert_equals(element.firstChild.namespaceURI, "someNamespace");
+ assert_equals(element.lastChild.prefix, 'html');
+ assert_equals(element.lastChild.namespaceURI, "http://www.w3.org/1999/xhtml");
+}, "Setting outerHTML on a HTML element with a non-HTML namespace as the default namespace");
+
+]]>
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css
new file mode 100644
index 0000000000..956ec70e71
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css
@@ -0,0 +1,4 @@
+@charset "utf-8";
+.test div.ýäè {
+ width: 100px;
+}
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css
new file mode 100644
index 0000000000..4a02854197
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css
@@ -0,0 +1,4 @@
+@charset "utf-8";
+.test div#box.ÜÀÚ {
+ width: 100px;
+}
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css
new file mode 100644
index 0000000000..ec907a1a94
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css
@@ -0,0 +1,4 @@
+@charset "utf-8";
+.test div.ÜÀÚ {
+ width: 100px;
+}
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css
new file mode 100644
index 0000000000..3fa2d5f475
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css
@@ -0,0 +1,4 @@
+@charset "utf-8";
+.test div.ýäè {
+ width: 100px;
+}
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html
new file mode 100644
index 0000000000..a85682adf9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <title>HTTP charset</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-15.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00C3;&#x0153;&#x00C3;&#x20AC;&#x00C3;&#x0161;</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.
+
+The only character encoding declaration for this HTML file is in the HTTP header, which sets the encoding to ISO 8859-15.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "The character encoding of a page can be set using the HTTP header charset declaration.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers
new file mode 100644
index 0000000000..3d9718c07b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=iso-8859-15
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.html
new file mode 100644
index 0000000000..5b46a7f0f0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.html
new file mode 100644
index 0000000000..571d5bf8e8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html
new file mode 100644
index 0000000000..03dd532b38
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-15"> <title>meta content attribute</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-15.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The only character encoding declaration for this HTML file is in the content attribute of the meta element, which declares the encoding to be ISO 8859-15.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00C3;&#x0153;&#x00C3;&#x20AC;&#x00C3;&#x0161;</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "The character encoding of the page can be set by a meta element with http-equiv and content attributes.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers
new file mode 100644
index 0000000000..156209f9c8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html
new file mode 100644
index 0000000000..1383292832
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta charset="iso-8859-15"> <title>meta charset attribute</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-15.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The only character encoding declaration for this HTML file is in the charset attribute of the meta element, which declares the encoding to be ISO 8859-15.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00C3;&#x0153;&#x00C3;&#x20AC;&#x00C3;&#x0161;</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "The character encoding of the page can be set by a meta element with charset attribute.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers
new file mode 100644
index 0000000000..156209f9c8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html
new file mode 100644
index 0000000000..141ca3e56f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" > <title>HTTP vs meta content</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }.test div { width: 90px; }
+</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-15.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The HTTP header attempts to set the character encoding to ISO 8859-15. The page contains an encoding declaration in a meta content attribute that attempts to set the character encoding to ISO 8859-1.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00C3;&#x0153;&#x00C3;&#x20AC;&#x00C3;&#x0161;</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "The HTTP header has a higher precedence than an encoding declaration in a meta content attribute.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers
new file mode 100644
index 0000000000..3d9718c07b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=iso-8859-15
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html
new file mode 100644
index 0000000000..9ee7510e5a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta charset="iso-8859-1" > <title>HTTP vs meta charset</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }.test div { width: 90px; }
+</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-15.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The HTTP header attempts to set the character encoding to ISO 8859-15. The page contains an encoding declaration in a meta charset attribute that attempts to set the character encoding to ISO 8859-1.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00C3;&#x0153;&#x00C3;&#x20AC;&#x00C3;&#x0161;</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "The HTTP header has a higher precedence than an encoding declaration in a meta charset attribute.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers
new file mode 100644
index 0000000000..3d9718c07b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=iso-8859-15
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html
new file mode 100644
index 0000000000..5f85199928
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta charset="iso-8859-15" ><meta http-equiv="content-type" content="text/html;charset=iso-8859-1" > <title>meta charset, then meta content</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }.test div { width: 90px; }
+</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-15.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The page contains an encoding declaration in a meta charset attribute that attempts to set the character encoding to ISO 8859-15, followed by a meta content attribute that tries to set the encoding to ISO 8859-1.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00C3;&#x0153;&#x00C3;&#x20AC;&#x00C3;&#x0161;</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "An encoding declaration in a meta charset attribute has a higher precedence than a following encoding declaration in a meta charset attribute.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers
new file mode 100644
index 0000000000..156209f9c8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html
new file mode 100644
index 0000000000..f0b699792e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <title>HTTP vs UTF-8 BOM</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-utf8.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The HTTP header attempts to set the character encoding to ISO 8859-15. The page starts with a UTF-8 signature.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00FD;&#x00E4;&#x00E8;</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.
+
+If the test is unsuccessful, the characters &#x00EF;&#x00BB;&#x00BF; should appear at the top of the page. These represent the bytes that make up the UTF-8 signature when encountered in the ISO 8859-15 encoding.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "A character encoding set in the HTTP header has lower precedence than the UTF-8 signature.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers
new file mode 100644
index 0000000000..3d9718c07b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=iso-8859-15
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html
new file mode 100644
index 0000000000..1fcf157b23
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-15"> <title>UTF-8 BOM vs meta content</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-utf8.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The page contains an encoding declaration in a meta content attribute that attempts to set the character encoding to ISO 8859-15, but the file starts with a UTF-8 signature.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00FD;&#x00E4;&#x00E8;</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "A page with a UTF-8 BOM will be recognized as UTF-8 even if the meta content attribute declares a different encoding.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers
new file mode 100644
index 0000000000..156209f9c8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html
new file mode 100644
index 0000000000..9432113a25
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <meta charset="iso-8859-15"> <title>UTF-8 BOM vs meta charset</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://html.spec.whatwg.org/multipage/#the-input-byte-stream'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='http'>
+<style type='text/css'>
+.test div { width: 50px; }.test div { width: 90px; }
+</style>
+<link rel="stylesheet" type="text/css" href="support/encodingtests-utf8.css">
+</head>
+<body>
+
+
+
+<div class='test'><div id='box' class='ýäè'>&#xA0;</div></div>
+
+
+<!--Notes:
+
+The page contains an encoding declaration in a meta charset attribute that attempts to set the character encoding to ISO 8859-15, but the file starts with a UTF-8 signature.
+
+The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.&#x00FD;&#x00E4;&#x00E8;</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.
+
+-->
+<script>
+test(function() {
+assert_equals(document.getElementById('box').offsetWidth, 100);
+}, "A page with a UTF-8 BOM will be recognized as UTF-8 even if the meta charset attribute declares a different encoding.");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers
new file mode 100644
index 0000000000..156209f9c8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html
diff --git a/testing/web-platform/tests/html/syntax/parsing-html-fragments/tokenizer-modes-001.html b/testing/web-platform/tests/html/syntax/parsing-html-fragments/tokenizer-modes-001.html
new file mode 100644
index 0000000000..d283274214
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing-html-fragments/tokenizer-modes-001.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+ <title>Tokenizer states</title>
+<link rel='author' title='Henri Sivonen' href='mailto:hsivonen@hsivonen.fi'>
+<link rel='help' href='https://html.spec.whatwg.org/#html-fragment-parsing-algorithm'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<script>
+test(function() {
+ var e = document.createElement("title");
+ e.innerHTML = "</title><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "&lt;/title&gt;&lt;div&gt;");
+}, "</title> should not break out of title.");
+
+test(function() {
+ var e = document.createElement("textarea");
+ e.innerHTML = "</textarea><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "&lt;/textarea&gt;&lt;div&gt;");
+}, "</textarea> should not break out of textarea.");
+
+test(function() {
+ var e = document.createElement("style");
+ e.innerHTML = "</style><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</style><div>");
+}, "</style> should not break out of style.");
+
+test(function() {
+ var e = document.createElement("xmp");
+ e.innerHTML = "</xmp><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</xmp><div>");
+}, "</xmp> should not break out of xmp.");
+
+test(function() {
+ var e = document.createElement("iframe");
+ e.innerHTML = "</iframe><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</iframe><div>");
+}, "</iframe> should not break out of iframe.");
+
+test(function() {
+ var e = document.createElement("noembed");
+ e.innerHTML = "</noembed><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</noembed><div>");
+}, "</noembed> should not break out of noembed.");
+
+test(function() {
+ var e = document.createElement("noframes");
+ e.innerHTML = "</noframes><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</noframes><div>");
+}, "</noframes> should not break out of noframes.");
+
+test(function() {
+ var e = document.createElement("script");
+ e.innerHTML = "<\/script><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "<\/script><div>");
+}, "<\/script> should not break out of script.");
+
+
+test(function() {
+ var e = document.createElement("noscript");
+ e.innerHTML = "</noscript><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</noscript><div>");
+}, "</noscript> should not break out of noscript.");
+
+test(function() {
+ var e = document.createElement("plaintext");
+ e.innerHTML = "</plaintext><div>";
+ assert_equals(e.getElementsByTagName("div").length, 0);
+ assert_equals(e.innerHTML, "</plaintext><div>");
+}, "</plaintext> should not break out of plaintext.");
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/DOMContentLoaded-defer.html b/testing/web-platform/tests/html/syntax/parsing/DOMContentLoaded-defer.html
new file mode 100644
index 0000000000..44946adf4e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/DOMContentLoaded-defer.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>The end: DOMContentLoaded and defer scripts</title>
+<link rel=help href="https://html.spec.whatwg.org/multipage/#the-end">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+var dcl;
+var t = async_test(function() {
+ dcl = false;
+ document.addEventListener("DOMContentLoaded", function(e) {
+ dcl = true;
+ });
+});
+</script>
+<script defer src=support/DOMContentLoaded-defer.js></script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html b/testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html
new file mode 100644
index 0000000000..2bdc83145e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html>
+<title>document.getElementsByTagName and foreign parser-inserted
+elements</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-document-getelementsbytagname">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#parsing">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<div id="test">
+<svg>
+<altglyph/>
+ <altglyphdef/>
+ <altglyphitem/>
+ <animatecolor/>
+ <animatemotion/>
+ <animatetransform/>
+ <clippath/>
+ <feblend/>
+ <fecolormatrix/>
+ <fecomponenttransfer/>
+ <fecomposite/>
+ <feconvolvematrix/>
+ <fediffuselighting/>
+ <fedisplacementmap/>
+ <fedistantlight/>
+ <feflood/>
+ <fefunca/>
+ <fefuncb/>
+ <fefuncg/>
+ <fefuncr/>
+ <fegaussianblur/>
+ <feimage/>
+ <femerge/>
+ <femergenode/>
+ <femorphology/>
+ <feoffset/>
+ <fepointlight/>
+ <fespecularlighting/>
+ <fespotlight/>
+ <fetile/>
+ <feturbulence/>
+ <foreignobject/>
+ <glyphref/>
+ <lineargradient/>
+ <radialgradient/>
+ <textpath/>
+ <ALTGLYPH/>
+ <ALTGLYPHDEF/>
+ <ALTGLYPHITEM/>
+ <ANIMATECOLOR/>
+ <ANIMATEMOTION/>
+ <ANIMATETRANSFORM/>
+ <CLIPPATH/>
+ <FEBLEND/>
+ <FECOLORMATRIX/>
+ <FECOMPONENTTRANSFER/>
+ <FECOMPOSITE/>
+ <FECONVOLVEMATRIX/>
+ <FEDIFFUSELIGHTING/>
+ <FEDISPLACEMENTMAP/>
+ <FEDISTANTLIGHT/>
+ <FEFLOOD/>
+ <FEFUNCA/>
+ <FEFUNCB/>
+ <FEFUNCG/>
+ <FEFUNCR/>
+ <FEGAUSSIANBLUR/>
+ <FEIMAGE/>
+ <FEMERGE/>
+ <FEMERGENODE/>
+ <FEMORPHOLOGY/>
+ <FEOFFSET/>
+ <FEPOINTLIGHT/>
+ <FESPECULARLIGHTING/>
+ <FESPOTLIGHT/>
+ <FETILE/>
+ <FETURBULENCE/>
+ <FOREIGNOBJECT/>
+ <GLYPHREF/>
+ <LINEARGRADIENT/>
+ <RADIALGRADIENT/>
+ <TEXTPATH/>
+</svg>
+<script>
+var elements = [
+ "altGlyph",
+ "altGlyphDef",
+ "altGlyphItem",
+ "animateColor",
+ "animateMotion",
+ "animateTransform",
+ "clipPath",
+ "feBlend",
+ "feColorMatrix",
+ "feComponentTransfer",
+ "feComposite",
+ "feConvolveMatrix",
+ "feDiffuseLighting",
+ "feDisplacementMap",
+ "feDistantLight",
+ "feFlood",
+ "feFuncA",
+ "feFuncB",
+ "feFuncG",
+ "feFuncR",
+ "feGaussianBlur",
+ "feImage",
+ "feMerge",
+ "feMergeNode",
+ "feMorphology",
+ "feOffset",
+ "fePointLight",
+ "feSpecularLighting",
+ "feSpotLight",
+ "feTile",
+ "feTurbulence",
+ "foreignObject",
+ "glyphRef",
+ "linearGradient",
+ "radialGradient",
+ "textPath"];
+</script>
+</div>
+<script>
+var SVG = "http://www.w3.org/2000/svg";
+function t(el) {
+ assert_equals(document.getElementsByTagName(el).length, 2);
+ assert_equals(document.getElementsByTagName(el.toUpperCase()).length, 0);
+ assert_equals(document.getElementsByTagName(el.toLowerCase()).length, 0);
+ assert_equals(document.getElementsByTagNameNS(SVG, el).length, 2);
+ assert_equals(document.getElementsByTagNameNS(SVG, el.toUpperCase()).length, 0);
+ assert_equals(document.getElementsByTagNameNS(SVG, el.toLowerCase()).length, 0);
+}
+test(function() {
+ var tests = [];
+ assert_equals(document.getElementsByTagName('svg').length, 1);
+ for (var i = 0, il = elements.length; i < il; ++i) {
+ tests.push(["Testing " + elements[i], elements[i]]);
+ }
+ generate_tests(t, tests);
+});
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html b/testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html
new file mode 100644
index 0000000000..1109a24cfe
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<title>getElementsByTagName and font</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-document-getelementsbytagname">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#parsing">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<div id="test">
+<font></font>
+<svg><font/></svg>
+</div>
+<script>
+var HTML = "http://www.w3.org/1999/xhtml", SVG = "http://www.w3.org/2000/svg";
+test(function() {
+ assert_equals(document.getElementsByTagName("FONT").length, 1);
+ assert_equals(document.getElementsByTagName("FONT")[0].namespaceURI, HTML);
+}, "Upper-case font")
+test(function() {
+ assert_equals(document.getElementsByTagName("font").length, 2);
+ assert_equals(document.getElementsByTagName("font")[0].namespaceURI, HTML);
+ assert_equals(document.getElementsByTagName("font")[1].namespaceURI, SVG);
+}, "Lower-case font")
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html b/testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html
new file mode 100644
index 0000000000..cbad9f6d19
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<title>getElementsByTagName and font</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-element-getelementsbytagname">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#parsing">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<div id="test">
+<font></font>
+<svg><font/></svg>
+</div>
+<script>
+var HTML = "http://www.w3.org/1999/xhtml", SVG = "http://www.w3.org/2000/svg";
+var wrapper = document.getElementById("test");
+test(function() {
+ assert_equals(wrapper.getElementsByTagName("FONT").length, 1);
+ assert_equals(wrapper.getElementsByTagName("FONT")[0].namespaceURI, HTML);
+}, "Upper-case font")
+test(function() {
+ assert_equals(wrapper.getElementsByTagName("font").length, 2);
+ assert_equals(wrapper.getElementsByTagName("font")[0].namespaceURI, HTML);
+ assert_equals(wrapper.getElementsByTagName("font")[1].namespaceURI, SVG);
+}, "Lower-case font")
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html b/testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html
new file mode 100644
index 0000000000..aabb169b1b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<title>getElementsByTagName and font</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-element-getelementsbytagname">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#parsing">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<div id="test">
+<svg id="outer">
+<foreignObject>
+<font></font>
+<svg><font/></svg>
+</foreignObject>
+</svg>
+</div>
+<script>
+var HTML = "http://www.w3.org/1999/xhtml", SVG = "http://www.w3.org/2000/svg";
+var wrapper = document.getElementById("outer");
+test(function() {
+ assert_equals(wrapper.getElementsByTagName("FONT").length, 1);
+ assert_equals(wrapper.getElementsByTagName("FONT")[0].namespaceURI, HTML);
+}, "Upper-case font")
+test(function() {
+ assert_equals(wrapper.getElementsByTagName("font").length, 2);
+ assert_equals(wrapper.getElementsByTagName("font")[0].namespaceURI, HTML);
+ assert_equals(wrapper.getElementsByTagName("font")[1].namespaceURI, SVG);
+}, "Lower-case font")
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/README b/testing/web-platform/tests/html/syntax/parsing/README
new file mode 100644
index 0000000000..5c41f78d2e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/README
@@ -0,0 +1,8 @@
+Note: the html5lib_* files in this directory are autogenerated, as are
+the tests under speculative-parsing/.
+
+To update the generated tests, run
+`wpt update-built --include html5lib speculative-parsing`.
+
+The revision of html5lib-tests used to generate the tests is stored in
+html/tools/html5lib_tests_revision
diff --git a/testing/web-platform/tests/html/syntax/parsing/adoption_agency_check_the_end_tag_name.html b/testing/web-platform/tests/html/syntax/parsing/adoption_agency_check_the_end_tag_name.html
new file mode 100644
index 0000000000..f5d49dd45f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/adoption_agency_check_the_end_tag_name.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>The adoption agency algorithm should check the end tag's name</title>
+<link rel="author" href="mailto:n4ag3a2sh1i@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#adoption-agency-algorithm">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+
+<script>
+'use strict';
+
+// This is a regression test for https://crbug.com/1217523.
+test(() => {
+ const wrapper = document.createElement('div');
+ const html = '<code some-attribute=""><div><code><code><code><code></code></code></code></code></div></code>';
+ wrapper.innerHTML = html;
+ assert_equals(wrapper.innerHTML, html);
+}, 'The algorithm should not reparent properly nested tags');
+
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/ambiguous-ampersand.html b/testing/web-platform/tests/html/syntax/parsing/ambiguous-ampersand.html
new file mode 100644
index 0000000000..e6d5a82215
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/ambiguous-ampersand.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ambiguous ampersand</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div><a href='?a=b&c=d&a0b=c&copy=1&noti=n&not=in&notin=&notin;&not;&;& &'>Link</a><p>Text: ?a=b&c=d&a0b=c&copy=1&noti=n&not=in&notin=&notin;&not;&;& &</p></div>
+<script>
+var markup = "<div><a href='?a=b&c=d&a0b=c&copy=1&noti=n&not=in&notin=&notin;&not;&;& &'>Link</a><p>Text: ?a=b&c=d&a0b=c&copy=1&noti=n&not=in&notin=&notin;&not;&;& &</p></div>";
+
+for (var i = 0; i < markup.length; ++i) {
+ document.write(markup.charAt(i));
+}
+</script>
+
+<script>
+function checkDiv(div, provenance) {
+ test(function() {
+ assert_equals(div.childNodes.length, 2, "Number of elements " + provenance);
+ let a = div.firstChild;
+ let href = a.href;
+ let question = href.indexOf('?');
+ href = href.substring(question);
+ assert_equals(href, "?a=b&c=d&a0b=c&copy=1&noti=n&not=in&notin=%E2%88%89%C2%AC&;&%20&", "attribute " + provenance);
+ let p = a.nextSibling;
+ assert_equals(p.textContent, "Text: ?a=b&c=d&a0b=c©=1¬i=n¬=in¬in=∉¬&;& &", "text " + provenance)
+ }, "Check div structure: " + provenance);
+}
+
+
+let divs = document.getElementsByTagName("div");
+test(function() {
+ assert_equals(divs.length, 2);
+}, "Check number of divs");
+checkDiv(divs[0], "network");
+checkDiv(divs[1], "document.write");
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/common.js b/testing/web-platform/tests/html/syntax/parsing/common.js
new file mode 100644
index 0000000000..b3ac9ece70
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/common.js
@@ -0,0 +1,24 @@
+function mark_diffs(expected, actual) {
+ var expected_lines = expected.split("\n");
+ var actual_lines = actual.split("\n");
+
+ var max_length = Math.max(expected_lines.length, actual_lines.length);
+
+ var expected_diff = ["code", {}];
+ var actual_diff = ["code", {}];
+
+ for (var i=0; i<max_length; i++) {
+ if (expected_lines[i] === actual_lines[i]) {
+ expected_diff.push(expected_lines[i] + "\n");
+ actual_diff.push(actual_lines[i] + "\n");
+ } else {
+ if (expected_lines[i]) {
+ expected_diff.push(["span", {style:"color:red"}, expected_lines[i] + "\n"]);
+ }
+ if (actual_lines[i]) {
+ actual_diff.push(["span", {style:"color:red"}, actual_lines[i] + "\n"]);
+ }
+ }
+ }
+ return [expected_diff, actual_diff];
+}
diff --git a/testing/web-platform/tests/html/syntax/parsing/empty-doctype-ids.html b/testing/web-platform/tests/html/syntax/parsing/empty-doctype-ids.html
new file mode 100644
index 0000000000..befdce428c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/empty-doctype-ids.html
@@ -0,0 +1,10 @@
+<!doctype html PUBLIC "" "">
+<meta charset=utf-8>
+<title>Doctype with empty ids should trigger the standards mode.</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+test(function () {
+ assert_equals(document.compatMode, "CSS1Compat");
+}, "Doctype with empty ids should trigger the standards mode.");
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_001.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_001.html
new file mode 100644
index 0000000000..10ebaa8434
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_001.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG inside HTML OBJECT element parses correctly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ var svgNS = "http://www.w3.org/2000/svg";
+ if(document.getElementsByTagName("object")[0].childNodes[1].localName=="svg" && document.getElementsByTagName("rect")[0].namespaceURI==svgNS)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","green");
+ }
+ else
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red");
+ }
+ }
+ catch(ex)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red")
+ }
+ }
+ </script>
+ </head>
+
+ <body onLoad="RunTest()">
+ <div class="testdata">
+ <p id="instructions"> Test passes if a green rectangle is visible on the page below this line. </p>
+ </div>
+
+ <object>
+ <svg width="100px" height="100px" >
+ <rect width="100px" height="100px" fill="none"/>
+ </svg>
+ </object>
+ </body>
+
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_003.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_003.html
new file mode 100644
index 0000000000..320a944092
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_003.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG inside HTML BUTTON element parses correctly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ var svgNS = "http://www.w3.org/2000/svg";
+ if(document.getElementsByTagName("button")[0].childNodes[1].localName=="svg" && document.getElementsByTagName("rect")[0].namespaceURI==svgNS)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","green");
+ }
+ else
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red");
+ }
+ }
+ catch(ex)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red")
+ }
+ }
+ </script>
+ </head>
+
+ <body onLoad="RunTest()">
+
+ <div class="testdata">
+ <p id="instructions">Test passes if the button has a green rectangle while 'FillerText1' and 'FillerText3' are on either side of the button.</p>
+ </div>
+ <div>
+ FillerText1
+ <button>
+ <svg width="100px" height="100px">
+ <rect width="100px" height="100px" fill="none" />
+ </svg>
+
+ </button>
+ FillerText3
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_004.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_004.html
new file mode 100644
index 0000000000..eec49a81d1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_004.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG inside HTML CAPTION element parses correctly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ var svgNS = "http://www.w3.org/2000/svg";
+ if(document.getElementsByTagName("caption")[0].childNodes[1].localName=="svg" && document.getElementsByTagName("rect")[0].namespaceURI==svgNS)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","green");
+ }
+ else
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red");
+ }
+ }
+ catch(ex)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red")
+ }
+ }
+ </script>
+ </head>
+
+ <body onLoad="RunTest()">
+ <div class="testdata">
+ <p id="instructions">Test passes if a green square appears above and centered relative to the table.</p>
+ </div>
+ <div>
+ <table border="1">
+ <caption>
+ <svg width="100px" height="100px">
+ <rect width="100px" height="100px" fill="none" />
+ </svg>
+ </caption>
+ <thead>
+ <th>FillerText</th>
+ <th>FillerText</th>
+ <th>FillerText</th>
+ </thead>
+ <tr>
+ <td>FillerText</td>
+ <td>FillerText</td>
+ <td>FillerText</td>
+ </tr>
+ <tr>
+ <td>FillerText</td>
+ <td>FillerText</td>
+ <td>FillerText</td>
+ </tr>
+ <tr>
+ <td>FillerText</td>
+ <td>FillerText</td>
+ <td>FillerText</td>
+ </tr>
+ </table>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_005.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_005.html
new file mode 100644
index 0000000000..b8629dc7c6
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_005.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG inside HTML FORM element parses correctly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ var svgNS = "http://www.w3.org/2000/svg";
+ if(document.getElementsByTagName("form")[0].childNodes[1].localName=="svg" && document.getElementsByTagName("rect")[0].namespaceURI==svgNS)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","green");
+ }
+ else
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red");
+ }
+ }
+ catch(ex)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red")
+ }
+ }
+ </script>
+ </head>
+
+ <body onLoad="RunTest()">
+ <div class="testdata">
+ <p id="instructions">Test passes if green rectangle is visible below 'FillerText1'.</p>
+ </div>
+ <div>
+ FillerText1
+ <form>
+ <svg width="100px" height="100px">
+ <rect width="100px" height="100px" fill="none" />
+ </svg>
+ </form>
+
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_006.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_006.html
new file mode 100644
index 0000000000..36acda8fc3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_006.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <svg width="100px" height="100px">
+ <rect width="100px" height="100px" fill="none" />
+ </svg>
+
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG inside HTML 'HTML' element parses correctly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ if(document.body.childNodes[0].localName=="svg")
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","green");
+ }
+ else
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red");
+ }
+ }
+ catch(ex)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red")
+ }
+ }
+ </script>
+ </head>
+
+ <body onLoad="RunTest()">
+ <div class="testdata">
+ <p id="instructions">Test passes if a green rectangle is visible on the page above this line.</p>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_008.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_008.html
new file mode 100644
index 0000000000..348ff0b713
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_008.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG inside HTML 'BODY' element parses correctly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ if(document.body.childNodes[3].localName=="svg")
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","green");
+ }
+ else
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red");
+ }
+ }
+ catch(ex)
+ {
+ document.getElementsByTagName("rect")[0].setAttribute("fill","red")
+ }
+ }
+ </script>
+ </head>
+
+ <body onLoad="RunTest()">
+ <div class="testdata">
+ <p id="instructions"> Test passes if a green rectangle is visible on the page below this line. </p>
+ </div>
+ <svg width="100px" height="100px" >
+ <rect x="0" y="0" width="100px" height="100px" />
+ </svg>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_009.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_009.html
new file mode 100644
index 0000000000..364dd85781
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG Self Closing tags parses properly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ var parentNode = document.getElementById("rect1");
+ if(parentNode.childNodes[1].localName=="circle")
+ {
+ document.getElementById("testresult").innerHTML = "PASS";
+ }
+ else
+ {
+ document.getElementById("testresult").innerHTML = "FAIL"
+ }
+ }
+ catch(ex)
+ {
+ document.getElementById("testresult").innerHTML = "FAIL";
+ }
+ }
+ </script>
+ </head>
+
+ <body onload="RunTest()">
+ <div class="testdata">
+ <p id="instructions"> Test passes if the word "PASS" appears below </p>
+ <p> Test Result : </p>
+ <p id="testresult"> RUNNING </div>
+ </div>
+
+ <svg width="100px" height="100px">
+ <rect id="rect1" >
+ <circle> </circle>
+ </rect>
+ </svg>
+
+ </body>
+
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_010.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_010.html
new file mode 100644
index 0000000000..11e1bf1006
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_010.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG Self Closing tags parses properly" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <script type="text/javascript">
+ function RunTest()
+ {
+ try
+ {
+ var parentNode = document.getElementById("svg1");
+ if(parentNode.childNodes[1].localName=="rect" && parentNode.childNodes[3].localName=="circle")
+ {
+ document.getElementById("testresult").innerHTML = "PASS";
+ }
+ else
+ {
+ document.getElementById("testresult").innerHTML = "FAIL"
+ }
+ }
+ catch(ex)
+ {
+ document.getElementById("testresult").innerHTML = "FAIL";
+ }
+ }
+ </script>
+ </head>
+
+ <body onload="RunTest()">
+
+ <div class="testdata">
+ <p id="instructions"> Test passes if the word "PASS" appears below </p>
+ <p> Test Result : </p>
+ <p id="testresult"> RUNNING </div>
+ </div>
+ <svg id="svg1" width="100px" height="100px">
+ <rect id="rect1" />
+ <circle id="circle1" />
+ </svg>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_011.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_011.html
new file mode 100644
index 0000000000..a8a9d7a1b6
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_011.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG elements are styled using ID Selector" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <style>
+ #d1
+ {
+ fill: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <div class="testdata">
+ <p id="instructions">Test passes if a green square is visible below this line.</p>
+ </div>
+ <div id="d1">
+ <svg width="100px" height="100px">
+ <rect width="100px" height="100px" />
+ </svg>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/foreign_content_013.html b/testing/web-platform/tests/html/syntax/parsing/foreign_content_013.html
new file mode 100644
index 0000000000..e88aae9e4d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/foreign_content_013.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML 5 Foreign Content SVG in HTML </title>
+ <meta description="Test to verify SVG elements are styled using CLASS Selector" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+
+ <style>
+ .svg1
+ {
+ fill: green ;
+ }
+ </style>
+ </head>
+
+ <body>
+ <div class="testdata">
+ <p id="instructions">Test passes if a green square is visible below this line. </p>
+ </div>
+ <div id="d1">
+ <svg class="svg1" width="100px" height="100px">
+ <rect width="100px" height="100px"/>
+ </svg>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html-integration-point.html b/testing/web-platform/tests/html/syntax/parsing/html-integration-point.html
new file mode 100644
index 0000000000..be6b42d07d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html-integration-point.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#tree-construction:html-integration-point">
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<math><annotation-xml id="point-1" encoding="text/html"><xmp>&lt;/xmp&gt;&lt;img></xmp></annotation-xml></math>
+<math><annotation-xml id="point-2" encoding="application/xhtml+xml"><style>&lt;/style&gt;&lt;img></style></annotation-xml></math>
+<svg><foreignObject id="point-3"><iframe>&lt;/iframe&gt;&lt;img></iframe></foreignObject></svg>
+<svg><desc id="point-4"><noembed>&lt;/noembed&gt;&lt;img></noembed></desc></svg>
+<svg><title id="point-5"><noframes>&lt;/noframes&gt;&lt;img></noframes></title></svg>
+
+<script>
+function generate_test(id) {
+ return () => {
+ let point = document.querySelector('#' + id);
+ assert_not_equals(point.namespaceURI, 'http://www.w3.org/1999/xhtml');
+ let rawTextElement = point.firstChild;
+ assert_equals(rawTextElement.namespaceURI, 'http://www.w3.org/1999/xhtml');
+ assert_equals(rawTextElement.textContent.substr(0, 4), '&lt;',
+ 'Entity references should not be decoded.');
+ };
+}
+
+test(generate_test('point-1'), 'MathML annotation-xml with encoding=text/html should be an HTML integration point');
+test(generate_test('point-2'), 'MathML annotation-xml with encoding=application/xhtml+xml should be an HTML integration point');
+test(generate_test('point-3'), 'SVG foreignObject should be an HTML integration point');
+test(generate_test('point-4'), 'SVG desc should be an HTML integration point');
+test(generate_test('point-5'), 'SVG title should be an HTML integration point');
+</script>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_adoption01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_adoption01.html
new file mode 100644
index 0000000000..87664da778
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_adoption01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_adoption01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['dab5eca760a630bc57719d678d789dd1ca74f492','a3a46907dc73b7be1e1171f797a9f696b7fb185b','b720cd1d95283d6288e7ca17142540b10ef8f847','83b2bd6f0849b2c7283448f15095806a17c7f0c0','1d56fa2d9d756f9053638a3db25fcd84e57e41ec','c129fce97933067558d7833632ad7ef2d149616e','39a3ec04f54cda2bf1e06c54caf0b302da4fd252','d0bdfe6be48309b2d01b497667b350a8e6ec8ffb','63401082c6afd4b3c3201e348a1a61722f167b21','883cfd89f63da854dffbfbc938da1f31887a55e5','4dc0665051dac0d72c71aba5c95c5b86437dea2c','4f376c0a798e71a91065e215dc0175d3107d5208','52b62611a847a3f5fc3dc607a6b0174f1697247c','88d0d3403d2a7b4058fcfb4e62835acb1c207e0f','d7338f457789f65d47b240e203b9e40a3925f2ca','bf8088acd8bd48d8487bae49a613c248c488c041','39edaa2e298c60ad4a1b0b9fdb4481d4aea98f36',];
+ var tests = {
+ "dab5eca760a630bc57719d678d789dd1ca74f492":[async_test('html5lib_adoption01.html dab5eca760a630bc57719d678d789dd1ca74f492'), "%3Ca%3E%3Cp%3E%3C/a%3E%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E"],"a3a46907dc73b7be1e1171f797a9f696b7fb185b":[async_test('html5lib_adoption01.html a3a46907dc73b7be1e1171f797a9f696b7fb185b'), "%3Ca%3E1%3Cp%3E2%3C/a%3E3%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%223%22"],"b720cd1d95283d6288e7ca17142540b10ef8f847":[async_test('html5lib_adoption01.html b720cd1d95283d6288e7ca17142540b10ef8f847'), "%3Ca%3E1%3Cbutton%3E2%3C/a%3E3%3C/button%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%223%22"],"83b2bd6f0849b2c7283448f15095806a17c7f0c0":[async_test('html5lib_adoption01.html 83b2bd6f0849b2c7283448f15095806a17c7f0c0'), "%3Ca%3E1%3Cb%3E2%3C/a%3E3%3C/b%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%223%22"],"1d56fa2d9d756f9053638a3db25fcd84e57e41ec":[async_test('html5lib_adoption01.html 1d56fa2d9d756f9053638a3db25fcd84e57e41ec'), "%3Ca%3E1%3Cdiv%3E2%3Cdiv%3E3%3C/a%3E4%3C/div%3E5%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%20%20%20%20%224%22%0A%7C%20%20%20%20%20%20%20%225%22"],"c129fce97933067558d7833632ad7ef2d149616e":[async_test('html5lib_adoption01.html c129fce97933067558d7833632ad7ef2d149616e'), "%3Ctable%3E%3Ca%3E1%3Cp%3E2%3C/a%3E3%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"39a3ec04f54cda2bf1e06c54caf0b302da4fd252":[async_test('html5lib_adoption01.html 39a3ec04f54cda2bf1e06c54caf0b302da4fd252'), "%3Cb%3E%3Cb%3E%3Ca%3E%3Cp%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E"],"d0bdfe6be48309b2d01b497667b350a8e6ec8ffb":[async_test('html5lib_adoption01.html d0bdfe6be48309b2d01b497667b350a8e6ec8ffb'), "%3Cb%3E%3Ca%3E%3Cb%3E%3Cp%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E"],"63401082c6afd4b3c3201e348a1a61722f167b21":[async_test('html5lib_adoption01.html 63401082c6afd4b3c3201e348a1a61722f167b21'), "%3Ca%3E%3Cb%3E%3Cb%3E%3Cp%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E"],"883cfd89f63da854dffbfbc938da1f31887a55e5":[async_test('html5lib_adoption01.html 883cfd89f63da854dffbfbc938da1f31887a55e5'), "%3Cp%3E1%3Cs%20id%3D%22A%22%3E2%3Cb%20id%3D%22B%22%3E3%3C/p%3E4%3C/s%3E5%3C/b%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cs%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22A%22%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22B%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%3Cs%3E%0A%7C%20%20%20%20%20%20%20id%3D%22A%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22B%22%0A%7C%20%20%20%20%20%20%20%20%20%224%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20id%3D%22B%22%0A%7C%20%20%20%20%20%20%20%225%22"],"4dc0665051dac0d72c71aba5c95c5b86437dea2c":[async_test('html5lib_adoption01.html 4dc0665051dac0d72c71aba5c95c5b86437dea2c'), "%3Ctable%3E%3Ca%3E1%3Ctd%3E2%3C/td%3E3%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%222%22"],"4f376c0a798e71a91065e215dc0175d3107d5208":[async_test('html5lib_adoption01.html 4f376c0a798e71a91065e215dc0175d3107d5208'), "%3Ctable%3EA%3Ctd%3EB%3C/td%3EC%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22AC%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22B%22"],"52b62611a847a3f5fc3dc607a6b0174f1697247c":[async_test('html5lib_adoption01.html 52b62611a847a3f5fc3dc607a6b0174f1697247c'), "%3Ca%3E%3Csvg%3E%3Ctr%3E%3Cinput%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20tr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20input%3E"],"88d0d3403d2a7b4058fcfb4e62835acb1c207e0f":[async_test('html5lib_adoption01.html 88d0d3403d2a7b4058fcfb4e62835acb1c207e0f'), "%3Cdiv%3E%3Ca%3E%3Cb%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3Cdiv%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"d7338f457789f65d47b240e203b9e40a3925f2ca":[async_test('html5lib_adoption01.html d7338f457789f65d47b240e203b9e40a3925f2ca'), "%3Cdiv%3E%3Ca%3E%3Cb%3E%3Cu%3E%3Ci%3E%3Ccode%3E%3Cdiv%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cu%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20%3Cu%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E"],"bf8088acd8bd48d8487bae49a613c248c488c041":[async_test('html5lib_adoption01.html bf8088acd8bd48d8487bae49a613c248c488c041'), "%3Cb%3E%3Cb%3E%3Cb%3E%3Cb%3Ex%3C/b%3E%3C/b%3E%3C/b%3E%3C/b%3Ey", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%22y%22"],"39edaa2e298c60ad4a1b0b9fdb4481d4aea98f36":[async_test('html5lib_adoption01.html 39edaa2e298c60ad4a1b0b9fdb4481d4aea98f36'), "%3Cp%3E%3Cb%3E%3Cb%3E%3Cb%3E%3Cb%3E%3Cp%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22x%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_adoption02.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_adoption02.html
new file mode 100644
index 0000000000..81bb8d35f2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_adoption02.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_adoption02.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['cefc9890d621707fedf5eb634f3a86d753659d9b','2a8f569e9d55b3cb7e54b026f758dea8593f4cb4',];
+ var tests = {
+ "cefc9890d621707fedf5eb634f3a86d753659d9b":[async_test('html5lib_adoption02.html cefc9890d621707fedf5eb634f3a86d753659d9b'), "%3Cb%3E1%3Ci%3E2%3Cp%3E3%3C/b%3E4", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%20%20%20%20%224%22"],"2a8f569e9d55b3cb7e54b026f758dea8593f4cb4":[async_test('html5lib_adoption02.html 2a8f569e9d55b3cb7e54b026f758dea8593f4cb4'), "%3Ca%3E%3Cdiv%3E%3Cstyle%3E%3C/style%3E%3Caddress%3E%3Ca%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%3Caddress%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_blocks.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_blocks.html
new file mode 100644
index 0000000000..b953e06829
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_blocks.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_blocks.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['f2c6f8a359cf4782cc8038a9f6a91a7cb67fb9ef','77b909047ffa7bf2ca38cd3de8e25eb3ed0395af','75f77d8a1d072dfabd17237596bb0394754d4e41','b241d42f7a3593e556e2ef4e0d4c0b9af3bbde4b','965c072a3f6b78e9b7c4c8d2b93d3746a2fc360c','c430a64d10f5a10ac3c34f1ec3abdd0d048e3e9f','b730d11baf16843bc04136ffe53ec20e058a50aa','5db636d68e8708a8cfd26ee472a7831239c7efeb','41586061adf395acf518e7ad457d048a911e52c1','1394f443495c04661d70ec27e44d99e6fcb3b536','9a977cfacba03a56f6ccd11dd6595a7fa65b3c3e','284962aa35b722a4d05a22c264c0bbbc859f7d41','88dfa3115905b28f4086717b8d6547b8f88ee46a','d5e8a935c5b5c3723b77ff0a9079bbee3e8f02ad','6cb6f36b9c042e41b18967b46b068db7b36431ef','68111d7cbc22fd47cbec6912d008ab93bc1719ec','5ff74097bb1276f6d595d17674c04d2d9ba9a49a','e38ae5ed14b2fbde7e15bd45bbfb26f828a6fcf6','5fa3d2ad933a13b1bdabe4faa77a2b33923a9871','3ac498b2d74a10dde5987dd6a9a40f8fb4c2cca7','0d3751cad1256413b5514734742f1ea0dadc99c9','c9d17d8d37f012a75fe2d0cf157cb4e4c9290b76','b224c98e66c1b2ede2447430fa3cc29dd490aa27','0cf2e437eb921f7a308d493ab6f776400ec6ba05','e721fb9ccda59a3c0a07f8b7c69698945cec1c7c','4c056b025cbf0f880e9ab93ab95d37d075a3d62e','28ad066f78c1d23110991d1d323748e1c638a285','aabe06c45ead4e713911545d6050dc992603f44c','c19b1a4a7323b8ebc292718c2a1f131493271012','211e55efcc6948df455ffa1d7b5e2fda123cca51','7216ccc21592b2615aabcbc73069bd06c31a3c4f','f2e488a24791d7ac57dd6a25e670f30b5b07454e','69b5e75bb50a6429e776b81ae532103096786266','a7b3390d1ab18f81e40623c92ad8d2cd164c297b','5fd2647163cc33ca7a0c93ff3a31f87cef87d7de','95b901de4aaf79e3230ebc04f32db4c61ce9f7c7','e59e60d6a134290fa7f2d1d2eb2c73f0617106b1','2c8b2df349d7f36b2ab55641d7e9c984ed09104d','1294906ecdf4d6378e0cdfb244192a0ed08343b2','95fc3d268c47b5e0fc87e92542caccbb4cabffe1','0c03d60e2cb91de005d270e8a00589bccefa47b8','125caaaa6687b316711f2b695dbcaebce9874270','d02390d4a365d9e5ee8a8caf920efc5c2baf83b6','a17ff80304101d2d144ee9a2b4ebeee1beeff4d5','6c32d08349975d65ec100346f36beb760252c42f','17f3861b008afd895cc5e642218d4aed099afc77','fe4badd0b7469c6ddb8cd243133f10ffd1b84814','b130e7f7a09b5516e13e281d577c5bcc1f56cb5d',];
+ var tests = {
+ "f2c6f8a359cf4782cc8038a9f6a91a7cb67fb9ef":[async_test('html5lib_blocks.html f2c6f8a359cf4782cc8038a9f6a91a7cb67fb9ef'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Caddress%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Caddress%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"77b909047ffa7bf2ca38cd3de8e25eb3ed0395af":[async_test('html5lib_blocks.html 77b909047ffa7bf2ca38cd3de8e25eb3ed0395af'), "%3C%21doctype%20html%3E%3Caddress%3E%3Cp%3Efoo%3C/address%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Caddress%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"75f77d8a1d072dfabd17237596bb0394754d4e41":[async_test('html5lib_blocks.html 75f77d8a1d072dfabd17237596bb0394754d4e41'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Carticle%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Carticle%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"b241d42f7a3593e556e2ef4e0d4c0b9af3bbde4b":[async_test('html5lib_blocks.html b241d42f7a3593e556e2ef4e0d4c0b9af3bbde4b'), "%3C%21doctype%20html%3E%3Carticle%3E%3Cp%3Efoo%3C/article%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Carticle%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"965c072a3f6b78e9b7c4c8d2b93d3746a2fc360c":[async_test('html5lib_blocks.html 965c072a3f6b78e9b7c4c8d2b93d3746a2fc360c'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Caside%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Caside%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"c430a64d10f5a10ac3c34f1ec3abdd0d048e3e9f":[async_test('html5lib_blocks.html c430a64d10f5a10ac3c34f1ec3abdd0d048e3e9f'), "%3C%21doctype%20html%3E%3Caside%3E%3Cp%3Efoo%3C/aside%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Caside%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"b730d11baf16843bc04136ffe53ec20e058a50aa":[async_test('html5lib_blocks.html b730d11baf16843bc04136ffe53ec20e058a50aa'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cblockquote%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cblockquote%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"5db636d68e8708a8cfd26ee472a7831239c7efeb":[async_test('html5lib_blocks.html 5db636d68e8708a8cfd26ee472a7831239c7efeb'), "%3C%21doctype%20html%3E%3Cblockquote%3E%3Cp%3Efoo%3C/blockquote%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cblockquote%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"41586061adf395acf518e7ad457d048a911e52c1":[async_test('html5lib_blocks.html 41586061adf395acf518e7ad457d048a911e52c1'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Ccenter%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Ccenter%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"1394f443495c04661d70ec27e44d99e6fcb3b536":[async_test('html5lib_blocks.html 1394f443495c04661d70ec27e44d99e6fcb3b536'), "%3C%21doctype%20html%3E%3Ccenter%3E%3Cp%3Efoo%3C/center%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ccenter%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"9a977cfacba03a56f6ccd11dd6595a7fa65b3c3e":[async_test('html5lib_blocks.html 9a977cfacba03a56f6ccd11dd6595a7fa65b3c3e'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cdetails%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cdetails%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"284962aa35b722a4d05a22c264c0bbbc859f7d41":[async_test('html5lib_blocks.html 284962aa35b722a4d05a22c264c0bbbc859f7d41'), "%3C%21doctype%20html%3E%3Cdetails%3E%3Cp%3Efoo%3C/details%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdetails%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"88dfa3115905b28f4086717b8d6547b8f88ee46a":[async_test('html5lib_blocks.html 88dfa3115905b28f4086717b8d6547b8f88ee46a'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cdialog%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cdialog%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"d5e8a935c5b5c3723b77ff0a9079bbee3e8f02ad":[async_test('html5lib_blocks.html d5e8a935c5b5c3723b77ff0a9079bbee3e8f02ad'), "%3C%21doctype%20html%3E%3Cdialog%3E%3Cp%3Efoo%3C/dialog%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdialog%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"6cb6f36b9c042e41b18967b46b068db7b36431ef":[async_test('html5lib_blocks.html 6cb6f36b9c042e41b18967b46b068db7b36431ef'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cdir%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cdir%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"68111d7cbc22fd47cbec6912d008ab93bc1719ec":[async_test('html5lib_blocks.html 68111d7cbc22fd47cbec6912d008ab93bc1719ec'), "%3C%21doctype%20html%3E%3Cdir%3E%3Cp%3Efoo%3C/dir%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdir%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"5ff74097bb1276f6d595d17674c04d2d9ba9a49a":[async_test('html5lib_blocks.html 5ff74097bb1276f6d595d17674c04d2d9ba9a49a'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cdiv%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"e38ae5ed14b2fbde7e15bd45bbfb26f828a6fcf6":[async_test('html5lib_blocks.html e38ae5ed14b2fbde7e15bd45bbfb26f828a6fcf6'), "%3C%21doctype%20html%3E%3Cdiv%3E%3Cp%3Efoo%3C/div%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"5fa3d2ad933a13b1bdabe4faa77a2b33923a9871":[async_test('html5lib_blocks.html 5fa3d2ad933a13b1bdabe4faa77a2b33923a9871'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cdl%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cdl%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"3ac498b2d74a10dde5987dd6a9a40f8fb4c2cca7":[async_test('html5lib_blocks.html 3ac498b2d74a10dde5987dd6a9a40f8fb4c2cca7'), "%3C%21doctype%20html%3E%3Cdl%3E%3Cp%3Efoo%3C/dl%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdl%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"0d3751cad1256413b5514734742f1ea0dadc99c9":[async_test('html5lib_blocks.html 0d3751cad1256413b5514734742f1ea0dadc99c9'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cfieldset%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cfieldset%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"c9d17d8d37f012a75fe2d0cf157cb4e4c9290b76":[async_test('html5lib_blocks.html c9d17d8d37f012a75fe2d0cf157cb4e4c9290b76'), "%3C%21doctype%20html%3E%3Cfieldset%3E%3Cp%3Efoo%3C/fieldset%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfieldset%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"b224c98e66c1b2ede2447430fa3cc29dd490aa27":[async_test('html5lib_blocks.html b224c98e66c1b2ede2447430fa3cc29dd490aa27'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cfigcaption%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cfigcaption%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"0cf2e437eb921f7a308d493ab6f776400ec6ba05":[async_test('html5lib_blocks.html 0cf2e437eb921f7a308d493ab6f776400ec6ba05'), "%3C%21doctype%20html%3E%3Cfigcaption%3E%3Cp%3Efoo%3C/figcaption%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfigcaption%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"e721fb9ccda59a3c0a07f8b7c69698945cec1c7c":[async_test('html5lib_blocks.html e721fb9ccda59a3c0a07f8b7c69698945cec1c7c'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cfigure%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cfigure%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"4c056b025cbf0f880e9ab93ab95d37d075a3d62e":[async_test('html5lib_blocks.html 4c056b025cbf0f880e9ab93ab95d37d075a3d62e'), "%3C%21doctype%20html%3E%3Cfigure%3E%3Cp%3Efoo%3C/figure%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfigure%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"28ad066f78c1d23110991d1d323748e1c638a285":[async_test('html5lib_blocks.html 28ad066f78c1d23110991d1d323748e1c638a285'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cfooter%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cfooter%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"aabe06c45ead4e713911545d6050dc992603f44c":[async_test('html5lib_blocks.html aabe06c45ead4e713911545d6050dc992603f44c'), "%3C%21doctype%20html%3E%3Cfooter%3E%3Cp%3Efoo%3C/footer%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfooter%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"c19b1a4a7323b8ebc292718c2a1f131493271012":[async_test('html5lib_blocks.html c19b1a4a7323b8ebc292718c2a1f131493271012'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cheader%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cheader%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"211e55efcc6948df455ffa1d7b5e2fda123cca51":[async_test('html5lib_blocks.html 211e55efcc6948df455ffa1d7b5e2fda123cca51'), "%3C%21doctype%20html%3E%3Cheader%3E%3Cp%3Efoo%3C/header%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cheader%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"7216ccc21592b2615aabcbc73069bd06c31a3c4f":[async_test('html5lib_blocks.html 7216ccc21592b2615aabcbc73069bd06c31a3c4f'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Chgroup%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Chgroup%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"f2e488a24791d7ac57dd6a25e670f30b5b07454e":[async_test('html5lib_blocks.html f2e488a24791d7ac57dd6a25e670f30b5b07454e'), "%3C%21doctype%20html%3E%3Chgroup%3E%3Cp%3Efoo%3C/hgroup%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Chgroup%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"69b5e75bb50a6429e776b81ae532103096786266":[async_test('html5lib_blocks.html 69b5e75bb50a6429e776b81ae532103096786266'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Clisting%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Clisting%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"a7b3390d1ab18f81e40623c92ad8d2cd164c297b":[async_test('html5lib_blocks.html a7b3390d1ab18f81e40623c92ad8d2cd164c297b'), "%3C%21doctype%20html%3E%3Clisting%3E%3Cp%3Efoo%3C/listing%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Clisting%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"5fd2647163cc33ca7a0c93ff3a31f87cef87d7de":[async_test('html5lib_blocks.html 5fd2647163cc33ca7a0c93ff3a31f87cef87d7de'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cmenu%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cmenu%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"95b901de4aaf79e3230ebc04f32db4c61ce9f7c7":[async_test('html5lib_blocks.html 95b901de4aaf79e3230ebc04f32db4c61ce9f7c7'), "%3C%21doctype%20html%3E%3Cmenu%3E%3Cp%3Efoo%3C/menu%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenu%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"e59e60d6a134290fa7f2d1d2eb2c73f0617106b1":[async_test('html5lib_blocks.html e59e60d6a134290fa7f2d1d2eb2c73f0617106b1'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cnav%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cnav%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"2c8b2df349d7f36b2ab55641d7e9c984ed09104d":[async_test('html5lib_blocks.html 2c8b2df349d7f36b2ab55641d7e9c984ed09104d'), "%3C%21doctype%20html%3E%3Cnav%3E%3Cp%3Efoo%3C/nav%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cnav%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"1294906ecdf4d6378e0cdfb244192a0ed08343b2":[async_test('html5lib_blocks.html 1294906ecdf4d6378e0cdfb244192a0ed08343b2'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Col%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Col%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"95fc3d268c47b5e0fc87e92542caccbb4cabffe1":[async_test('html5lib_blocks.html 95fc3d268c47b5e0fc87e92542caccbb4cabffe1'), "%3C%21doctype%20html%3E%3Col%3E%3Cp%3Efoo%3C/ol%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Col%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"0c03d60e2cb91de005d270e8a00589bccefa47b8":[async_test('html5lib_blocks.html 0c03d60e2cb91de005d270e8a00589bccefa47b8'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cpre%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"125caaaa6687b316711f2b695dbcaebce9874270":[async_test('html5lib_blocks.html 125caaaa6687b316711f2b695dbcaebce9874270'), "%3C%21doctype%20html%3E%3Cpre%3E%3Cp%3Efoo%3C/pre%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"d02390d4a365d9e5ee8a8caf920efc5c2baf83b6":[async_test('html5lib_blocks.html d02390d4a365d9e5ee8a8caf920efc5c2baf83b6'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Csection%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Csection%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"a17ff80304101d2d144ee9a2b4ebeee1beeff4d5":[async_test('html5lib_blocks.html a17ff80304101d2d144ee9a2b4ebeee1beeff4d5'), "%3C%21doctype%20html%3E%3Csection%3E%3Cp%3Efoo%3C/section%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csection%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"6c32d08349975d65ec100346f36beb760252c42f":[async_test('html5lib_blocks.html 6c32d08349975d65ec100346f36beb760252c42f'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Csummary%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Csummary%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"17f3861b008afd895cc5e642218d4aed099afc77":[async_test('html5lib_blocks.html 17f3861b008afd895cc5e642218d4aed099afc77'), "%3C%21doctype%20html%3E%3Csummary%3E%3Cp%3Efoo%3C/summary%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csummary%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"fe4badd0b7469c6ddb8cd243133f10ffd1b84814":[async_test('html5lib_blocks.html fe4badd0b7469c6ddb8cd243133f10ffd1b84814'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cul%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"b130e7f7a09b5516e13e281d577c5bcc1f56cb5d":[async_test('html5lib_blocks.html b130e7f7a09b5516e13e281d577c5bcc1f56cb5d'), "%3C%21doctype%20html%3E%3Cul%3E%3Cp%3Efoo%3C/ul%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_comments01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_comments01.html
new file mode 100644
index 0000000000..ba6818ccfa
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_comments01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_comments01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['3dbda8330033c3fbf3185a55e963075328099578','7476098e9823b3deee1857739daf719ff18e37b4','eca7f97a4659eab6da4127c225420f1664b6c0c4','27ff1671f247daf2fdf19213bcee6ae6cd848583','a6c42885c32fa988374894c0871b5a289786912a','d59b196ec9f6f19ded28d5e1fb48cbec2b1a4187','97486c43262a9a5c3fec1a3b028b99b7ca8c0e3e','06145ae05b1d92b71aed067ed6f1aab1afea50ae','5064d84d3adaf6262cf3573e9e112f40e3abc147','8b36d140a4a223b083a8d41af7c98a1c20377856','1894e23c5ee89d6f4b5f1dbe9b681b42863b4d1f','2cefeae994b6b0be0accbfff4757fef40ed914eb','ac9fd94008255e73cba953dbd374cb41703f5446','617815b6a683613fcb6b9cd5841b2ea7428d838d','bb8faf75d2e28aee13ec4a0d8eab00b4d7475763','89c4ae1ae34df9dff0e516afdef87cd169c3e6a5',];
+ var tests = {
+ "3dbda8330033c3fbf3185a55e963075328099578":[async_test('html5lib_comments01.html 3dbda8330033c3fbf3185a55e963075328099578'), "FOO%3C%21--%20BAR%20--%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"7476098e9823b3deee1857739daf719ff18e37b4":[async_test('html5lib_comments01.html 7476098e9823b3deee1857739daf719ff18e37b4'), "FOO%3C%21--%20BAR%20--%21%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"eca7f97a4659eab6da4127c225420f1664b6c0c4":[async_test('html5lib_comments01.html eca7f97a4659eab6da4127c225420f1664b6c0c4'), "FOO%3C%21--%20BAR%20--%21%20%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20--%21%20%3EBAZ%20--%3E"],"27ff1671f247daf2fdf19213bcee6ae6cd848583":[async_test('html5lib_comments01.html 27ff1671f247daf2fdf19213bcee6ae6cd848583'), "FOO%3C%21--%20BAR%20--%21%0A%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20--%21%0A%3EBAZ%20--%3E"],"a6c42885c32fa988374894c0871b5a289786912a":[async_test('html5lib_comments01.html a6c42885c32fa988374894c0871b5a289786912a'), "FOO%3C%21--%20BAR%20--%20%20%20%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20--%20%20%20%3EBAZ%20--%3E"],"d59b196ec9f6f19ded28d5e1fb48cbec2b1a4187":[async_test('html5lib_comments01.html d59b196ec9f6f19ded28d5e1fb48cbec2b1a4187'), "FOO%3C%21--%20BAR%20--%20%3CQUX%3E%20--%20MUX%20--%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20--%20%3CQUX%3E%20--%20MUX%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"97486c43262a9a5c3fec1a3b028b99b7ca8c0e3e":[async_test('html5lib_comments01.html 97486c43262a9a5c3fec1a3b028b99b7ca8c0e3e'), "FOO%3C%21--%20BAR%20--%20%3CQUX%3E%20--%20MUX%20--%21%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20--%20%3CQUX%3E%20--%20MUX%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"06145ae05b1d92b71aed067ed6f1aab1afea50ae":[async_test('html5lib_comments01.html 06145ae05b1d92b71aed067ed6f1aab1afea50ae'), "FOO%3C%21--%20BAR%20--%20%3CQUX%3E%20--%20MUX%20--%20%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20BAR%20--%20%3CQUX%3E%20--%20MUX%20--%20%3EBAZ%20--%3E"],"5064d84d3adaf6262cf3573e9e112f40e3abc147":[async_test('html5lib_comments01.html 5064d84d3adaf6262cf3573e9e112f40e3abc147'), "FOO%3C%21----%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"8b36d140a4a223b083a8d41af7c98a1c20377856":[async_test('html5lib_comments01.html 8b36d140a4a223b083a8d41af7c98a1c20377856'), "FOO%3C%21---%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"1894e23c5ee89d6f4b5f1dbe9b681b42863b4d1f":[async_test('html5lib_comments01.html 1894e23c5ee89d6f4b5f1dbe9b681b42863b4d1f'), "FOO%3C%21--%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"2cefeae994b6b0be0accbfff4757fef40ed914eb":[async_test('html5lib_comments01.html 2cefeae994b6b0be0accbfff4757fef40ed914eb'), "%3C%3Fxml%20version%3D%221.0%22%3EHi", "%23document%0A%7C%20%3C%21--%20%3Fxml%20version%3D%221.0%22%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hi%22"],"ac9fd94008255e73cba953dbd374cb41703f5446":[async_test('html5lib_comments01.html ac9fd94008255e73cba953dbd374cb41703f5446'), "%3C%3Fxml%20version%3D%221.0%22%3E", "%23document%0A%7C%20%3C%21--%20%3Fxml%20version%3D%221.0%22%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"617815b6a683613fcb6b9cd5841b2ea7428d838d":[async_test('html5lib_comments01.html 617815b6a683613fcb6b9cd5841b2ea7428d838d'), "%3C%3Fxml%20version", "%23document%0A%7C%20%3C%21--%20%3Fxml%20version%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"bb8faf75d2e28aee13ec4a0d8eab00b4d7475763":[async_test('html5lib_comments01.html bb8faf75d2e28aee13ec4a0d8eab00b4d7475763'), "FOO%3C%21-----%3EBAZ", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3C%21--%20-%20--%3E%0A%7C%20%20%20%20%20%22BAZ%22"],"89c4ae1ae34df9dff0e516afdef87cd169c3e6a5":[async_test('html5lib_comments01.html 89c4ae1ae34df9dff0e516afdef87cd169c3e6a5'), "%3Chtml%3E%3C%21--%20comment%20--%3E%3Ctitle%3EComment%20before%20head%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3C%21--%20%20comment%20%20--%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22Comment%20before%20head%22%0A%7C%20%20%20%3Cbody%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_doctype01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_doctype01.html
new file mode 100644
index 0000000000..fcf616e1a5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_doctype01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_doctype01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['8c660236fa29672c9b1ed0b64be59835a2a2f8cf','6a757c8c420fe3273632e84a4d999f17164f1214','a8ba29d82bb59f5ca03cfc193a1af770b889d4df','7a5044da1f470565fc4c6697b05132ff803d33e5','6514baf0155d3d10c1449752666c9da1c3db7141','ab7af413296ccb0e5705d978b98751821eb60ee3','3f3585cd61875a7f824422eda85a568952c1b08d','32bf847dcfae86480610633948efb2eca296abdd','692ab73d917820f55f789498c003ff184694becd','69af8e298e3560620c7598a9d2a6be0c50fe6881','93737d931105f8441c51a61ce6c9c625708aa690','be48ad2b635136c6ae4d99ff06bc930711e26ab7','6b90a61449551f1d7ac3aaa54669e81b1adbeb48','dc641c8a55963188374a5ab0f9be4c00897a113d','a157f7a60a42840003e9a798ca4c3981c17eb08b','826518fc2114e88a3dd7caecef77fa9ed0967f9e','0d86430bce85790c6eb1ead82133ee74077c6ac9','79ef363724b7881ee356c0a105e6add81941d57e','d8d1295947c1944ba51f7be60165e2d5d7592225','8214eb8bef5c817fd5fee4befdc15dbcc49ff6e0','51dd468ef51c8c0ea3e4b5a81517831c6a9168cb','dab4dcff81a1d051394a34771eb9627d07700377','6c679921462b1833e5203e6cd48f761b479d8924','a45fad90fa4d150fdb82f61bf49e0f92a0aaaf94','18cc825780e6be5a1ab60475c07be505759b25ad','37960ee5e9a9252988a63d9653336d30c1645834','095187e72e2336527d8c39293d68d456dfb1a10e','46383e4754c42b37ebba10ad4e3644dcff1eec18','702c2be9dc6bf31da96af43947e0e16d040bd395','7ffeed0800cff7c5117ba7de33f5e70d037129c3','2d57d9c9c46d222676eeb8e8531f3a77ca7aa4c0','544240cd747ec56acbc607b6b8ad9f99de4c4085','af212d55a1c59b5e3658fb39a2f86daab3686f94','10d43f89829998731c313c85eb31e981961b1981','99d16cdde20971b45a3b81ca7a2b9d9858525b22','44ac65856abd110419aafffde69f0dc127f98ec3','a69ffa9525892dbb38be6ee78f4fe1216ef6ea5d',];
+ var tests = {
+ "8c660236fa29672c9b1ed0b64be59835a2a2f8cf":[async_test('html5lib_doctype01.html 8c660236fa29672c9b1ed0b64be59835a2a2f8cf'), "%3C%21DOCTYPE%20html%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"6a757c8c420fe3273632e84a4d999f17164f1214":[async_test('html5lib_doctype01.html 6a757c8c420fe3273632e84a4d999f17164f1214'), "%3C%21dOctYpE%20HtMl%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"a8ba29d82bb59f5ca03cfc193a1af770b889d4df":[async_test('html5lib_doctype01.html a8ba29d82bb59f5ca03cfc193a1af770b889d4df'), "%3C%21DOCTYPEhtml%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"7a5044da1f470565fc4c6697b05132ff803d33e5":[async_test('html5lib_doctype01.html 7a5044da1f470565fc4c6697b05132ff803d33e5'), "%3C%21DOCTYPE%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"6514baf0155d3d10c1449752666c9da1c3db7141":[async_test('html5lib_doctype01.html 6514baf0155d3d10c1449752666c9da1c3db7141'), "%3C%21DOCTYPE%20%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"ab7af413296ccb0e5705d978b98751821eb60ee3":[async_test('html5lib_doctype01.html ab7af413296ccb0e5705d978b98751821eb60ee3'), "%3C%21DOCTYPE%20potato%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"3f3585cd61875a7f824422eda85a568952c1b08d":[async_test('html5lib_doctype01.html 3f3585cd61875a7f824422eda85a568952c1b08d'), "%3C%21DOCTYPE%20potato%20%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"32bf847dcfae86480610633948efb2eca296abdd":[async_test('html5lib_doctype01.html 32bf847dcfae86480610633948efb2eca296abdd'), "%3C%21DOCTYPE%20potato%20taco%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"692ab73d917820f55f789498c003ff184694becd":[async_test('html5lib_doctype01.html 692ab73d917820f55f789498c003ff184694becd'), "%3C%21DOCTYPE%20potato%20taco%20%22ddd%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"69af8e298e3560620c7598a9d2a6be0c50fe6881":[async_test('html5lib_doctype01.html 69af8e298e3560620c7598a9d2a6be0c50fe6881'), "%3C%21DOCTYPE%20potato%20sYstEM%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"93737d931105f8441c51a61ce6c9c625708aa690":[async_test('html5lib_doctype01.html 93737d931105f8441c51a61ce6c9c625708aa690'), "%3C%21DOCTYPE%20potato%20sYstEM%20%20%20%20%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"be48ad2b635136c6ae4d99ff06bc930711e26ab7":[async_test('html5lib_doctype01.html be48ad2b635136c6ae4d99ff06bc930711e26ab7'), "%3C%21DOCTYPE%20%20%20potato%20%20%20%20%20%20%20sYstEM%20%20ggg%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"6b90a61449551f1d7ac3aaa54669e81b1adbeb48":[async_test('html5lib_doctype01.html 6b90a61449551f1d7ac3aaa54669e81b1adbeb48'), "%3C%21DOCTYPE%20potato%20SYSTEM%20taco%20%20%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"dc641c8a55963188374a5ab0f9be4c00897a113d":[async_test('html5lib_doctype01.html dc641c8a55963188374a5ab0f9be4c00897a113d'), "%3C%21DOCTYPE%20potato%20SYSTEM%20%27taco%22%27%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22%22%20%22taco%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"a157f7a60a42840003e9a798ca4c3981c17eb08b":[async_test('html5lib_doctype01.html a157f7a60a42840003e9a798ca4c3981c17eb08b'), "%3C%21DOCTYPE%20potato%20SYSTEM%20%22taco%22%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22%22%20%22taco%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"826518fc2114e88a3dd7caecef77fa9ed0967f9e":[async_test('html5lib_doctype01.html 826518fc2114e88a3dd7caecef77fa9ed0967f9e'), "%3C%21DOCTYPE%20potato%20SYSTEM%20%22tai%27co%22%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22%22%20%22tai%27co%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"0d86430bce85790c6eb1ead82133ee74077c6ac9":[async_test('html5lib_doctype01.html 0d86430bce85790c6eb1ead82133ee74077c6ac9'), "%3C%21DOCTYPE%20potato%20SYSTEMtaco%20%22ddd%22%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"79ef363724b7881ee356c0a105e6add81941d57e":[async_test('html5lib_doctype01.html 79ef363724b7881ee356c0a105e6add81941d57e'), "%3C%21DOCTYPE%20potato%20grass%20SYSTEM%20taco%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"d8d1295947c1944ba51f7be60165e2d5d7592225":[async_test('html5lib_doctype01.html d8d1295947c1944ba51f7be60165e2d5d7592225'), "%3C%21DOCTYPE%20potato%20pUbLIc%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"8214eb8bef5c817fd5fee4befdc15dbcc49ff6e0":[async_test('html5lib_doctype01.html 8214eb8bef5c817fd5fee4befdc15dbcc49ff6e0'), "%3C%21DOCTYPE%20potato%20pUbLIc%20%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"51dd468ef51c8c0ea3e4b5a81517831c6a9168cb":[async_test('html5lib_doctype01.html 51dd468ef51c8c0ea3e4b5a81517831c6a9168cb'), "%3C%21DOCTYPE%20potato%20pUbLIcgoof%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"dab4dcff81a1d051394a34771eb9627d07700377":[async_test('html5lib_doctype01.html dab4dcff81a1d051394a34771eb9627d07700377'), "%3C%21DOCTYPE%20potato%20PUBLIC%20goof%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"6c679921462b1833e5203e6cd48f761b479d8924":[async_test('html5lib_doctype01.html 6c679921462b1833e5203e6cd48f761b479d8924'), "%3C%21DOCTYPE%20potato%20PUBLIC%20%22go%27of%22%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22go%27of%22%20%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"a45fad90fa4d150fdb82f61bf49e0f92a0aaaf94":[async_test('html5lib_doctype01.html a45fad90fa4d150fdb82f61bf49e0f92a0aaaf94'), "%3C%21DOCTYPE%20potato%20PUBLIC%20%27go%27of%27%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22go%22%20%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"18cc825780e6be5a1ab60475c07be505759b25ad":[async_test('html5lib_doctype01.html 18cc825780e6be5a1ab60475c07be505759b25ad'), "%3C%21DOCTYPE%20potato%20PUBLIC%20%27go%3Ahh%20%20%20of%27%20%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22go%3Ahh%20%20%20of%22%20%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"37960ee5e9a9252988a63d9653336d30c1645834":[async_test('html5lib_doctype01.html 37960ee5e9a9252988a63d9653336d30c1645834'), "%3C%21DOCTYPE%20potato%20PUBLIC%20%22W3C-//dfdf%22%20SYSTEM%20ggg%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20potato%20%22W3C-//dfdf%22%20%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"095187e72e2336527d8c39293d68d456dfb1a10e":[async_test('html5lib_doctype01.html 095187e72e2336527d8c39293d68d456dfb1a10e'), "%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.01//EN%22%0A%20%20%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%204.01//EN%22%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"46383e4754c42b37ebba10ad4e3644dcff1eec18":[async_test('html5lib_doctype01.html 46383e4754c42b37ebba10ad4e3644dcff1eec18'), "%3C%21DOCTYPE%20...%3EHello", "%23document%0A%7C%20%3C%21DOCTYPE%20...%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Hello%22"],"702c2be9dc6bf31da96af43947e0e16d040bd395":[async_test('html5lib_doctype01.html 702c2be9dc6bf31da96af43947e0e16d040bd395'), "%3C%21DOCTYPE%20html%20PUBLIC%20%22-//W3C//DTD%20XHTML%201.0%20Transitional//EN%22%0A%22http%3A//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20XHTML%201.0%20Transitional//EN%22%20%22http%3A//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"7ffeed0800cff7c5117ba7de33f5e70d037129c3":[async_test('html5lib_doctype01.html 7ffeed0800cff7c5117ba7de33f5e70d037129c3'), "%3C%21DOCTYPE%20html%20PUBLIC%20%22-//W3C//DTD%20XHTML%201.0%20Frameset//EN%22%0A%22http%3A//www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20XHTML%201.0%20Frameset//EN%22%20%22http%3A//www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"2d57d9c9c46d222676eeb8e8531f3a77ca7aa4c0":[async_test('html5lib_doctype01.html 2d57d9c9c46d222676eeb8e8531f3a77ca7aa4c0'), "%3C%21DOCTYPE%20root-element%20%5BSYSTEM%20OR%20PUBLIC%20FPI%5D%20%22uri%22%20%5B%20%0A%3C%21--%20internal%20declarations%20--%3E%0A%5D%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20root-element%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%5D%3E%22"],"544240cd747ec56acbc607b6b8ad9f99de4c4085":[async_test('html5lib_doctype01.html 544240cd747ec56acbc607b6b8ad9f99de4c4085'), "%3C%21DOCTYPE%20html%20PUBLIC%0A%20%20%22-//WAPFORUM//DTD%20XHTML%20Mobile%201.0//EN%22%0A%20%20%20%20%22http%3A//www.wapforum.org/DTD/xhtml-mobile10.dtd%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//WAPFORUM//DTD%20XHTML%20Mobile%201.0//EN%22%20%22http%3A//www.wapforum.org/DTD/xhtml-mobile10.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"af212d55a1c59b5e3658fb39a2f86daab3686f94":[async_test('html5lib_doctype01.html af212d55a1c59b5e3658fb39a2f86daab3686f94'), "%3C%21DOCTYPE%20HTML%20SYSTEM%20%22http%3A//www.w3.org/DTD/HTML4-strict.dtd%22%3E%3Cbody%3E%3Cb%3EMine%21%3C/b%3E%3C/body%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22%22%20%22http%3A//www.w3.org/DTD/HTML4-strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22Mine%21%22"],"10d43f89829998731c313c85eb31e981961b1981":[async_test('html5lib_doctype01.html 10d43f89829998731c313c85eb31e981961b1981'), "%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.01//EN%22%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%204.01//EN%22%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"99d16cdde20971b45a3b81ca7a2b9d9858525b22":[async_test('html5lib_doctype01.html 99d16cdde20971b45a3b81ca7a2b9d9858525b22'), "%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.01//EN%22%27http%3A//www.w3.org/TR/html4/strict.dtd%27%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%204.01//EN%22%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"44ac65856abd110419aafffde69f0dc127f98ec3":[async_test('html5lib_doctype01.html 44ac65856abd110419aafffde69f0dc127f98ec3'), "%3C%21DOCTYPE%20HTML%20PUBLIC%22-//W3C//DTD%20HTML%204.01//EN%22%27http%3A//www.w3.org/TR/html4/strict.dtd%27%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%204.01//EN%22%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"a69ffa9525892dbb38be6ee78f4fe1216ef6ea5d":[async_test('html5lib_doctype01.html a69ffa9525892dbb38be6ee78f4fe1216ef6ea5d'), "%3C%21DOCTYPE%20HTML%20PUBLIC%27-//W3C//DTD%20HTML%204.01//EN%27%27http%3A//www.w3.org/TR/html4/strict.dtd%27%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%204.01//EN%22%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_domjs-unsafe.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_domjs-unsafe.html
new file mode 100644
index 0000000000..6a8c9d5064
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_domjs-unsafe.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_domjs-unsafe.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['b76df4b192c11a5ef7a3e895a7dd2aaea2dcc5c7','da5cf60e732fcf20d288e772e51a7a9ccd3471e4','c32f77685b52841e1685110a8a6fac17b3ae127a','4fd39e063b0ad1fa82274d6de3122859f76934a8','7208fbe8702c37cf180b1c736c984f5340517408','7b5dd0bcb2a92ebf1974a0ec6017a798e774ca5b','54c3b7008093eea8c5b45f729585097df53641a8','b8de3bd0272a8362093670968eb21ad0bfa3cd40','40033d4270de7ad3595607426efc221988100175','4ffebb41a5c7f9239ba71301793a1e1cfd65dece','4fa68424ed093da8a6c954d64bb154ef4269ea83','41ddb90fa2e7785945dd18c32736dc83c1440fa4','89466f9770c893ffb117d18eac80993bd69564ad','72186fc6836326792e7e46ce4b5432191a5ac192','9863747db1e2676bad75c9929d895db2bb02306c','01818845dd1283fc54707a140be17e689a91f013','3255082e063beec09c3b0e605f0e3bfae177a113','54cd599d050ee568b0ed0060d1926479d3e528c3','bf081558b113ea712baeeb3294f3b53845510996','25e3471f40f3b6b0b448f7f7be41f0ee06403faa','006df46be5600e3d99caaf7dfc6a8af1636fd43a','b9bea556d1a155ef04e3f583328d51cf95995945','9eff404da18d0c20765a19613c718a9f49b874ac','1d246a13e96719a3fb48f1a81d1218671ee3a472','92bb86082f237803c7ace5fcd41a36861b364551','3a89dee49af0d2b537ad0c50fb74bb68d4dfe651','89bd023b6e2cbc5c7a37d85b45eadc88143bd670','9574dbbf3302c84fc4ddb965bf1f43ae7106e68c','341226c7328f8d3d6ab1d373368cc14aad712f20','15b3a23030aed47b3795d9c1ef11cd241b6902cb','4b318ddd18e0e360e70df9da138eabb002e34666','5a107feb60f518e1bed5fbd44de19f10dfde1d1e','92d4f652bcf5160b9815ea29546bde415cb83b04','42ebb8a722e7940826975575b2cb422c0a112c68','1a761bd94b707be3a5bd87fbcce0e0873c0b60ab','2fc6eb9f9eb3e005eb3c4765f638203ce0c34f5f','57672cdb7506becfcf63d59cc06f88d7e240808c','59ad4ed1b502b7adb49cf799c107bf405ddc0cca','4f00716246c38ec50813c6dd1e17b1e87a399252','767cec7804216f7b7bf6565a735c683fb2282059','c3258281fe46017ff5ea19cb08c711a6c281d673','755e6ed1b6f991af24c720c51546b5e0f6ef9ca5','3fb041d606429c494f972b82556759cf1a22171f','2f2ff31150ecec96cae1417fab3c4bda7e626948','6253f7f734608919f9966365fbbdd42163af7af2','db7da9a182140259b590eedd078f64b4831df749','9db35cf980c7170803f09243fb2f631ea0558adc','a96cbc244801cd9c8e201fa5a35e29dbb2a6cf08','920ab711970123a6123c8aa41190b63862399a5b',];
+ var tests = {
+ "b76df4b192c11a5ef7a3e895a7dd2aaea2dcc5c7":[async_test('html5lib_domjs-unsafe.html b76df4b192c11a5ef7a3e895a7dd2aaea2dcc5c7'), "%3Csvg%3E%3C%21%5BCDATA%5Bfoo%0Abar%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%0Abar%22"],"da5cf60e732fcf20d288e772e51a7a9ccd3471e4":[async_test('html5lib_domjs-unsafe.html da5cf60e732fcf20d288e772e51a7a9ccd3471e4'), "%3Csvg%3E%3C%21%5BCDATA%5Bfoo%0Dbar%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%0Abar%22"],"c32f77685b52841e1685110a8a6fac17b3ae127a":[async_test('html5lib_domjs-unsafe.html c32f77685b52841e1685110a8a6fac17b3ae127a'), "%3Csvg%3E%3C%21%5BCDATA%5Bfoo%0D%0Abar%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%0Abar%22"],"4fd39e063b0ad1fa82274d6de3122859f76934a8":[async_test('html5lib_domjs-unsafe.html 4fd39e063b0ad1fa82274d6de3122859f76934a8'), "%3Cscript%3Ea%3D%27%00%27%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22a%3D%27%EF%BF%BD%27%22%0A%7C%20%20%20%3Cbody%3E"],"7208fbe8702c37cf180b1c736c984f5340517408":[async_test('html5lib_domjs-unsafe.html 7208fbe8702c37cf180b1c736c984f5340517408'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%00%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%EF%BF%BD%22%0A%7C%20%20%20%3Cbody%3E"],"7b5dd0bcb2a92ebf1974a0ec6017a798e774ca5b":[async_test('html5lib_domjs-unsafe.html 7b5dd0bcb2a92ebf1974a0ec6017a798e774ca5b'), "%3Cscript%20type%3D%22data%22%3E%3C%21--foo%00%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--foo%EF%BF%BD%22%0A%7C%20%20%20%3Cbody%3E"],"54c3b7008093eea8c5b45f729585097df53641a8":[async_test('html5lib_domjs-unsafe.html 54c3b7008093eea8c5b45f729585097df53641a8'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%20foo-%00%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%20foo-%EF%BF%BD%22%0A%7C%20%20%20%3Cbody%3E"],"b8de3bd0272a8362093670968eb21ad0bfa3cd40":[async_test('html5lib_domjs-unsafe.html b8de3bd0272a8362093670968eb21ad0bfa3cd40'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%20foo--%00%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%20foo--%EF%BF%BD%22%0A%7C%20%20%20%3Cbody%3E"],"40033d4270de7ad3595607426efc221988100175":[async_test('html5lib_domjs-unsafe.html 40033d4270de7ad3595607426efc221988100175'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%20foo-", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%20foo-%22%0A%7C%20%20%20%3Cbody%3E"],"4ffebb41a5c7f9239ba71301793a1e1cfd65dece":[async_test('html5lib_domjs-unsafe.html 4ffebb41a5c7f9239ba71301793a1e1cfd65dece'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%20foo-%3C%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%20foo-%3C%22%0A%7C%20%20%20%3Cbody%3E"],"4fa68424ed093da8a6c954d64bb154ef4269ea83":[async_test('html5lib_domjs-unsafe.html 4fa68424ed093da8a6c954d64bb154ef4269ea83'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%20foo-%3CS", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%20foo-%3CS%22%0A%7C%20%20%20%3Cbody%3E"],"41ddb90fa2e7785945dd18c32736dc83c1440fa4":[async_test('html5lib_domjs-unsafe.html 41ddb90fa2e7785945dd18c32736dc83c1440fa4'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%20foo-%3C/SCRIPT%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%20foo-%22%0A%7C%20%20%20%3Cbody%3E"],"89466f9770c893ffb117d18eac80993bd69564ad":[async_test('html5lib_domjs-unsafe.html 89466f9770c893ffb117d18eac80993bd69564ad'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cp%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cp%3E%22%0A%7C%20%20%20%3Cbody%3E"],"72186fc6836326792e7e46ce4b5432191a5ac192":[async_test('html5lib_domjs-unsafe.html 72186fc6836326792e7e46ce4b5432191a5ac192'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"9863747db1e2676bad75c9929d895db2bb02306c":[async_test('html5lib_domjs-unsafe.html 9863747db1e2676bad75c9929d895db2bb02306c'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E%00%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%EF%BF%BD%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"01818845dd1283fc54707a140be17e689a91f013":[async_test('html5lib_domjs-unsafe.html 01818845dd1283fc54707a140be17e689a91f013'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E-%00%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E-%EF%BF%BD%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"3255082e063beec09c3b0e605f0e3bfae177a113":[async_test('html5lib_domjs-unsafe.html 3255082e063beec09c3b0e605f0e3bfae177a113'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E--%00%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E--%EF%BF%BD%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"54cd599d050ee568b0ed0060d1926479d3e528c3":[async_test('html5lib_domjs-unsafe.html 54cd599d050ee568b0ed0060d1926479d3e528c3'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E---%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E---%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"bf081558b113ea712baeeb3294f3b53845510996":[async_test('html5lib_domjs-unsafe.html bf081558b113ea712baeeb3294f3b53845510996'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E%3C/scrip%3E%3C/SCRIPT%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scrip%3E%3C/SCRIPT%3E%22%0A%7C%20%20%20%3Cbody%3E"],"25e3471f40f3b6b0b448f7f7be41f0ee06403faa":[async_test('html5lib_domjs-unsafe.html 25e3471f40f3b6b0b448f7f7be41f0ee06403faa'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E%3C/scrip%20%3C/SCRIPT%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scrip%20%3C/SCRIPT%3E%22%0A%7C%20%20%20%3Cbody%3E"],"006df46be5600e3d99caaf7dfc6a8af1636fd43a":[async_test('html5lib_domjs-unsafe.html 006df46be5600e3d99caaf7dfc6a8af1636fd43a'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3Cscript%3E%3C/scrip/%3C/SCRIPT%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scrip/%3C/SCRIPT%3E%22%0A%7C%20%20%20%3Cbody%3E"],"b9bea556d1a155ef04e3f583328d51cf95995945":[async_test('html5lib_domjs-unsafe.html b9bea556d1a155ef04e3f583328d51cf95995945'), "%3Cscript%20type%3D%22data%22%3E%3C/scrip/%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C/scrip/%3E%22%0A%7C%20%20%20%3Cbody%3E"],"9eff404da18d0c20765a19613c718a9f49b874ac":[async_test('html5lib_domjs-unsafe.html 9eff404da18d0c20765a19613c718a9f49b874ac'), "%3Cscript%20type%3D%22data%22%3E%3C/scrip%20%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C/scrip%20%3E%22%0A%7C%20%20%20%3Cbody%3E"],"1d246a13e96719a3fb48f1a81d1218671ee3a472":[async_test('html5lib_domjs-unsafe.html 1d246a13e96719a3fb48f1a81d1218671ee3a472'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3C/scrip%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/scrip%3E%22%0A%7C%20%20%20%3Cbody%3E"],"92bb86082f237803c7ace5fcd41a36861b364551":[async_test('html5lib_domjs-unsafe.html 92bb86082f237803c7ace5fcd41a36861b364551'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3C/scrip%20%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/scrip%20%22%0A%7C%20%20%20%3Cbody%3E"],"3a89dee49af0d2b537ad0c50fb74bb68d4dfe651":[async_test('html5lib_domjs-unsafe.html 3a89dee49af0d2b537ad0c50fb74bb68d4dfe651'), "%3Cscript%20type%3D%22data%22%3E%3C%21--%3C/scrip/%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22data%22%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/scrip/%22%0A%7C%20%20%20%3Cbody%3E"],"89bd023b6e2cbc5c7a37d85b45eadc88143bd670":[async_test('html5lib_domjs-unsafe.html 89bd023b6e2cbc5c7a37d85b45eadc88143bd670'), "%3C%21DOCTYPE%20html%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"9574dbbf3302c84fc4ddb965bf1f43ae7106e68c":[async_test('html5lib_domjs-unsafe.html 9574dbbf3302c84fc4ddb965bf1f43ae7106e68c'), "%3Chtml%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"341226c7328f8d3d6ab1d373368cc14aad712f20":[async_test('html5lib_domjs-unsafe.html 341226c7328f8d3d6ab1d373368cc14aad712f20'), "%3Chtml%3E%3Chead%3E%3C%21DOCTYPE%20html%3E%3C/head%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"15b3a23030aed47b3795d9c1ef11cd241b6902cb":[async_test('html5lib_domjs-unsafe.html 15b3a23030aed47b3795d9c1ef11cd241b6902cb'), "%3Chtml%3E%3Chead%3E%3C/head%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"4b318ddd18e0e360e70df9da138eabb002e34666":[async_test('html5lib_domjs-unsafe.html 4b318ddd18e0e360e70df9da138eabb002e34666'), "%3Cbody%3E%3C/body%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"5a107feb60f518e1bed5fbd44de19f10dfde1d1e":[async_test('html5lib_domjs-unsafe.html 5a107feb60f518e1bed5fbd44de19f10dfde1d1e'), "%3Ctable%3E%3C%21DOCTYPE%20html%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"92d4f652bcf5160b9815ea29546bde415cb83b04":[async_test('html5lib_domjs-unsafe.html 92d4f652bcf5160b9815ea29546bde415cb83b04'), "%3Cselect%3E%3C%21DOCTYPE%20html%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"42ebb8a722e7940826975575b2cb422c0a112c68":[async_test('html5lib_domjs-unsafe.html 42ebb8a722e7940826975575b2cb422c0a112c68'), "%3Ctable%3E%3Ccolgroup%3E%3C%21DOCTYPE%20html%3E%3C/colgroup%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"1a761bd94b707be3a5bd87fbcce0e0873c0b60ab":[async_test('html5lib_domjs-unsafe.html 1a761bd94b707be3a5bd87fbcce0e0873c0b60ab'), "%3Ctable%3E%3Ccolgroup%3E%3C%21--test--%3E%3C/colgroup%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3C%21--%20test%20--%3E"],"2fc6eb9f9eb3e005eb3c4765f638203ce0c34f5f":[async_test('html5lib_domjs-unsafe.html 2fc6eb9f9eb3e005eb3c4765f638203ce0c34f5f'), "%3Ctable%3E%3Ccolgroup%3E%3Chtml%3E%3C/colgroup%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"57672cdb7506becfcf63d59cc06f88d7e240808c":[async_test('html5lib_domjs-unsafe.html 57672cdb7506becfcf63d59cc06f88d7e240808c'), "%3Ctable%3E%3Ccolgroup%3E%20foo%3C/colgroup%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22"],"59ad4ed1b502b7adb49cf799c107bf405ddc0cca":[async_test('html5lib_domjs-unsafe.html 59ad4ed1b502b7adb49cf799c107bf405ddc0cca'), "%3Cselect%3E%3C%21--test--%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3C%21--%20test%20--%3E"],"4f00716246c38ec50813c6dd1e17b1e87a399252":[async_test('html5lib_domjs-unsafe.html 4f00716246c38ec50813c6dd1e17b1e87a399252'), "%3Cselect%3E%3Chtml%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"767cec7804216f7b7bf6565a735c683fb2282059":[async_test('html5lib_domjs-unsafe.html 767cec7804216f7b7bf6565a735c683fb2282059'), "%3Cframeset%3E%3Chtml%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"c3258281fe46017ff5ea19cb08c711a6c281d673":[async_test('html5lib_domjs-unsafe.html c3258281fe46017ff5ea19cb08c711a6c281d673'), "%3Cframeset%3E%3C/frameset%3E%3Chtml%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"755e6ed1b6f991af24c720c51546b5e0f6ef9ca5":[async_test('html5lib_domjs-unsafe.html 755e6ed1b6f991af24c720c51546b5e0f6ef9ca5'), "%3Cframeset%3E%3C/frameset%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"3fb041d606429c494f972b82556759cf1a22171f":[async_test('html5lib_domjs-unsafe.html 3fb041d606429c494f972b82556759cf1a22171f'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"2f2ff31150ecec96cae1417fab3c4bda7e626948":[async_test('html5lib_domjs-unsafe.html 2f2ff31150ecec96cae1417fab3c4bda7e626948'), "%3Csvg%3E%3C%21DOCTYPE%20html%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"6253f7f734608919f9966365fbbdd42163af7af2":[async_test('html5lib_domjs-unsafe.html 6253f7f734608919f9966365fbbdd42163af7af2'), "%3Csvg%3E%3Cfont%3E%3C/font%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20font%3E"],"db7da9a182140259b590eedd078f64b4831df749":[async_test('html5lib_domjs-unsafe.html db7da9a182140259b590eedd078f64b4831df749'), "%3Csvg%3E%3Cfont%20id%3Dfoo%3E%3C/font%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20font%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22foo%22"],"9db35cf980c7170803f09243fb2f631ea0558adc":[async_test('html5lib_domjs-unsafe.html 9db35cf980c7170803f09243fb2f631ea0558adc'), "%3Csvg%3E%3Cfont%20size%3D4%3E%3C/font%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20size%3D%224%22"],"a96cbc244801cd9c8e201fa5a35e29dbb2a6cf08":[async_test('html5lib_domjs-unsafe.html a96cbc244801cd9c8e201fa5a35e29dbb2a6cf08'), "%3Csvg%3E%3Cfont%20color%3Dred%3E%3C/font%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20color%3D%22red%22"],"920ab711970123a6123c8aa41190b63862399a5b":[async_test('html5lib_domjs-unsafe.html 920ab711970123a6123c8aa41190b63862399a5b'), "%3Csvg%3E%3Cfont%20font%3Dsans%3E%3C/font%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20font%3E%0A%7C%20%20%20%20%20%20%20%20%20font%3D%22sans%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_entities01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_entities01.html
new file mode 100644
index 0000000000..8f0b96e623
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_entities01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_entities01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['16c694bcf0b3ff3723fa070eea7e1e82ef12a337','05e04b39ef06e2367a33326f5dd566913aa6628f','fbf7d9fec595585869c5c595d5588b34fd175278','e59b0a76d7bcfb429b27e00e469f35e08a9bdd1a','5ea854d6ecd4d6dd459cb36d4faf3ed36e11c073','119cd15b852615cd0fce759769b4a3788595e3bb','903cefcfae1125cb71fc77f4a6b7d3546e8f4020','69f08b40c7506153e809415ca98e2ed98992216b','9c00a1833e8cf4af28c8bd94902412ad7052b4b0','b5bcdcbc6e88b380be0e48ca2620fbbb8e92e497','bf6c90305b2856c2d9c9a146dfff867fe7a5e0f3','6b9c8d175a3d7b6cf04ffd72e44a7dc88686460f','76c184d9ce64b8a52c2e67eafeb8d332c096f2be','4c30f8f931eb44c2f208e837555c0cc444dd4612','1db77ef761092d65ce847c0bcd6e7cb892db754d','284c18aa40a73e4052525a9ffb30b23182f237ea','6b336a43e394d3ab7ceb2ab54c63409e8a27aded','436c30dd76bf9b5c2b29a181d9a9412ec0ab4bdf','1373a52ddcb71f20f29d92abb6714eaabeba7424','d60f4f324a1ad9c09c4d3590c8c537af2852eeb4','d21511e2df56c306c78e1449c960c66e565e016e','39107d16f24d4c7bcd40ad1239b5f4f677877ee8','a44b740e8b2349e75c9eb0376f665eab13ff821d','a0e38b1c19eba037b34c68864634cff032f0b892','390d9571a24be0961c8fcd78c69eea16a6414246','ceba8404405dd3b3b423c45411bde15bf72a846d','f8dd2fccc21d3a08790a7877186840a692adf111','d526830d439d3c4e966b22fbedf819d465d3107b','240af7bacbfecce6e2a973de9c89fad817fb8d42','d657585ca1df5b86693fca8a0a2eae76bd9b1c2b','b508fcffb2d9f2424c7837270e51824321fb4570','897ab551df27df14418a46ff1c3acef8338c53f3','493a472ccf903088c813ff6874d54482a161df8f','67d19edb1f6ecbbb6ccb90df2345e52e5c58efc3','dded422b7406c966c944555f220d7d3dfcf2a143','60a76c9e10e4ac53f836f9e45eb0518dd0b7b73b','b47fcc6a614247319908b00935f10ec134399917','3b5c7d0331ae900e1179eaf3545c78d147434fbf','a0f119508046dbb4f8059232f6e99f66c1e8e7a6','daab384be8471edeb755353c5dccaad0c415dac5','8485e4d103a517615f39c0d0b71fe5065c5437db','4c28749faddb096d1f04792b7daf039268c43181','c84c576954c4c493528eaa34233c926653152be5','b2797e18c499df32296545225c259dbf4bea2908','5b2dfe6f187413faecd91336bd353c05768ea722','34af7be5bcff18ec869a306b19daea70f61f7088','8f2e74688427858fc1a895fc472d074a0528a7ae','530d6251a43d688e69959237e519812585de8266','bced9b8c339d0d2838ea0fffe9a64027b4f3a877','9c9e8079df25999c606bc84f46b348544a23b9b4','ec61d22b3bc6f93e54bbff964311bba9a3a06b21','391f0136aebdd0e874c8eb85651ffda7e9f86f24','e2974e7029b008539aacc1ee885705764f8c53f4','23e105ca5329cc0338a96fe7e088ba9b319c46d1','87af28752724c400edef3970e52440639be5b1a8','f50d9e39e2bda3d8c0b1c69d1f1e4e86c4b39ac3','12827fadb8d36b829e9c2c7315e0848d2d7ef278','f603997321070e6ccada6fefe4240a9e6c7e870a','a88e381bf36e74aaa8ac5b0877153b7158bae579','11019fa64a25748a5bfb864fc200ec2710b54aa3','3d238b9146102bd11e898ff4913f86e8ded65be4','a1375bfde7be56e514471700e030b1c7e7090e2f','7936b73efa385d183e93453bea24fd0c4dff4742','41cdf6978b0c48e7044d5e4534fc8bb08de4cdf2','5138f572a4db2e2edc2d723e1bb87af72ab501f4','f30757617b6df330deba1cb607e8d47f71bda13f','a6fd8cdca1fa8cf07519d9a0c5b779eafa438b70','ada342466887e85d89c3b815b127bfced036ac76','74bd99a9263f0b8e8a5fac4d2684fe37d5a1a9cc','bffe7b00046407080251ab6bf58cb97ce2a34893','5aef37f1f2b9ac45adfade044c882eb09a297569','6e2d817539fb3b2023c7bcb88ad220c136f70cf0','d4ac52727ff405f61a1d878a0aa1951ae5264c80','d2584faaa4dda5283955b2dc22812a018d04a72d','56dc3e612fbfa06cfeb26957e357defcf73aa220',];
+ var tests = {
+ "16c694bcf0b3ff3723fa070eea7e1e82ef12a337":[async_test('html5lib_entities01.html 16c694bcf0b3ff3723fa070eea7e1e82ef12a337'), "FOO%26gt%3BBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%3EBAR%22"],"05e04b39ef06e2367a33326f5dd566913aa6628f":[async_test('html5lib_entities01.html 05e04b39ef06e2367a33326f5dd566913aa6628f'), "FOO%26gtBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%3EBAR%22"],"fbf7d9fec595585869c5c595d5588b34fd175278":[async_test('html5lib_entities01.html fbf7d9fec595585869c5c595d5588b34fd175278'), "FOO%26gt%20BAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%3E%20BAR%22"],"e59b0a76d7bcfb429b27e00e469f35e08a9bdd1a":[async_test('html5lib_entities01.html e59b0a76d7bcfb429b27e00e469f35e08a9bdd1a'), "FOO%26gt%3B%3B%3BBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%3E%3B%3BBAR%22"],"5ea854d6ecd4d6dd459cb36d4faf3ed36e11c073":[async_test('html5lib_entities01.html 5ea854d6ecd4d6dd459cb36d4faf3ed36e11c073'), "I%27m%20%26notit%3B%20I%20tell%20you", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22I%27m%20%C2%ACit%3B%20I%20tell%20you%22"],"119cd15b852615cd0fce759769b4a3788595e3bb":[async_test('html5lib_entities01.html 119cd15b852615cd0fce759769b4a3788595e3bb'), "I%27m%20%26notin%3B%20I%20tell%20you", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22I%27m%20%E2%88%89%20I%20tell%20you%22"],"903cefcfae1125cb71fc77f4a6b7d3546e8f4020":[async_test('html5lib_entities01.html 903cefcfae1125cb71fc77f4a6b7d3546e8f4020'), "%26ammmp%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26ammmp%3B%22"],"69f08b40c7506153e809415ca98e2ed98992216b":[async_test('html5lib_entities01.html 69f08b40c7506153e809415ca98e2ed98992216b'), "%26ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp%3B%22"],"9c00a1833e8cf4af28c8bd94902412ad7052b4b0":[async_test('html5lib_entities01.html 9c00a1833e8cf4af28c8bd94902412ad7052b4b0'), "FOO%26%20BAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%20BAR%22"],"b5bcdcbc6e88b380be0e48ca2620fbbb8e92e497":[async_test('html5lib_entities01.html b5bcdcbc6e88b380be0e48ca2620fbbb8e92e497'), "FOO%26%3CBAR%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%22%0A%7C%20%20%20%20%20%3Cbar%3E"],"bf6c90305b2856c2d9c9a146dfff867fe7a5e0f3":[async_test('html5lib_entities01.html bf6c90305b2856c2d9c9a146dfff867fe7a5e0f3'), "FOO%26%26%26%26gt%3BBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%26%26%3EBAR%22"],"6b9c8d175a3d7b6cf04ffd72e44a7dc88686460f":[async_test('html5lib_entities01.html 6b9c8d175a3d7b6cf04ffd72e44a7dc88686460f'), "FOO%26%2341%3BBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%29BAR%22"],"76c184d9ce64b8a52c2e67eafeb8d332c096f2be":[async_test('html5lib_entities01.html 76c184d9ce64b8a52c2e67eafeb8d332c096f2be'), "FOO%26%23x41%3BBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOOABAR%22"],"4c30f8f931eb44c2f208e837555c0cc444dd4612":[async_test('html5lib_entities01.html 4c30f8f931eb44c2f208e837555c0cc444dd4612'), "FOO%26%23X41%3BBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOOABAR%22"],"1db77ef761092d65ce847c0bcd6e7cb892db754d":[async_test('html5lib_entities01.html 1db77ef761092d65ce847c0bcd6e7cb892db754d'), "FOO%26%23BAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%23BAR%22"],"284c18aa40a73e4052525a9ffb30b23182f237ea":[async_test('html5lib_entities01.html 284c18aa40a73e4052525a9ffb30b23182f237ea'), "FOO%26%23ZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%23ZOO%22"],"6b336a43e394d3ab7ceb2ab54c63409e8a27aded":[async_test('html5lib_entities01.html 6b336a43e394d3ab7ceb2ab54c63409e8a27aded'), "FOO%26%23xBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%BAR%22"],"436c30dd76bf9b5c2b29a181d9a9412ec0ab4bdf":[async_test('html5lib_entities01.html 436c30dd76bf9b5c2b29a181d9a9412ec0ab4bdf'), "FOO%26%23xZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%23xZOO%22"],"1373a52ddcb71f20f29d92abb6714eaabeba7424":[async_test('html5lib_entities01.html 1373a52ddcb71f20f29d92abb6714eaabeba7424'), "FOO%26%23XZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%26%23XZOO%22"],"d60f4f324a1ad9c09c4d3590c8c537af2852eeb4":[async_test('html5lib_entities01.html d60f4f324a1ad9c09c4d3590c8c537af2852eeb4'), "FOO%26%2341BAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%29BAR%22"],"d21511e2df56c306c78e1449c960c66e565e016e":[async_test('html5lib_entities01.html d21511e2df56c306c78e1449c960c66e565e016e'), "FOO%26%23x41BAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E4%86%BAR%22"],"39107d16f24d4c7bcd40ad1239b5f4f677877ee8":[async_test('html5lib_entities01.html 39107d16f24d4c7bcd40ad1239b5f4f677877ee8'), "FOO%26%23x41ZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOOAZOO%22"],"a44b740e8b2349e75c9eb0376f665eab13ff821d":[async_test('html5lib_entities01.html a44b740e8b2349e75c9eb0376f665eab13ff821d'), "FOO%26%23x0000%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"a0e38b1c19eba037b34c68864634cff032f0b892":[async_test('html5lib_entities01.html a0e38b1c19eba037b34c68864634cff032f0b892'), "FOO%26%23x0078%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOOxZOO%22"],"390d9571a24be0961c8fcd78c69eea16a6414246":[async_test('html5lib_entities01.html 390d9571a24be0961c8fcd78c69eea16a6414246'), "FOO%26%23x0079%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOOyZOO%22"],"ceba8404405dd3b3b423c45411bde15bf72a846d":[async_test('html5lib_entities01.html ceba8404405dd3b3b423c45411bde15bf72a846d'), "FOO%26%23x0080%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%82%ACZOO%22"],"f8dd2fccc21d3a08790a7877186840a692adf111":[async_test('html5lib_entities01.html f8dd2fccc21d3a08790a7877186840a692adf111'), "FOO%26%23x0081%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%81ZOO%22"],"d526830d439d3c4e966b22fbedf819d465d3107b":[async_test('html5lib_entities01.html d526830d439d3c4e966b22fbedf819d465d3107b'), "FOO%26%23x0082%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%9AZOO%22"],"240af7bacbfecce6e2a973de9c89fad817fb8d42":[async_test('html5lib_entities01.html 240af7bacbfecce6e2a973de9c89fad817fb8d42'), "FOO%26%23x0083%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C6%92ZOO%22"],"d657585ca1df5b86693fca8a0a2eae76bd9b1c2b":[async_test('html5lib_entities01.html d657585ca1df5b86693fca8a0a2eae76bd9b1c2b'), "FOO%26%23x0084%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%9EZOO%22"],"b508fcffb2d9f2424c7837270e51824321fb4570":[async_test('html5lib_entities01.html b508fcffb2d9f2424c7837270e51824321fb4570'), "FOO%26%23x0085%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%A6ZOO%22"],"897ab551df27df14418a46ff1c3acef8338c53f3":[async_test('html5lib_entities01.html 897ab551df27df14418a46ff1c3acef8338c53f3'), "FOO%26%23x0086%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%A0ZOO%22"],"493a472ccf903088c813ff6874d54482a161df8f":[async_test('html5lib_entities01.html 493a472ccf903088c813ff6874d54482a161df8f'), "FOO%26%23x0087%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%A1ZOO%22"],"67d19edb1f6ecbbb6ccb90df2345e52e5c58efc3":[async_test('html5lib_entities01.html 67d19edb1f6ecbbb6ccb90df2345e52e5c58efc3'), "FOO%26%23x0088%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%CB%86ZOO%22"],"dded422b7406c966c944555f220d7d3dfcf2a143":[async_test('html5lib_entities01.html dded422b7406c966c944555f220d7d3dfcf2a143'), "FOO%26%23x0089%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%B0ZOO%22"],"60a76c9e10e4ac53f836f9e45eb0518dd0b7b73b":[async_test('html5lib_entities01.html 60a76c9e10e4ac53f836f9e45eb0518dd0b7b73b'), "FOO%26%23x008A%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%A0ZOO%22"],"b47fcc6a614247319908b00935f10ec134399917":[async_test('html5lib_entities01.html b47fcc6a614247319908b00935f10ec134399917'), "FOO%26%23x008B%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%B9ZOO%22"],"3b5c7d0331ae900e1179eaf3545c78d147434fbf":[async_test('html5lib_entities01.html 3b5c7d0331ae900e1179eaf3545c78d147434fbf'), "FOO%26%23x008C%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%92ZOO%22"],"a0f119508046dbb4f8059232f6e99f66c1e8e7a6":[async_test('html5lib_entities01.html a0f119508046dbb4f8059232f6e99f66c1e8e7a6'), "FOO%26%23x008D%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%8DZOO%22"],"daab384be8471edeb755353c5dccaad0c415dac5":[async_test('html5lib_entities01.html daab384be8471edeb755353c5dccaad0c415dac5'), "FOO%26%23x008E%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%BDZOO%22"],"8485e4d103a517615f39c0d0b71fe5065c5437db":[async_test('html5lib_entities01.html 8485e4d103a517615f39c0d0b71fe5065c5437db'), "FOO%26%23x008F%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%8FZOO%22"],"4c28749faddb096d1f04792b7daf039268c43181":[async_test('html5lib_entities01.html 4c28749faddb096d1f04792b7daf039268c43181'), "FOO%26%23x0090%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%90ZOO%22"],"c84c576954c4c493528eaa34233c926653152be5":[async_test('html5lib_entities01.html c84c576954c4c493528eaa34233c926653152be5'), "FOO%26%23x0091%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%98ZOO%22"],"b2797e18c499df32296545225c259dbf4bea2908":[async_test('html5lib_entities01.html b2797e18c499df32296545225c259dbf4bea2908'), "FOO%26%23x0092%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%99ZOO%22"],"5b2dfe6f187413faecd91336bd353c05768ea722":[async_test('html5lib_entities01.html 5b2dfe6f187413faecd91336bd353c05768ea722'), "FOO%26%23x0093%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%9CZOO%22"],"34af7be5bcff18ec869a306b19daea70f61f7088":[async_test('html5lib_entities01.html 34af7be5bcff18ec869a306b19daea70f61f7088'), "FOO%26%23x0094%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%9DZOO%22"],"8f2e74688427858fc1a895fc472d074a0528a7ae":[async_test('html5lib_entities01.html 8f2e74688427858fc1a895fc472d074a0528a7ae'), "FOO%26%23x0095%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%A2ZOO%22"],"530d6251a43d688e69959237e519812585de8266":[async_test('html5lib_entities01.html 530d6251a43d688e69959237e519812585de8266'), "FOO%26%23x0096%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%93ZOO%22"],"bced9b8c339d0d2838ea0fffe9a64027b4f3a877":[async_test('html5lib_entities01.html bced9b8c339d0d2838ea0fffe9a64027b4f3a877'), "FOO%26%23x0097%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%94ZOO%22"],"9c9e8079df25999c606bc84f46b348544a23b9b4":[async_test('html5lib_entities01.html 9c9e8079df25999c606bc84f46b348544a23b9b4'), "FOO%26%23x0098%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%CB%9CZOO%22"],"ec61d22b3bc6f93e54bbff964311bba9a3a06b21":[async_test('html5lib_entities01.html ec61d22b3bc6f93e54bbff964311bba9a3a06b21'), "FOO%26%23x0099%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%84%A2ZOO%22"],"391f0136aebdd0e874c8eb85651ffda7e9f86f24":[async_test('html5lib_entities01.html 391f0136aebdd0e874c8eb85651ffda7e9f86f24'), "FOO%26%23x009A%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%A1ZOO%22"],"e2974e7029b008539aacc1ee885705764f8c53f4":[async_test('html5lib_entities01.html e2974e7029b008539aacc1ee885705764f8c53f4'), "FOO%26%23x009B%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%E2%80%BAZOO%22"],"23e105ca5329cc0338a96fe7e088ba9b319c46d1":[async_test('html5lib_entities01.html 23e105ca5329cc0338a96fe7e088ba9b319c46d1'), "FOO%26%23x009C%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%93ZOO%22"],"87af28752724c400edef3970e52440639be5b1a8":[async_test('html5lib_entities01.html 87af28752724c400edef3970e52440639be5b1a8'), "FOO%26%23x009D%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%9DZOO%22"],"f50d9e39e2bda3d8c0b1c69d1f1e4e86c4b39ac3":[async_test('html5lib_entities01.html f50d9e39e2bda3d8c0b1c69d1f1e4e86c4b39ac3'), "FOO%26%23x009E%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%BEZOO%22"],"12827fadb8d36b829e9c2c7315e0848d2d7ef278":[async_test('html5lib_entities01.html 12827fadb8d36b829e9c2c7315e0848d2d7ef278'), "FOO%26%23x009F%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C5%B8ZOO%22"],"f603997321070e6ccada6fefe4240a9e6c7e870a":[async_test('html5lib_entities01.html f603997321070e6ccada6fefe4240a9e6c7e870a'), "FOO%26%23x00A0%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%C2%A0ZOO%22"],"a88e381bf36e74aaa8ac5b0877153b7158bae579":[async_test('html5lib_entities01.html a88e381bf36e74aaa8ac5b0877153b7158bae579'), "FOO%26%23xD7FF%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%ED%9F%BFZOO%22"],"11019fa64a25748a5bfb864fc200ec2710b54aa3":[async_test('html5lib_entities01.html 11019fa64a25748a5bfb864fc200ec2710b54aa3'), "FOO%26%23xD800%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"3d238b9146102bd11e898ff4913f86e8ded65be4":[async_test('html5lib_entities01.html 3d238b9146102bd11e898ff4913f86e8ded65be4'), "FOO%26%23xD801%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"a1375bfde7be56e514471700e030b1c7e7090e2f":[async_test('html5lib_entities01.html a1375bfde7be56e514471700e030b1c7e7090e2f'), "FOO%26%23xDFFE%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"7936b73efa385d183e93453bea24fd0c4dff4742":[async_test('html5lib_entities01.html 7936b73efa385d183e93453bea24fd0c4dff4742'), "FOO%26%23xDFFF%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"41cdf6978b0c48e7044d5e4534fc8bb08de4cdf2":[async_test('html5lib_entities01.html 41cdf6978b0c48e7044d5e4534fc8bb08de4cdf2'), "FOO%26%23xE000%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EE%80%80ZOO%22"],"5138f572a4db2e2edc2d723e1bb87af72ab501f4":[async_test('html5lib_entities01.html 5138f572a4db2e2edc2d723e1bb87af72ab501f4'), "FOO%26%23x10FFFE%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%F4%8F%BF%BEZOO%22"],"f30757617b6df330deba1cb607e8d47f71bda13f":[async_test('html5lib_entities01.html f30757617b6df330deba1cb607e8d47f71bda13f'), "FOO%26%23x1087D4%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%F4%88%9F%94ZOO%22"],"a6fd8cdca1fa8cf07519d9a0c5b779eafa438b70":[async_test('html5lib_entities01.html a6fd8cdca1fa8cf07519d9a0c5b779eafa438b70'), "FOO%26%23x10FFFF%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%F4%8F%BF%BFZOO%22"],"ada342466887e85d89c3b815b127bfced036ac76":[async_test('html5lib_entities01.html ada342466887e85d89c3b815b127bfced036ac76'), "FOO%26%23x110000%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"74bd99a9263f0b8e8a5fac4d2684fe37d5a1a9cc":[async_test('html5lib_entities01.html 74bd99a9263f0b8e8a5fac4d2684fe37d5a1a9cc'), "FOO%26%23xFFFFFF%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"bffe7b00046407080251ab6bf58cb97ce2a34893":[async_test('html5lib_entities01.html bffe7b00046407080251ab6bf58cb97ce2a34893'), "FOO%26%2311111111111", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BD%22"],"5aef37f1f2b9ac45adfade044c882eb09a297569":[async_test('html5lib_entities01.html 5aef37f1f2b9ac45adfade044c882eb09a297569'), "FOO%26%231111111111", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BD%22"],"6e2d817539fb3b2023c7bcb88ad220c136f70cf0":[async_test('html5lib_entities01.html 6e2d817539fb3b2023c7bcb88ad220c136f70cf0'), "FOO%26%23111111111111", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BD%22"],"d4ac52727ff405f61a1d878a0aa1951ae5264c80":[async_test('html5lib_entities01.html d4ac52727ff405f61a1d878a0aa1951ae5264c80'), "FOO%26%2311111111111ZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"d2584faaa4dda5283955b2dc22812a018d04a72d":[async_test('html5lib_entities01.html d2584faaa4dda5283955b2dc22812a018d04a72d'), "FOO%26%231111111111ZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],"56dc3e612fbfa06cfeb26957e357defcf73aa220":[async_test('html5lib_entities01.html 56dc3e612fbfa06cfeb26957e357defcf73aa220'), "FOO%26%23111111111111ZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%EF%BF%BDZOO%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_entities02.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_entities02.html
new file mode 100644
index 0000000000..20df8ed871
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_entities02.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_entities02.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['ea66863900b0b42deee5a77c58a432c2215c32ac','bc2a229b7c801ad045da76f411faf1d4c89886d0','e30755b30108f65919767f57a2200097b638f2b4','17c5acad9075755a413541d57d0d135338450834','ec40a7216b4ac918c5e16cae66bfb8b69bcfabce','54d2e9d13436e6850a5257e8028122581cf7088d','99c8496d0ea75429a5836de44dd18708974f6de8','7e4e70e57f63968ebba82682a2629158bd053a65','dca2db4f61b5fd60121e3da3e15065654f8d8a0c','fe22904d5f3936bedc1fa110e6bde48895b399a0','6553483a30141fcff05787287c2c212df9f468e8','88d7c74afcb27bbee3e3255d9116dce9c3dc6d73','db5d22d3350e0a51d675dc17c641c73251a4739d','ea08276faa7ba526e612fc1e80047d705cd29885','c59d1cfe1b36e75e0f57664e45bef7023a73c9e9','f9d3950620f8adcbe5f9a0542c7967de4be65963','8e35dacd7c296f054e58f1ce83719401c8aff8a0','48edddaa93bbebc5cd1615cc67422ca6508e47a2','9c69a29b53eebd93db20f12d405335274098e662','565c5f6744a27602bb466d6df77803a80f064752','742984a32ecd86cb9cdedffbba47eb212e19c80f','f908b529ac9ca5366e1160856db2c3d17e3898c9','1294ffc6bee2ee41f65a60ac48ba445b99504286','ba7d8cdd4b40020f7af6bdde75a3574b5771fac9','ce23051409f58749cbce6836bc4c7c21e9c548cf','6bbeec30b849cebd1366ebb2e6d2a6c1790e8c68',];
+ var tests = {
+ "ea66863900b0b42deee5a77c58a432c2215c32ac":[async_test('html5lib_entities02.html ea66863900b0b42deee5a77c58a432c2215c32ac'), "%3Cdiv%20bar%3D%22ZZ%26gt%3BYY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%3EYY%22"],"bc2a229b7c801ad045da76f411faf1d4c89886d0":[async_test('html5lib_entities02.html bc2a229b7c801ad045da76f411faf1d4c89886d0'), "%3Cdiv%20bar%3D%22ZZ%26%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26%22"],"e30755b30108f65919767f57a2200097b638f2b4":[async_test('html5lib_entities02.html e30755b30108f65919767f57a2200097b638f2b4'), "%3Cdiv%20bar%3D%27ZZ%26%27%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26%22"],"17c5acad9075755a413541d57d0d135338450834":[async_test('html5lib_entities02.html 17c5acad9075755a413541d57d0d135338450834'), "%3Cdiv%20bar%3DZZ%26%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26%22"],"ec40a7216b4ac918c5e16cae66bfb8b69bcfabce":[async_test('html5lib_entities02.html ec40a7216b4ac918c5e16cae66bfb8b69bcfabce'), "%3Cdiv%20bar%3D%22ZZ%26gt%3DYY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26gt%3DYY%22"],"54d2e9d13436e6850a5257e8028122581cf7088d":[async_test('html5lib_entities02.html 54d2e9d13436e6850a5257e8028122581cf7088d'), "%3Cdiv%20bar%3D%22ZZ%26gt0YY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26gt0YY%22"],"99c8496d0ea75429a5836de44dd18708974f6de8":[async_test('html5lib_entities02.html 99c8496d0ea75429a5836de44dd18708974f6de8'), "%3Cdiv%20bar%3D%22ZZ%26gt9YY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26gt9YY%22"],"7e4e70e57f63968ebba82682a2629158bd053a65":[async_test('html5lib_entities02.html 7e4e70e57f63968ebba82682a2629158bd053a65'), "%3Cdiv%20bar%3D%22ZZ%26gtaYY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26gtaYY%22"],"dca2db4f61b5fd60121e3da3e15065654f8d8a0c":[async_test('html5lib_entities02.html dca2db4f61b5fd60121e3da3e15065654f8d8a0c'), "%3Cdiv%20bar%3D%22ZZ%26gtZYY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26gtZYY%22"],"fe22904d5f3936bedc1fa110e6bde48895b399a0":[async_test('html5lib_entities02.html fe22904d5f3936bedc1fa110e6bde48895b399a0'), "%3Cdiv%20bar%3D%22ZZ%26gt%20YY%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%3E%20YY%22"],"6553483a30141fcff05787287c2c212df9f468e8":[async_test('html5lib_entities02.html 6553483a30141fcff05787287c2c212df9f468e8'), "%3Cdiv%20bar%3D%22ZZ%26gt%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%3E%22"],"88d7c74afcb27bbee3e3255d9116dce9c3dc6d73":[async_test('html5lib_entities02.html 88d7c74afcb27bbee3e3255d9116dce9c3dc6d73'), "%3Cdiv%20bar%3D%27ZZ%26gt%27%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%3E%22"],"db5d22d3350e0a51d675dc17c641c73251a4739d":[async_test('html5lib_entities02.html db5d22d3350e0a51d675dc17c641c73251a4739d'), "%3Cdiv%20bar%3DZZ%26gt%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%3E%22"],"ea08276faa7ba526e612fc1e80047d705cd29885":[async_test('html5lib_entities02.html ea08276faa7ba526e612fc1e80047d705cd29885'), "%3Cdiv%20bar%3D%22ZZ%26pound_id%3D23%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%C2%A3_id%3D23%22"],"c59d1cfe1b36e75e0f57664e45bef7023a73c9e9":[async_test('html5lib_entities02.html c59d1cfe1b36e75e0f57664e45bef7023a73c9e9'), "%3Cdiv%20bar%3D%22ZZ%26prod_id%3D23%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26prod_id%3D23%22"],"f9d3950620f8adcbe5f9a0542c7967de4be65963":[async_test('html5lib_entities02.html f9d3950620f8adcbe5f9a0542c7967de4be65963'), "%3Cdiv%20bar%3D%22ZZ%26pound%3B_id%3D23%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%C2%A3_id%3D23%22"],"8e35dacd7c296f054e58f1ce83719401c8aff8a0":[async_test('html5lib_entities02.html 8e35dacd7c296f054e58f1ce83719401c8aff8a0'), "%3Cdiv%20bar%3D%22ZZ%26prod%3B_id%3D23%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%E2%88%8F_id%3D23%22"],"48edddaa93bbebc5cd1615cc67422ca6508e47a2":[async_test('html5lib_entities02.html 48edddaa93bbebc5cd1615cc67422ca6508e47a2'), "%3Cdiv%20bar%3D%22ZZ%26pound%3D23%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26pound%3D23%22"],"9c69a29b53eebd93db20f12d405335274098e662":[async_test('html5lib_entities02.html 9c69a29b53eebd93db20f12d405335274098e662'), "%3Cdiv%20bar%3D%22ZZ%26prod%3D23%22%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22ZZ%26prod%3D23%22"],"565c5f6744a27602bb466d6df77803a80f064752":[async_test('html5lib_entities02.html 565c5f6744a27602bb466d6df77803a80f064752'), "%3Cdiv%3EZZ%26pound_id%3D23%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%C2%A3_id%3D23%22"],"742984a32ecd86cb9cdedffbba47eb212e19c80f":[async_test('html5lib_entities02.html 742984a32ecd86cb9cdedffbba47eb212e19c80f'), "%3Cdiv%3EZZ%26prod_id%3D23%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%26prod_id%3D23%22"],"f908b529ac9ca5366e1160856db2c3d17e3898c9":[async_test('html5lib_entities02.html f908b529ac9ca5366e1160856db2c3d17e3898c9'), "%3Cdiv%3EZZ%26pound%3B_id%3D23%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%C2%A3_id%3D23%22"],"1294ffc6bee2ee41f65a60ac48ba445b99504286":[async_test('html5lib_entities02.html 1294ffc6bee2ee41f65a60ac48ba445b99504286'), "%3Cdiv%3EZZ%26prod%3B_id%3D23%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%E2%88%8F_id%3D23%22"],"ba7d8cdd4b40020f7af6bdde75a3574b5771fac9":[async_test('html5lib_entities02.html ba7d8cdd4b40020f7af6bdde75a3574b5771fac9'), "%3Cdiv%3EZZ%26pound%3D23%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%C2%A3%3D23%22"],"ce23051409f58749cbce6836bc4c7c21e9c548cf":[async_test('html5lib_entities02.html ce23051409f58749cbce6836bc4c7c21e9c548cf'), "%3Cdiv%3EZZ%26prod%3D23%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%26prod%3D23%22"],"6bbeec30b849cebd1366ebb2e6d2a6c1790e8c68":[async_test('html5lib_entities02.html 6bbeec30b849cebd1366ebb2e6d2a6c1790e8c68'), "%3Cdiv%3EZZ%26AElig%3D%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22ZZ%C3%86%3D%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_html5test-com.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_html5test-com.html
new file mode 100644
index 0000000000..b74b7f9993
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_html5test-com.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_html5test-com.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['71bd5e6b9e907e65295b6d670627e0da4a8a65ed','32cd504d36a6db3584b716b3681ab4b0741423b3','f0bf0506a2d3e5ca4aa5f14a1f260e405882827e','666a215d91c4e83d99f4be4caebb67fd65569480','fd2cd459bdc79db754b24bc537758990d392b1fc','86be28614bf72e24c162d865c04d687447098867','be72b058e5be0f6aef2c442d83c92c0d251fcb7f','ab6e31cf52c8d57d6dfdcaf7165f1abf7bd5e73d','11240d9b03b14eb515d6a1d1595c5a409830ea38','809c1bebcded8f43981af902442ff8a2db5d2578','bcbeb84f40e56a642b794d514e97e3ec303d4a79','1cbb987dd0a35af3a5b2e4fc11eba36a60eba03d','5b5e75eca2f5c80e1c4d5676254b9891090e288e','93e966e2edad3297ecb159f3983bdd2dc84f829e','7a02a2d7ab875dbeedc9a34c6c27b6119bd6d1f0','46615acdb9dd6231e2a65fed5bcce7e19f086d03','381de12234a699cbfb775b3ca7c679f357e7403e','72736fc894b2077928559cc4284a102635cac898','290d5e7fa9684038411e78c4b0e0ade83150eeea','a5fb9cf46ed215a61d073ae4b7e7477ba49fa5d8','88dea19243733a9bda26c6f5290d2c4f5bbac157','9906bb30ae08654f4c67bf6d97040abbca91082d','c6cd25ce02329e4a42b9be9ba35453532fec7599','81af3f9d6ccc2a1a1a58ace18dd530c544675610',];
+ var tests = {
+ "71bd5e6b9e907e65295b6d670627e0da4a8a65ed":[async_test('html5lib_html5test-com.html 71bd5e6b9e907e65295b6d670627e0da4a8a65ed'), "%3Cdiv%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3Cdiv%3E"],"32cd504d36a6db3584b716b3681ab4b0741423b3":[async_test('html5lib_html5test-com.html 32cd504d36a6db3584b716b3681ab4b0741423b3'), "%3Cdiv%20foo%3Cbar%3D%27%27%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20foo%3Cbar%3D%22%22"],"f0bf0506a2d3e5ca4aa5f14a1f260e405882827e":[async_test('html5lib_html5test-com.html f0bf0506a2d3e5ca4aa5f14a1f260e405882827e'), "%3Cdiv%20foo%3D%60bar%60%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20foo%3D%22%60bar%60%22"],"666a215d91c4e83d99f4be4caebb67fd65569480":[async_test('html5lib_html5test-com.html 666a215d91c4e83d99f4be4caebb67fd65569480'), "%3Cdiv%20%5C%22foo%3D%27%27%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%5C%22foo%3D%22%22"],"fd2cd459bdc79db754b24bc537758990d392b1fc":[async_test('html5lib_html5test-com.html fd2cd459bdc79db754b24bc537758990d392b1fc'), "%3Ca%20href%3D%27%5Cnbar%27%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22%5Cnbar%22"],"86be28614bf72e24c162d865c04d687447098867":[async_test('html5lib_html5test-com.html 86be28614bf72e24c162d865c04d687447098867'), "%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"be72b058e5be0f6aef2c442d83c92c0d251fcb7f":[async_test('html5lib_html5test-com.html be72b058e5be0f6aef2c442d83c92c0d251fcb7f'), "%26lang%3B%26rang%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%9F%A8%E2%9F%A9%22"],"ab6e31cf52c8d57d6dfdcaf7165f1abf7bd5e73d":[async_test('html5lib_html5test-com.html ab6e31cf52c8d57d6dfdcaf7165f1abf7bd5e73d'), "%26apos%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%27%22"],"11240d9b03b14eb515d6a1d1595c5a409830ea38":[async_test('html5lib_html5test-com.html 11240d9b03b14eb515d6a1d1595c5a409830ea38'), "%26ImaginaryI%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%85%88%22"],"809c1bebcded8f43981af902442ff8a2db5d2578":[async_test('html5lib_html5test-com.html 809c1bebcded8f43981af902442ff8a2db5d2578'), "%26Kopf%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%F0%9D%95%82%22"],"bcbeb84f40e56a642b794d514e97e3ec303d4a79":[async_test('html5lib_html5test-com.html bcbeb84f40e56a642b794d514e97e3ec303d4a79'), "%26notinva%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%88%89%22"],"1cbb987dd0a35af3a5b2e4fc11eba36a60eba03d":[async_test('html5lib_html5test-com.html 1cbb987dd0a35af3a5b2e4fc11eba36a60eba03d'), "%3C%3Fimport%20namespace%3D%22foo%22%20implementation%3D%22%23bar%22%3E", "%23document%0A%7C%20%3C%21--%20%3Fimport%20namespace%3D%22foo%22%20implementation%3D%22%23bar%22%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"5b5e75eca2f5c80e1c4d5676254b9891090e288e":[async_test('html5lib_html5test-com.html 5b5e75eca2f5c80e1c4d5676254b9891090e288e'), "%3C%21--foo--bar--%3E", "%23document%0A%7C%20%3C%21--%20foo--bar%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"93e966e2edad3297ecb159f3983bdd2dc84f829e":[async_test('html5lib_html5test-com.html 93e966e2edad3297ecb159f3983bdd2dc84f829e'), "%3C%21%5BCDATA%5Bx%5D%5D%3E", "%23document%0A%7C%20%3C%21--%20%5BCDATA%5Bx%5D%5D%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"7a02a2d7ab875dbeedc9a34c6c27b6119bd6d1f0":[async_test('html5lib_html5test-com.html 7a02a2d7ab875dbeedc9a34c6c27b6119bd6d1f0'), "%3Ctextarea%3E%3C%21--%3C/textarea%3E--%3E%3C/textarea%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%20%20%22--%3E%22"],"46615acdb9dd6231e2a65fed5bcce7e19f086d03":[async_test('html5lib_html5test-com.html 46615acdb9dd6231e2a65fed5bcce7e19f086d03'), "%3Ctextarea%3E%3C%21--%3C/textarea%3E--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%20%20%22--%3E%22"],"381de12234a699cbfb775b3ca7c679f357e7403e":[async_test('html5lib_html5test-com.html 381de12234a699cbfb775b3ca7c679f357e7403e'), "%3Cstyle%3E%3C%21--%3C/style%3E--%3E%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"72736fc894b2077928559cc4284a102635cac898":[async_test('html5lib_html5test-com.html 72736fc894b2077928559cc4284a102635cac898'), "%3Cstyle%3E%3C%21--%3C/style%3E--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"290d5e7fa9684038411e78c4b0e0ade83150eeea":[async_test('html5lib_html5test-com.html 290d5e7fa9684038411e78c4b0e0ade83150eeea'), "%3Cul%3E%3Cli%3EA%20%3C/li%3E%20%3Cli%3EB%3C/li%3E%3C/ul%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%22A%20%22%0A%7C%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22"],"a5fb9cf46ed215a61d073ae4b7e7477ba49fa5d8":[async_test('html5lib_html5test-com.html a5fb9cf46ed215a61d073ae4b7e7477ba49fa5d8'), "%3Ctable%3E%3Cform%3E%3Cinput%20type%3Dhidden%3E%3Cinput%3E%3C/form%3E%3Cdiv%3E%3C/div%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22hidden%22"],"88dea19243733a9bda26c6f5290d2c4f5bbac157":[async_test('html5lib_html5test-com.html 88dea19243733a9bda26c6f5290d2c4f5bbac157'), "%3Ci%3EA%3Cb%3EB%3Cp%3E%3C/i%3EC%3C/b%3ED", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%22C%22%0A%7C%20%20%20%20%20%20%20%22D%22"],"9906bb30ae08654f4c67bf6d97040abbca91082d":[async_test('html5lib_html5test-com.html 9906bb30ae08654f4c67bf6d97040abbca91082d'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"c6cd25ce02329e4a42b9be9ba35453532fec7599":[async_test('html5lib_html5test-com.html c6cd25ce02329e4a42b9be9ba35453532fec7599'), "%3Csvg%3E%3C/svg%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"81af3f9d6ccc2a1a1a58ace18dd530c544675610":[async_test('html5lib_html5test-com.html 81af3f9d6ccc2a1a1a58ace18dd530c544675610'), "%3Cmath%3E%3C/math%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_inbody01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_inbody01.html
new file mode 100644
index 0000000000..43064d43f1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_inbody01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_inbody01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['3e20aae3cbc7f10b28cbfc1e20b2949708872a3c','ec6b9d9dccaa3494a317afac0edfcc485b959663','cc4923612d10b2115cd03e269080ddf5463d95ae','a5ebf8808e479239966038951d5383ed65ff4eb6',];
+ var tests = {
+ "3e20aae3cbc7f10b28cbfc1e20b2949708872a3c":[async_test('html5lib_inbody01.html 3e20aae3cbc7f10b28cbfc1e20b2949708872a3c'), "%3Cbutton%3E1%3C/foo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%221%22"],"ec6b9d9dccaa3494a317afac0edfcc485b959663":[async_test('html5lib_inbody01.html ec6b9d9dccaa3494a317afac0edfcc485b959663'), "%3Cfoo%3E1%3Cp%3E2%3C/foo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22"],"cc4923612d10b2115cd03e269080ddf5463d95ae":[async_test('html5lib_inbody01.html cc4923612d10b2115cd03e269080ddf5463d95ae'), "%3Cdd%3E1%3C/foo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%20%20%221%22"],"a5ebf8808e479239966038951d5383ed65ff4eb6":[async_test('html5lib_inbody01.html a5ebf8808e479239966038951d5383ed65ff4eb6'), "%3Cfoo%3E1%3Cdd%3E2%3C/foo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_adoption01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_adoption01.html
new file mode 100644
index 0000000000..0e91fa8b20
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_adoption01.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_adoption01.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['0bf80e1546d4c221354aa9734f61713b7d64ee6d',];
+ var tests = {
+ "0bf80e1546d4c221354aa9734f61713b7d64ee6d":[async_test('html5lib_innerHTML_adoption01.html 0bf80e1546d4c221354aa9734f61713b7d64ee6d'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoob%3E%3Cfooc%3E%3Caside%3E%3C/b%3E%3C/em%3E", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%3Cfoob%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfooc%3E%0A%7C%20%3Caside%3E%0A%7C%20%20%20%3Cb%3E", 'div'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_foreign-fragment.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_foreign-fragment.html
new file mode 100644
index 0000000000..d2c342b7ae
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_foreign-fragment.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_foreign-fragment.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['4917b7458e1fff6c5cb21d7baf6863cc9550c61e','b6d19b8ccacd2fde354df002b856f649ae91b20e','0c2411aa96ee023941778adaa11977890b232dc3','af0d0fc82bcd7e5ba5bc40f781701552b19bb862','0135b05656c198b96a9e0f94333aa2c0190ec795','60d4a82dede2a297d6306278a19897d021075c6e','f862d10d81a600b69e7fabd1474ca854ce08cca7','5d1db05a97609488e6749ff191294713aec9a90f','8804aa42daebb5ff2ab0015c6e89d8e40e7a8610','34b599e68117799324663b39aa3ba469bffb2dcb','cc2199d299947f304e204c867bed2c7e910d50cc','87965749e4321e6ea69352296e89af9372af419e','db3b9be701b6878b437ea7096ac3b7ba8c0e2b57','148291c826fd7d1d455a7636f00ce6d6f6c3e890','2007abb6eef0427335962c65b7c8d7315f508afd','2e22f45e60f67be00f4827a4ca18f6bce7d7aacb','ba901841df046ba97bff9470e995f9792cb4aba5','439bec6b2c990ad6650baef76ebfb08220b186cf','6b7a24dd43b1f9059baee275caefabbef4b2d131','0a323099fae55bee0bf410053a7b5dae30ac6621','0b4329325579cf075c3a220f1e19825804e5775f','d2f37bafc0cd3bf4530cc1f6ef2fd261e0720201','6d037965d612d849672a73f2e8649ea90907483d','5bcd7fe5efe9d5a750a8cc293db28b686644cb13','9db26efc179b9a1be9cc7ea3086e4a9554e42562','e2bb8b2426ee1452f323274b05a458d52bf2f631','387ce2642c063a59c09b0a267cb8d35000e0a5a9','849d87495f6410c685eeceaaa9ce7331aa34c347','8377205f1e8ae86e7b7f2679410ed480ddb6bdab','8f929d7038047d37e8faf1e8956c7fa4c5b6b687','4070c271e57701248ff03bc6a2b9e714b69a8d61','59e76a925187915211a6ec38d0908a30577240c0','ea8e786baa7f216bc0346e425991ec6665142d82','1b2d5a4c9bed75970b2a6d71c33e52788c736fac','3657e075c88c2088e844cfb5140d344083c0b85a','909832844e7ff22822696f30c9ad9aba08b86a25','6ed082cc506da530d3128c24b8980cb551f28c43','18609521e139b2ffea10b1cd0cab5dc133b921c4','14e07b0c2adecfe362428885346c200e89f08e66','0cb505b329a178f11563ae05fe553f33f57d01cd','b4c43a4fcdaa1a4c753674c4f92987b70d54d80b','7021fb0933e92112b94ee54b923efb6bc71e3b07','7c4b1614e2180b6649f3b02cf5c4a9d735166e1b','bdeacb9250263776c63c2c7f731717c389bdc34c','2c46c15bdba5835b0f2f0e9eb5bc8566047b7d6d','8dfcfbf823ad6c7b6f7b81efc352f29b4e41e8be','74a8a40517c6fe110f0c71af7efb56d459ea8227','0c1782eb0f62f616627f0132729d6a194f8b7546','9dc5a819afe33d6babc04edc8f92cb8045f0f006','1a7663e45ee098567d82d0fa4351794cc7ef26f9','74fc819300ea11a14c04d5840d1daf6f998be64c','fe33f97f6a5482b2663340572a0d79309199c815','dfaa71da17a62d7f5de9f180beefcf36a05ce447','822f22f8f09e3a5cc1575f17487f3138543ce138','48e58a3e03d51a1676401ad872c03b96c52d3e2e','4e716ca1a2ba1079c8e163f8ba13dfc448abbf0f','33b553bb92ae345ef57f85312ad6e04c742f151e','e4208cd58954d48c8493fdf215595a4afe21621a','6c4299f29a55fe8d2972ab3b0b8af6c8c640c88f','5ebfe160b365c3c93258b726b5aea84cc329c019','8c9adcad849281769ccf069a48dbf6a530f97394','ce74a1ba339d07982908cc088c9057957a442b3e','b941cd3ca955b1025061b0ff0cda775f0edd16bc','69fb90a251264e4e80762fa9acecd2c0bffc0c4c','f856588390b813aafc272f42800d31ba9a4844e6','4c871c875e73e61adb24de1d18fad01363982e21',];
+ var tests = {
+ "4917b7458e1fff6c5cb21d7baf6863cc9550c61e":[async_test('html5lib_innerHTML_foreign-fragment.html 4917b7458e1fff6c5cb21d7baf6863cc9550c61e'), "%3Cnobr%3EX", "%23document%0A%7C%20%3Cnobr%3E%0A%7C%20%20%20%22X%22", 'svg path'],"b6d19b8ccacd2fde354df002b856f649ae91b20e":[async_test('html5lib_innerHTML_foreign-fragment.html b6d19b8ccacd2fde354df002b856f649ae91b20e'), "%3Cfont%20color%3E%3C/font%3EX", "%23document%0A%7C%20%3Cfont%3E%0A%7C%20%20%20color%3D%22%22%0A%7C%20%22X%22", 'svg path'],"0c2411aa96ee023941778adaa11977890b232dc3":[async_test('html5lib_innerHTML_foreign-fragment.html 0c2411aa96ee023941778adaa11977890b232dc3'), "%3Cfont%3E%3C/font%3EX", "%23document%0A%7C%20%3Csvg%20font%3E%0A%7C%20%22X%22", 'svg path'],"af0d0fc82bcd7e5ba5bc40f781701552b19bb862":[async_test('html5lib_innerHTML_foreign-fragment.html af0d0fc82bcd7e5ba5bc40f781701552b19bb862'), "%3Cg%3E%3C/path%3EX", "%23document%0A%7C%20%3Csvg%20g%3E%0A%7C%20%20%20%22X%22", 'svg path'],"0135b05656c198b96a9e0f94333aa2c0190ec795":[async_test('html5lib_innerHTML_foreign-fragment.html 0135b05656c198b96a9e0f94333aa2c0190ec795'), "%3C/path%3EX", "%23document%0A%7C%20%22X%22", 'svg path'],"60d4a82dede2a297d6306278a19897d021075c6e":[async_test('html5lib_innerHTML_foreign-fragment.html 60d4a82dede2a297d6306278a19897d021075c6e'), "%3C/foreignObject%3EX", "%23document%0A%7C%20%22X%22", 'svg foreignObject'],"f862d10d81a600b69e7fabd1474ca854ce08cca7":[async_test('html5lib_innerHTML_foreign-fragment.html f862d10d81a600b69e7fabd1474ca854ce08cca7'), "%3C/desc%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"5d1db05a97609488e6749ff191294713aec9a90f":[async_test('html5lib_innerHTML_foreign-fragment.html 5d1db05a97609488e6749ff191294713aec9a90f'), "%3C/title%3EX", "%23document%0A%7C%20%22X%22", 'svg title'],"8804aa42daebb5ff2ab0015c6e89d8e40e7a8610":[async_test('html5lib_innerHTML_foreign-fragment.html 8804aa42daebb5ff2ab0015c6e89d8e40e7a8610'), "%3C/svg%3EX", "%23document%0A%7C%20%22X%22", 'svg svg'],"34b599e68117799324663b39aa3ba469bffb2dcb":[async_test('html5lib_innerHTML_foreign-fragment.html 34b599e68117799324663b39aa3ba469bffb2dcb'), "%3C/mfenced%3EX", "%23document%0A%7C%20%22X%22", 'math mfenced'],"cc2199d299947f304e204c867bed2c7e910d50cc":[async_test('html5lib_innerHTML_foreign-fragment.html cc2199d299947f304e204c867bed2c7e910d50cc'), "%3C/malignmark%3EX", "%23document%0A%7C%20%22X%22", 'math malignmark'],"87965749e4321e6ea69352296e89af9372af419e":[async_test('html5lib_innerHTML_foreign-fragment.html 87965749e4321e6ea69352296e89af9372af419e'), "%3C/math%3EX", "%23document%0A%7C%20%22X%22", 'math math'],"db3b9be701b6878b437ea7096ac3b7ba8c0e2b57":[async_test('html5lib_innerHTML_foreign-fragment.html db3b9be701b6878b437ea7096ac3b7ba8c0e2b57'), "%3C/annotation-xml%3EX", "%23document%0A%7C%20%22X%22", 'math annotation-xml'],"148291c826fd7d1d455a7636f00ce6d6f6c3e890":[async_test('html5lib_innerHTML_foreign-fragment.html 148291c826fd7d1d455a7636f00ce6d6f6c3e890'), "%3C/mtext%3EX", "%23document%0A%7C%20%22X%22", 'math mtext'],"2007abb6eef0427335962c65b7c8d7315f508afd":[async_test('html5lib_innerHTML_foreign-fragment.html 2007abb6eef0427335962c65b7c8d7315f508afd'), "%3C/mi%3EX", "%23document%0A%7C%20%22X%22", 'math mi'],"2e22f45e60f67be00f4827a4ca18f6bce7d7aacb":[async_test('html5lib_innerHTML_foreign-fragment.html 2e22f45e60f67be00f4827a4ca18f6bce7d7aacb'), "%3C/mo%3EX", "%23document%0A%7C%20%22X%22", 'math mo'],"ba901841df046ba97bff9470e995f9792cb4aba5":[async_test('html5lib_innerHTML_foreign-fragment.html ba901841df046ba97bff9470e995f9792cb4aba5'), "%3C/mn%3EX", "%23document%0A%7C%20%22X%22", 'math mn'],"439bec6b2c990ad6650baef76ebfb08220b186cf":[async_test('html5lib_innerHTML_foreign-fragment.html 439bec6b2c990ad6650baef76ebfb08220b186cf'), "%3C/ms%3EX", "%23document%0A%7C%20%22X%22", 'math ms'],"6b7a24dd43b1f9059baee275caefabbef4b2d131":[async_test('html5lib_innerHTML_foreign-fragment.html 6b7a24dd43b1f9059baee275caefabbef4b2d131'), "%3Cb%3E%3C/b%3E%3Cmglyph/%3E%3Ci%3E%3C/i%3E%3Cmalignmark/%3E%3Cu%3E%3C/u%3E%3Cms/%3EX", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%3Cmath%20mglyph%3E%0A%7C%20%3Ci%3E%0A%7C%20%3Cmath%20malignmark%3E%0A%7C%20%3Cu%3E%0A%7C%20%3Cms%3E%0A%7C%20%20%20%22X%22", 'math ms'],"0a323099fae55bee0bf410053a7b5dae30ac6621":[async_test('html5lib_innerHTML_foreign-fragment.html 0a323099fae55bee0bf410053a7b5dae30ac6621'), "%3Cmalignmark%3E%3C/malignmark%3E", "%23document%0A%7C%20%3Cmath%20malignmark%3E", 'math ms'],"0b4329325579cf075c3a220f1e19825804e5775f":[async_test('html5lib_innerHTML_foreign-fragment.html 0b4329325579cf075c3a220f1e19825804e5775f'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math ms'],"d2f37bafc0cd3bf4530cc1f6ef2fd261e0720201":[async_test('html5lib_innerHTML_foreign-fragment.html d2f37bafc0cd3bf4530cc1f6ef2fd261e0720201'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'math ms'],"6d037965d612d849672a73f2e8649ea90907483d":[async_test('html5lib_innerHTML_foreign-fragment.html 6d037965d612d849672a73f2e8649ea90907483d'), "%3Cb%3E%3C/b%3E%3Cmglyph/%3E%3Ci%3E%3C/i%3E%3Cmalignmark/%3E%3Cu%3E%3C/u%3E%3Cmn/%3EX", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%3Cmath%20mglyph%3E%0A%7C%20%3Ci%3E%0A%7C%20%3Cmath%20malignmark%3E%0A%7C%20%3Cu%3E%0A%7C%20%3Cmn%3E%0A%7C%20%20%20%22X%22", 'math mn'],"5bcd7fe5efe9d5a750a8cc293db28b686644cb13":[async_test('html5lib_innerHTML_foreign-fragment.html 5bcd7fe5efe9d5a750a8cc293db28b686644cb13'), "%3Cmalignmark%3E%3C/malignmark%3E", "%23document%0A%7C%20%3Cmath%20malignmark%3E", 'math mn'],"9db26efc179b9a1be9cc7ea3086e4a9554e42562":[async_test('html5lib_innerHTML_foreign-fragment.html 9db26efc179b9a1be9cc7ea3086e4a9554e42562'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math mn'],"e2bb8b2426ee1452f323274b05a458d52bf2f631":[async_test('html5lib_innerHTML_foreign-fragment.html e2bb8b2426ee1452f323274b05a458d52bf2f631'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'math mn'],"387ce2642c063a59c09b0a267cb8d35000e0a5a9":[async_test('html5lib_innerHTML_foreign-fragment.html 387ce2642c063a59c09b0a267cb8d35000e0a5a9'), "%3Cb%3E%3C/b%3E%3Cmglyph/%3E%3Ci%3E%3C/i%3E%3Cmalignmark/%3E%3Cu%3E%3C/u%3E%3Cmo/%3EX", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%3Cmath%20mglyph%3E%0A%7C%20%3Ci%3E%0A%7C%20%3Cmath%20malignmark%3E%0A%7C%20%3Cu%3E%0A%7C%20%3Cmo%3E%0A%7C%20%20%20%22X%22", 'math mo'],"849d87495f6410c685eeceaaa9ce7331aa34c347":[async_test('html5lib_innerHTML_foreign-fragment.html 849d87495f6410c685eeceaaa9ce7331aa34c347'), "%3Cmalignmark%3E%3C/malignmark%3E", "%23document%0A%7C%20%3Cmath%20malignmark%3E", 'math mo'],"8377205f1e8ae86e7b7f2679410ed480ddb6bdab":[async_test('html5lib_innerHTML_foreign-fragment.html 8377205f1e8ae86e7b7f2679410ed480ddb6bdab'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math mo'],"8f929d7038047d37e8faf1e8956c7fa4c5b6b687":[async_test('html5lib_innerHTML_foreign-fragment.html 8f929d7038047d37e8faf1e8956c7fa4c5b6b687'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'math mo'],"4070c271e57701248ff03bc6a2b9e714b69a8d61":[async_test('html5lib_innerHTML_foreign-fragment.html 4070c271e57701248ff03bc6a2b9e714b69a8d61'), "%3Cb%3E%3C/b%3E%3Cmglyph/%3E%3Ci%3E%3C/i%3E%3Cmalignmark/%3E%3Cu%3E%3C/u%3E%3Cmi/%3EX", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%3Cmath%20mglyph%3E%0A%7C%20%3Ci%3E%0A%7C%20%3Cmath%20malignmark%3E%0A%7C%20%3Cu%3E%0A%7C%20%3Cmi%3E%0A%7C%20%20%20%22X%22", 'math mi'],"59e76a925187915211a6ec38d0908a30577240c0":[async_test('html5lib_innerHTML_foreign-fragment.html 59e76a925187915211a6ec38d0908a30577240c0'), "%3Cmalignmark%3E%3C/malignmark%3E", "%23document%0A%7C%20%3Cmath%20malignmark%3E", 'math mi'],"ea8e786baa7f216bc0346e425991ec6665142d82":[async_test('html5lib_innerHTML_foreign-fragment.html ea8e786baa7f216bc0346e425991ec6665142d82'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math mi'],"1b2d5a4c9bed75970b2a6d71c33e52788c736fac":[async_test('html5lib_innerHTML_foreign-fragment.html 1b2d5a4c9bed75970b2a6d71c33e52788c736fac'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'math mi'],"3657e075c88c2088e844cfb5140d344083c0b85a":[async_test('html5lib_innerHTML_foreign-fragment.html 3657e075c88c2088e844cfb5140d344083c0b85a'), "%3Cb%3E%3C/b%3E%3Cmglyph/%3E%3Ci%3E%3C/i%3E%3Cmalignmark/%3E%3Cu%3E%3C/u%3E%3Cmtext/%3EX", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%3Cmath%20mglyph%3E%0A%7C%20%3Ci%3E%0A%7C%20%3Cmath%20malignmark%3E%0A%7C%20%3Cu%3E%0A%7C%20%3Cmtext%3E%0A%7C%20%20%20%22X%22", 'math mtext'],"909832844e7ff22822696f30c9ad9aba08b86a25":[async_test('html5lib_innerHTML_foreign-fragment.html 909832844e7ff22822696f30c9ad9aba08b86a25'), "%3Cmalignmark%3E%3C/malignmark%3E", "%23document%0A%7C%20%3Cmath%20malignmark%3E", 'math mtext'],"6ed082cc506da530d3128c24b8980cb551f28c43":[async_test('html5lib_innerHTML_foreign-fragment.html 6ed082cc506da530d3128c24b8980cb551f28c43'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math mtext'],"18609521e139b2ffea10b1cd0cab5dc133b921c4":[async_test('html5lib_innerHTML_foreign-fragment.html 18609521e139b2ffea10b1cd0cab5dc133b921c4'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'math mtext'],"14e07b0c2adecfe362428885346c200e89f08e66":[async_test('html5lib_innerHTML_foreign-fragment.html 14e07b0c2adecfe362428885346c200e89f08e66'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math annotation-xml'],"0cb505b329a178f11563ae05fe553f33f57d01cd":[async_test('html5lib_innerHTML_foreign-fragment.html 0cb505b329a178f11563ae05fe553f33f57d01cd'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cmath%20figure%3E", 'math annotation-xml'],"b4c43a4fcdaa1a4c753674c4f92987b70d54d80b":[async_test('html5lib_innerHTML_foreign-fragment.html b4c43a4fcdaa1a4c753674c4f92987b70d54d80b'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'math math'],"7021fb0933e92112b94ee54b923efb6bc71e3b07":[async_test('html5lib_innerHTML_foreign-fragment.html 7021fb0933e92112b94ee54b923efb6bc71e3b07'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cmath%20figure%3E", 'math math'],"7c4b1614e2180b6649f3b02cf5c4a9d735166e1b":[async_test('html5lib_innerHTML_foreign-fragment.html 7c4b1614e2180b6649f3b02cf5c4a9d735166e1b'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'svg foreignObject'],"bdeacb9250263776c63c2c7f731717c389bdc34c":[async_test('html5lib_innerHTML_foreign-fragment.html bdeacb9250263776c63c2c7f731717c389bdc34c'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'svg foreignObject'],"2c46c15bdba5835b0f2f0e9eb5bc8566047b7d6d":[async_test('html5lib_innerHTML_foreign-fragment.html 2c46c15bdba5835b0f2f0e9eb5bc8566047b7d6d'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'svg title'],"8dfcfbf823ad6c7b6f7b81efc352f29b4e41e8be":[async_test('html5lib_innerHTML_foreign-fragment.html 8dfcfbf823ad6c7b6f7b81efc352f29b4e41e8be'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'svg title'],"74a8a40517c6fe110f0c71af7efb56d459ea8227":[async_test('html5lib_innerHTML_foreign-fragment.html 74a8a40517c6fe110f0c71af7efb56d459ea8227'), "%3Cfigure%3E%3C/figure%3E", "%23document%0A%7C%20%3Cfigure%3E", 'svg desc'],"0c1782eb0f62f616627f0132729d6a194f8b7546":[async_test('html5lib_innerHTML_foreign-fragment.html 0c1782eb0f62f616627f0132729d6a194f8b7546'), "%3Cdiv%3E%3Ch1%3EX%3C/h1%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E%0A%7C%20%20%20%3Ch1%3E%0A%7C%20%20%20%20%20%22X%22", 'svg svg'],"9dc5a819afe33d6babc04edc8f92cb8045f0f006":[async_test('html5lib_innerHTML_foreign-fragment.html 9dc5a819afe33d6babc04edc8f92cb8045f0f006'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'svg svg'],"1a7663e45ee098567d82d0fa4351794cc7ef26f9":[async_test('html5lib_innerHTML_foreign-fragment.html 1a7663e45ee098567d82d0fa4351794cc7ef26f9'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Cdiv%3E", 'svg desc'],"74fc819300ea11a14c04d5840d1daf6f998be64c":[async_test('html5lib_innerHTML_foreign-fragment.html 74fc819300ea11a14c04d5840d1daf6f998be64c'), "%3Cplaintext%3E%3Cfoo%3E", "%23document%0A%7C%20%3Cplaintext%3E%0A%7C%20%20%20%22%3Cfoo%3E%22", 'svg desc'],"fe33f97f6a5482b2663340572a0d79309199c815":[async_test('html5lib_innerHTML_foreign-fragment.html fe33f97f6a5482b2663340572a0d79309199c815'), "%3Cframeset%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"dfaa71da17a62d7f5de9f180beefcf36a05ce447":[async_test('html5lib_innerHTML_foreign-fragment.html dfaa71da17a62d7f5de9f180beefcf36a05ce447'), "%3Chead%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"822f22f8f09e3a5cc1575f17487f3138543ce138":[async_test('html5lib_innerHTML_foreign-fragment.html 822f22f8f09e3a5cc1575f17487f3138543ce138'), "%3Cbody%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"48e58a3e03d51a1676401ad872c03b96c52d3e2e":[async_test('html5lib_innerHTML_foreign-fragment.html 48e58a3e03d51a1676401ad872c03b96c52d3e2e'), "%3Chtml%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"4e716ca1a2ba1079c8e163f8ba13dfc448abbf0f":[async_test('html5lib_innerHTML_foreign-fragment.html 4e716ca1a2ba1079c8e163f8ba13dfc448abbf0f'), "%3Chtml%20class%3D%22foo%22%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"33b553bb92ae345ef57f85312ad6e04c742f151e":[async_test('html5lib_innerHTML_foreign-fragment.html 33b553bb92ae345ef57f85312ad6e04c742f151e'), "%3Cbody%20class%3D%22foo%22%3EX", "%23document%0A%7C%20%22X%22", 'svg desc'],"e4208cd58954d48c8493fdf215595a4afe21621a":[async_test('html5lib_innerHTML_foreign-fragment.html e4208cd58954d48c8493fdf215595a4afe21621a'), "%3Csvg%3E%3Cp%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%3Cp%3E", 'div'],"6c4299f29a55fe8d2972ab3b0b8af6c8c640c88f":[async_test('html5lib_innerHTML_foreign-fragment.html 6c4299f29a55fe8d2972ab3b0b8af6c8c640c88f'), "%3Cp%3E", "%23document%0A%7C%20%3Cp%3E", 'svg svg'],"5ebfe160b365c3c93258b726b5aea84cc329c019":[async_test('html5lib_innerHTML_foreign-fragment.html 5ebfe160b365c3c93258b726b5aea84cc329c019'), "%3Csvg%3E%3C/p%3E%3Cfoo%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%3Cp%3E%0A%7C%20%3Cfoo%3E", 'div'],"8c9adcad849281769ccf069a48dbf6a530f97394":[async_test('html5lib_innerHTML_foreign-fragment.html 8c9adcad849281769ccf069a48dbf6a530f97394'), "%3Csvg%3E%3C/br%3E%3Cfoo%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%3Cbr%3E%0A%7C%20%3Cfoo%3E", 'div'],"ce74a1ba339d07982908cc088c9057957a442b3e":[async_test('html5lib_innerHTML_foreign-fragment.html ce74a1ba339d07982908cc088c9057957a442b3e'), "%3C/p%3E%3Cfoo%3E", "%23document%0A%7C%20%3Cp%3E%0A%7C%20%3Csvg%20foo%3E", 'svg svg'],"b941cd3ca955b1025061b0ff0cda775f0edd16bc":[async_test('html5lib_innerHTML_foreign-fragment.html b941cd3ca955b1025061b0ff0cda775f0edd16bc'), "%3C/br%3E%3Cfoo%3E", "%23document%0A%7C%20%3Cbr%3E%0A%7C%20%3Csvg%20foo%3E", 'svg svg'],"69fb90a251264e4e80762fa9acecd2c0bffc0c4c":[async_test('html5lib_innerHTML_foreign-fragment.html 69fb90a251264e4e80762fa9acecd2c0bffc0c4c'), "%3Cbody%3E%3Cfoo%3E", "%23document%0A%7C%20%3Csvg%20foo%3E", 'svg svg'],"f856588390b813aafc272f42800d31ba9a4844e6":[async_test('html5lib_innerHTML_foreign-fragment.html f856588390b813aafc272f42800d31ba9a4844e6'), "%3Cp%3E%3Cfoo%3E", "%23document%0A%7C%20%3Cp%3E%0A%7C%20%20%20%3Cfoo%3E", 'svg svg'],"4c871c875e73e61adb24de1d18fad01363982e21":[async_test('html5lib_innerHTML_foreign-fragment.html 4c871c875e73e61adb24de1d18fad01363982e21'), "%3Cp%3E%3C/p%3E%3Cfoo%3E", "%23document%0A%7C%20%3Cp%3E%0A%7C%20%3Csvg%20foo%3E", 'svg svg'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_math.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_math.html
new file mode 100644
index 0000000000..efa9b8ae7c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_math.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_math.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['0e7e70d0dcf0c26593203b36cac4fa7f6325613e','fa7d4a31838dbcc16bf73672f2f4486cca185673','d9d2e4c0e926a91f5e704846cdbc855e3cb21949','c04b203803f6b3bec3db65db16854e7e624d13ef','4f95d47164955a6b163935fd8ac89ea200767330','e942ee6666e1dc938aab10fc2374a2240806b439','3537413f7f8166cb0c3a324fef8261be5628611d','c0186fb0fe26b48bcd82d58ebe0c90a423f26c28',];
+ var tests = {
+ "0e7e70d0dcf0c26593203b36cac4fa7f6325613e":[async_test('html5lib_innerHTML_math.html 0e7e70d0dcf0c26593203b36cac4fa7f6325613e'), "%3Cmath%3E%3Ctr%3E%3Ctd%3E%3Cmo%3E%3Ctr%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20tr%3E%0A%7C%20%20%20%20%20%3Cmath%20td%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mo%3E", 'td'],"fa7d4a31838dbcc16bf73672f2f4486cca185673":[async_test('html5lib_innerHTML_math.html fa7d4a31838dbcc16bf73672f2f4486cca185673'), "%3Cmath%3E%3Ctr%3E%3Ctd%3E%3Cmo%3E%3Ctr%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20tr%3E%0A%7C%20%20%20%20%20%3Cmath%20td%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mo%3E", 'tr'],"d9d2e4c0e926a91f5e704846cdbc855e3cb21949":[async_test('html5lib_innerHTML_math.html d9d2e4c0e926a91f5e704846cdbc855e3cb21949'), "%3Cmath%3E%3Cthead%3E%3Cmo%3E%3Ctbody%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20thead%3E%0A%7C%20%20%20%20%20%3Cmath%20mo%3E", 'thead'],"c04b203803f6b3bec3db65db16854e7e624d13ef":[async_test('html5lib_innerHTML_math.html c04b203803f6b3bec3db65db16854e7e624d13ef'), "%3Cmath%3E%3Ctfoot%3E%3Cmo%3E%3Ctbody%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20tfoot%3E%0A%7C%20%20%20%20%20%3Cmath%20mo%3E", 'tfoot'],"4f95d47164955a6b163935fd8ac89ea200767330":[async_test('html5lib_innerHTML_math.html 4f95d47164955a6b163935fd8ac89ea200767330'), "%3Cmath%3E%3Ctbody%3E%3Cmo%3E%3Ctfoot%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20tbody%3E%0A%7C%20%20%20%20%20%3Cmath%20mo%3E", 'tbody'],"e942ee6666e1dc938aab10fc2374a2240806b439":[async_test('html5lib_innerHTML_math.html e942ee6666e1dc938aab10fc2374a2240806b439'), "%3Cmath%3E%3Ctbody%3E%3Cmo%3E%3C/table%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20tbody%3E%0A%7C%20%20%20%20%20%3Cmath%20mo%3E", 'tbody'],"3537413f7f8166cb0c3a324fef8261be5628611d":[async_test('html5lib_innerHTML_math.html 3537413f7f8166cb0c3a324fef8261be5628611d'), "%3Cmath%3E%3Cthead%3E%3Cmo%3E%3C/table%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20thead%3E%0A%7C%20%20%20%20%20%3Cmath%20mo%3E", 'tbody'],"c0186fb0fe26b48bcd82d58ebe0c90a423f26c28":[async_test('html5lib_innerHTML_math.html c0186fb0fe26b48bcd82d58ebe0c90a423f26c28'), "%3Cmath%3E%3Ctfoot%3E%3Cmo%3E%3C/table%3E", "%23document%0A%7C%20%3Cmath%20math%3E%0A%7C%20%20%20%3Cmath%20tfoot%3E%0A%7C%20%20%20%20%20%3Cmath%20mo%3E", 'tbody'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_svg.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_svg.html
new file mode 100644
index 0000000000..1fa379d88d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_svg.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_svg.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['9de06fc8491759163a4b2a4e17015c94cab31f13','f4ffd3073d887daeb6b5d293547f3596a6bbe2b3','3abfcccd524311a4afcc0057334c8364616fd830','70fbdb7f147b21143966af3a9467f716cc314637','44994fe2eb6af6ad3511781f23bafcdd2d24692c','a148d278cbb59d5eadc1c6a5576c7887dcadb74e','f1746231c89e495dc6b9d114d6d2f52876a1f5f5','1689d7c8f41a57eb15235d337028f3fe44764349',];
+ var tests = {
+ "9de06fc8491759163a4b2a4e17015c94cab31f13":[async_test('html5lib_innerHTML_svg.html 9de06fc8491759163a4b2a4e17015c94cab31f13'), "%3Csvg%3E%3Ctr%3E%3Ctd%3E%3Ctitle%3E%3Ctr%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20tr%3E%0A%7C%20%20%20%20%20%3Csvg%20td%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E", 'td'],"f4ffd3073d887daeb6b5d293547f3596a6bbe2b3":[async_test('html5lib_innerHTML_svg.html f4ffd3073d887daeb6b5d293547f3596a6bbe2b3'), "%3Csvg%3E%3Ctr%3E%3Ctd%3E%3Ctitle%3E%3Ctr%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20tr%3E%0A%7C%20%20%20%20%20%3Csvg%20td%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E", 'tr'],"3abfcccd524311a4afcc0057334c8364616fd830":[async_test('html5lib_innerHTML_svg.html 3abfcccd524311a4afcc0057334c8364616fd830'), "%3Csvg%3E%3Cthead%3E%3Ctitle%3E%3Ctbody%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20thead%3E%0A%7C%20%20%20%20%20%3Csvg%20title%3E", 'thead'],"70fbdb7f147b21143966af3a9467f716cc314637":[async_test('html5lib_innerHTML_svg.html 70fbdb7f147b21143966af3a9467f716cc314637'), "%3Csvg%3E%3Ctfoot%3E%3Ctitle%3E%3Ctbody%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20tfoot%3E%0A%7C%20%20%20%20%20%3Csvg%20title%3E", 'tfoot'],"44994fe2eb6af6ad3511781f23bafcdd2d24692c":[async_test('html5lib_innerHTML_svg.html 44994fe2eb6af6ad3511781f23bafcdd2d24692c'), "%3Csvg%3E%3Ctbody%3E%3Ctitle%3E%3Ctfoot%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20tbody%3E%0A%7C%20%20%20%20%20%3Csvg%20title%3E", 'tbody'],"a148d278cbb59d5eadc1c6a5576c7887dcadb74e":[async_test('html5lib_innerHTML_svg.html a148d278cbb59d5eadc1c6a5576c7887dcadb74e'), "%3Csvg%3E%3Ctbody%3E%3Ctitle%3E%3C/table%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20tbody%3E%0A%7C%20%20%20%20%20%3Csvg%20title%3E", 'tbody'],"f1746231c89e495dc6b9d114d6d2f52876a1f5f5":[async_test('html5lib_innerHTML_svg.html f1746231c89e495dc6b9d114d6d2f52876a1f5f5'), "%3Csvg%3E%3Cthead%3E%3Ctitle%3E%3C/table%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20thead%3E%0A%7C%20%20%20%20%20%3Csvg%20title%3E", 'tbody'],"1689d7c8f41a57eb15235d337028f3fe44764349":[async_test('html5lib_innerHTML_svg.html 1689d7c8f41a57eb15235d337028f3fe44764349'), "%3Csvg%3E%3Ctfoot%3E%3Ctitle%3E%3C/table%3E", "%23document%0A%7C%20%3Csvg%20svg%3E%0A%7C%20%20%20%3Csvg%20tfoot%3E%0A%7C%20%20%20%20%20%3Csvg%20title%3E", 'tbody'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_template.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_template.html
new file mode 100644
index 0000000000..19dc555a79
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_template.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_template.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['64d3e0e4395745b6ea928e5f5cf888bf675a598b',];
+ var tests = {
+ "64d3e0e4395745b6ea928e5f5cf888bf675a598b":[async_test('html5lib_innerHTML_template.html 64d3e0e4395745b6ea928e5f5cf888bf675a598b'), "%3Ctemplate%3E%3Cform%3E%3Cinput%20name%3D%22q%22%3E%3C/form%3E%3Cdiv%3Esecond%3C/div%3E%3C/template%3E", "%23document%0A%7C%20%3Ctemplate%3E%0A%7C%20%20%20content%0A%7C%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20name%3D%22q%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22second%22", 'template'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests4.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests4.html
new file mode 100644
index 0000000000..3c54fff107
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests4.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_tests4.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['8c692a23f8c9b5860cf06fb334041d2e97e96f5c','95cb768746a1ca7ac02d39c0bb2b10d9e965e37c','06bd3583493359d112d19765f68fac3901267408','48d8375ef2d9d73bd133f2947858a3450a988d53','36fb2178fbdfa1b32701a9d9214c3fd115fd7184','d373bc3abdda01b17a6055af21b16c151dd1d697','4f91b1d4c6e2bbc0595c9effc490b7357e9cefc2','38b248763fb49ca6c1abc2f2f9d9e502c5ed5041','054c57cdb4b945b7273a4627a68f470705640e3e',];
+ var tests = {
+ "8c692a23f8c9b5860cf06fb334041d2e97e96f5c":[async_test('html5lib_innerHTML_tests4.html 8c692a23f8c9b5860cf06fb334041d2e97e96f5c'), "direct%20div%20content", "%23document%0A%7C%20%22direct%20div%20content%22", 'div'],"95cb768746a1ca7ac02d39c0bb2b10d9e965e37c":[async_test('html5lib_innerHTML_tests4.html 95cb768746a1ca7ac02d39c0bb2b10d9e965e37c'), "direct%20textarea%20content", "%23document%0A%7C%20%22direct%20textarea%20content%22", 'textarea'],"06bd3583493359d112d19765f68fac3901267408":[async_test('html5lib_innerHTML_tests4.html 06bd3583493359d112d19765f68fac3901267408'), "textarea%20content%20with%20%3Cem%3Epseudo%3C/em%3E%20%3Cfoo%3Emarkup", "%23document%0A%7C%20%22textarea%20content%20with%20%3Cem%3Epseudo%3C/em%3E%20%3Cfoo%3Emarkup%22", 'textarea'],"48d8375ef2d9d73bd133f2947858a3450a988d53":[async_test('html5lib_innerHTML_tests4.html 48d8375ef2d9d73bd133f2947858a3450a988d53'), "this%20is%20%26%23x0043%3BDATA%20inside%20a%20%3Cstyle%3E%20element", "%23document%0A%7C%20%22this%20is%20%26%23x0043%3BDATA%20inside%20a%20%3Cstyle%3E%20element%22", 'style'],"36fb2178fbdfa1b32701a9d9214c3fd115fd7184":[async_test('html5lib_innerHTML_tests4.html 36fb2178fbdfa1b32701a9d9214c3fd115fd7184'), "%3C/plaintext%3E", "%23document%0A%7C%20%22%3C/plaintext%3E%22", 'plaintext'],"d373bc3abdda01b17a6055af21b16c151dd1d697":[async_test('html5lib_innerHTML_tests4.html d373bc3abdda01b17a6055af21b16c151dd1d697'), "setting%20html%27s%20innerHTML", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cbody%3E%0A%7C%20%20%20%22setting%20html%27s%20innerHTML%22", 'html'],"4f91b1d4c6e2bbc0595c9effc490b7357e9cefc2":[async_test('html5lib_innerHTML_tests4.html 4f91b1d4c6e2bbc0595c9effc490b7357e9cefc2'), "%3Ctitle%3Esetting%20head%27s%20innerHTML%3C/title%3E", "%23document%0A%7C%20%3Ctitle%3E%0A%7C%20%20%20%22setting%20head%27s%20innerHTML%22", 'head'],"38b248763fb49ca6c1abc2f2f9d9e502c5ed5041":[async_test('html5lib_innerHTML_tests4.html 38b248763fb49ca6c1abc2f2f9d9e502c5ed5041'), "direct%20%3Ctitle%3E%20content", "%23document%0A%7C%20%22direct%20%3Ctitle%3E%20content%22", 'title'],"054c57cdb4b945b7273a4627a68f470705640e3e":[async_test('html5lib_innerHTML_tests4.html 054c57cdb4b945b7273a4627a68f470705640e3e'), "%3C%21--%20inside%20%3C/script%3E%20--%3E", "%23document%0A%7C%20%22%3C%21--%20inside%20%3C/script%3E%20--%3E%22", 'script'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests6.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests6.html
new file mode 100644
index 0000000000..d0e623080f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests6.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_tests6.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['ccb245e2f1d9fe1580235854daa1a124525aca61','ed2b0f8fe477e3a6a0d9052b46bd94e628fb666a','ed4acc4544b7ee83072a3c2ae078e3cbaf8303fb','28f111cdfb84bfa4a70b57e3aeec1f0aa13337de','616bd17e481973f9fe286aa30727ee22850fc31e','1cfb3baf2ad29109ddd5581daa3a009029c71491','98ba377bacd2ec343919bdc589116eabf94402d5','7cf2db8c65b79da98e39b13772ed0440ff177fd7','cb78efe1d4f4279be6c0a363cce643b3591efdc5','82911b0551c00e9971dd1491f8f2d2782aa3ac63','a3ff1f1809e8018b725620f1d04b6ebb24fda9a4','e35e330f7eb5bb27df1fe702843747e104a193be','c1dc3add1fcb1f506ea395691a710eb8e727b123',];
+ var tests = {
+ "ccb245e2f1d9fe1580235854daa1a124525aca61":[async_test('html5lib_innerHTML_tests6.html ccb245e2f1d9fe1580235854daa1a124525aca61'), "%3Cbody%3E%0A%3Cdiv%3E", "%23document%0A%7C%20%22%0A%22%0A%7C%20%3Cdiv%3E", 'div'],"ed2b0f8fe477e3a6a0d9052b46bd94e628fb666a":[async_test('html5lib_innerHTML_tests6.html ed2b0f8fe477e3a6a0d9052b46bd94e628fb666a'), "%3C/caption%3E%3Cdiv%3E", "%23document%0A%7C%20%3Cdiv%3E", 'caption'],"ed4acc4544b7ee83072a3c2ae078e3cbaf8303fb":[async_test('html5lib_innerHTML_tests6.html ed4acc4544b7ee83072a3c2ae078e3cbaf8303fb'), "%3C/table%3E%3Cdiv%3E", "%23document%0A%7C%20%3Cdiv%3E", 'caption'],"28f111cdfb84bfa4a70b57e3aeec1f0aa13337de":[async_test('html5lib_innerHTML_tests6.html 28f111cdfb84bfa4a70b57e3aeec1f0aa13337de'), "%3C/table%3E%3C/tbody%3E%3C/tfoot%3E%3C/thead%3E%3C/tr%3E%3Cdiv%3E", "%23document%0A%7C%20%3Cdiv%3E", 'td'],"616bd17e481973f9fe286aa30727ee22850fc31e":[async_test('html5lib_innerHTML_tests6.html 616bd17e481973f9fe286aa30727ee22850fc31e'), "foo%3Ccol%3E", "%23document%0A%7C%20%3Ccol%3E", 'colgroup'],"1cfb3baf2ad29109ddd5581daa3a009029c71491":[async_test('html5lib_innerHTML_tests6.html 1cfb3baf2ad29109ddd5581daa3a009029c71491'), "%3C/frameset%3E%3Cframe%3E", "%23document%0A%7C%20%3Cframe%3E", 'frameset'],"98ba377bacd2ec343919bdc589116eabf94402d5":[async_test('html5lib_innerHTML_tests6.html 98ba377bacd2ec343919bdc589116eabf94402d5'), "%3C/body%3E%3Cdiv%3E", "%23document%0A%7C%20%3Cdiv%3E", 'body'],"7cf2db8c65b79da98e39b13772ed0440ff177fd7":[async_test('html5lib_innerHTML_tests6.html 7cf2db8c65b79da98e39b13772ed0440ff177fd7'), "%3C/tr%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"cb78efe1d4f4279be6c0a363cce643b3591efdc5":[async_test('html5lib_innerHTML_tests6.html cb78efe1d4f4279be6c0a363cce643b3591efdc5'), "%3C/tbody%3E%3C/tfoot%3E%3C/thead%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"82911b0551c00e9971dd1491f8f2d2782aa3ac63":[async_test('html5lib_innerHTML_tests6.html 82911b0551c00e9971dd1491f8f2d2782aa3ac63'), "%3Ccaption%3E%3Ccol%3E%3Ccolgroup%3E%3Ctbody%3E%3Ctfoot%3E%3Cthead%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctr%3E", 'tbody'],"a3ff1f1809e8018b725620f1d04b6ebb24fda9a4":[async_test('html5lib_innerHTML_tests6.html a3ff1f1809e8018b725620f1d04b6ebb24fda9a4'), "%3C/table%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctr%3E", 'tbody'],"e35e330f7eb5bb27df1fe702843747e104a193be":[async_test('html5lib_innerHTML_tests6.html e35e330f7eb5bb27df1fe702843747e104a193be'), "%3C/table%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"c1dc3add1fcb1f506ea395691a710eb8e727b123":[async_test('html5lib_innerHTML_tests6.html c1dc3add1fcb1f506ea395691a710eb8e727b123'), "%3Cbody%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cbody%3E", 'html'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests7.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests7.html
new file mode 100644
index 0000000000..a73d767101
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests7.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_tests7.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['7aabda442dc7b37110c3d03b1465fa893dc25625',];
+ var tests = {
+ "7aabda442dc7b37110c3d03b1465fa893dc25625":[async_test('html5lib_innerHTML_tests7.html 7aabda442dc7b37110c3d03b1465fa893dc25625'), "%3Cbody%3EX%3C/body%3E%3C/body%3E", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cbody%3E%0A%7C%20%20%20%22X%22", 'html'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html
new file mode 100644
index 0000000000..0658d768db
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_tests_innerHTML_1.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['7a9e287595dd570e0f19b7eec0ac424228908daf','6f766fa07c8697a5379c5542adbba2a42f913004','dbbe75ae41228f9264d56a018e620217ec87fd32','32e2fea7531c0c910ac73b35665b2f8bca47a049','7fc9ad33d4bc6af760883f0581cf869f96473f2e','8883d04b33c7e718b0d201a5f0bf5aa6d98754e6','347f73ada7ab974a081c65385444cca0b6a2d446','25a03753c27ab46891e2c59665215e4657ca7177','75e9c86aff595da8999673fce99bc12741552c4e','e35e330f7eb5bb27df1fe702843747e104a193be','b55e32e22980fe99bab895005a0a757a2fcb1a2b','ce6fc19319d2568fec9084d8d4d1cc10f20b8565','b600f8c7df58e42342feff051778923dbf7616af','6056619333f1a780052612e1dda18112147f67fa','d9300c4d8d36e950490bbe5800c1a3ba4e744e2a','411ebe3bea1d0508263ec17618492feaa9ca99d7','6c7c85721f823ab889bcb9e035341a1fb6d6eeee','973d06969d7968d200d5639ce06f7209655b1e26','dfb6ec1e412a6634b497151f222f4272721ae57e','4916096ab7dbdd051dc96de7952ec60674d617a3','58277507de4ce0df9b4eb03262e4cb04d2fcc7af','8e5727f170507ba6b86c1c3bdb3a5201d3480b33','61eb343f71030688ab1a26bb980b9e4409993e3d','3548939a56a148b59781c5f930036c1528db1545','0b88a12102fba0634b44ac9f157544faeca68df6','c300553f45f4ad6e5e1da9d884fafb95f36ab05a','00a7ed4082183eba76af197418305b2d196ec7e6','5dfd84382f85ff8343a62d6bb5028996111e5017','9b1a1cd33bb3f26ec3f969f3158edf5c2db47052','8ab89f758b96bf994a21d8283d27e8ae9804b924','25add8314f59cdc264d7779f36ae4dffd1f9ad29','7104e981f6018b18766fd95109bfbffeb878cc56','28fbaa710ce3f440a56fdf909c4b8bc223a1b965','3380b0143f3d1e2edb216d388acd72702e141165','a630fb272be6de118b728a28d6ce71b296a75694','5adf8b7bd3d63a77ea1dbe6deb6741c5b92de6cd','4e0312ac349a70d07f2bb1ae154740e46e8c9a6e','987061379d2542e88d8a72ce6f0169a211d3ac41','e0798aa003863ba2be750d3e6c2e6766fea11279','586ed8e0d1395198f43ee68843d654a49169f379','8896feedef576c1ed768a4eb67f57c3dc5242fed','89f4f0f289a23d1ebfbf499c2ecd24cd35fc10b4','2c07361470533b905a7ff9a685439cad2fe35549','a36f27cbe53991c647055c95bfa250a0ab734b0d','ac28c352ae8453434e3aefb24e798a9580c1b230','f8770f97671a805b37277db7e42536b40c0804cb','469a071b520d8436e6a0f6da6f9385f5ebd8e2f8','7cf2db8c65b79da98e39b13772ed0440ff177fd7','3940fdb54783cb3c42138670a17d28e77e29e900','3b5ab5fbb3585d7215a5766f1e2377b7929b5cc6','7c4a40203d5830d36432b0f30a09cebea6e9d2e4','e6d930d4239666fdc6c0722106bd2b115b4d3fd3','c8817b3b55a437bd153e978fc5f49fbe10bb56e2','2a302c14f1983aaad9fd7abe49336d9561ed82e9','28cfddd5b5875f7044b0859ba4ce88175fcbf07e','887596c50809eeb809ad24d86c239130a42f5a46','fa3797a2d2baeb8b8b2de81f1e7f33725e6b2aad','dc0e2582ff83e60c0eb549dc3387562d3482e364','4ea02fd705291eb2d14274ebeaa0117ba2b9b306','52cc77eac9488a8bb1a2c8c695f16f8919c52044','c53ab7d84ae27de9f0937521c74eec2fd6c1b1ec','d8747a49503f3486155d77dd366e0ee8ad9512a6','03e71832c254852f206f6f0ae6f4d161a276a699','92786cfafa890c23f200dccea089ca52233ef395','11d284c2b1e2f87d28dd06b938518361fe834855','bf6aebcd54d5dead9e6d56c77b41f01ea666d8b1','4d448a4239cb4c465a21c04997d656e51fdd388f','1e8faedc427045d59305218c1aba2f545c4eb4b7','6762997c1a93b1ec65722498f3fd00f0d8129369','a162461c18d9b09734f6fe5d362b84edb4eed31f','0befc335ffd6cace344d94a35de96af22b1313a5','a23b70f1f246ba08d13b570319391b4a5c3e9456','9d5e0c25bfe921df9ea2897c027f42bc88950e69','9210d577d6deecf5ab3505af86c501c5befa0b50','c34af491c0a339db6ba63fcc478108533347319b','2c4284e6b2bb480daa50bca43bcbe29cfcdeeab4','d75277b65d0118463afeb66b478509d4e27565ab','b354df69dbe9b3ef0c42177648e3aace114cf8ea','fd3be386292ea1f411cea8e86e29595deb177d28','1cfb3baf2ad29109ddd5581daa3a009029c71491','2555d238e04f3d2853cfbc5f6dd366f82cf0e868',];
+ var tests = {
+ "7a9e287595dd570e0f19b7eec0ac424228908daf":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 7a9e287595dd570e0f19b7eec0ac424228908daf'), "%3Cbody%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E", 'body'],"6f766fa07c8697a5379c5542adbba2a42f913004":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 6f766fa07c8697a5379c5542adbba2a42f913004'), "%3Cspan%3E%3Cbody%3E", "%23document%0A%7C%20%3Cspan%3E", 'body'],"dbbe75ae41228f9264d56a018e620217ec87fd32":[async_test('html5lib_innerHTML_tests_innerHTML_1.html dbbe75ae41228f9264d56a018e620217ec87fd32'), "%3Cspan%3E%3Cbody%3E", "%23document%0A%7C%20%3Cspan%3E", 'div'],"32e2fea7531c0c910ac73b35665b2f8bca47a049":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 32e2fea7531c0c910ac73b35665b2f8bca47a049'), "%3Cbody%3E%3Cspan%3E", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cbody%3E%0A%7C%20%20%20%3Cspan%3E", 'html'],"7fc9ad33d4bc6af760883f0581cf869f96473f2e":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 7fc9ad33d4bc6af760883f0581cf869f96473f2e'), "%3Cframeset%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E", 'body'],"8883d04b33c7e718b0d201a5f0bf5aa6d98754e6":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 8883d04b33c7e718b0d201a5f0bf5aa6d98754e6'), "%3Cspan%3E%3Cframeset%3E", "%23document%0A%7C%20%3Cspan%3E", 'body'],"347f73ada7ab974a081c65385444cca0b6a2d446":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 347f73ada7ab974a081c65385444cca0b6a2d446'), "%3Cspan%3E%3Cframeset%3E", "%23document%0A%7C%20%3Cspan%3E", 'div'],"25a03753c27ab46891e2c59665215e4657ca7177":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 25a03753c27ab46891e2c59665215e4657ca7177'), "%3Cframeset%3E%3Cspan%3E", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cframeset%3E", 'html'],"75e9c86aff595da8999673fce99bc12741552c4e":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 75e9c86aff595da8999673fce99bc12741552c4e'), "%3Ctable%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"e35e330f7eb5bb27df1fe702843747e104a193be":[async_test('html5lib_innerHTML_tests_innerHTML_1.html e35e330f7eb5bb27df1fe702843747e104a193be'), "%3C/table%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"b55e32e22980fe99bab895005a0a757a2fcb1a2b":[async_test('html5lib_innerHTML_tests_innerHTML_1.html b55e32e22980fe99bab895005a0a757a2fcb1a2b'), "%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'table'],"ce6fc19319d2568fec9084d8d4d1cc10f20b8565":[async_test('html5lib_innerHTML_tests_innerHTML_1.html ce6fc19319d2568fec9084d8d4d1cc10f20b8565'), "%3Ca%3E%3Ccaption%3Ea", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ccaption%3E%0A%7C%20%20%20%22a%22", 'table'],"b600f8c7df58e42342feff051778923dbf7616af":[async_test('html5lib_innerHTML_tests_innerHTML_1.html b600f8c7df58e42342feff051778923dbf7616af'), "%3Ca%3E%3Ccolgroup%3E%3Ccol%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ccolgroup%3E%0A%7C%20%20%20%3Ccol%3E", 'table'],"6056619333f1a780052612e1dda18112147f67fa":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 6056619333f1a780052612e1dda18112147f67fa'), "%3Ca%3E%3Ctbody%3E%3Ctr%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"d9300c4d8d36e950490bbe5800c1a3ba4e744e2a":[async_test('html5lib_innerHTML_tests_innerHTML_1.html d9300c4d8d36e950490bbe5800c1a3ba4e744e2a'), "%3Ca%3E%3Ctfoot%3E%3Ctr%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctfoot%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"411ebe3bea1d0508263ec17618492feaa9ca99d7":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 411ebe3bea1d0508263ec17618492feaa9ca99d7'), "%3Ca%3E%3Cthead%3E%3Ctr%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Cthead%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"6c7c85721f823ab889bcb9e035341a1fb6d6eeee":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 6c7c85721f823ab889bcb9e035341a1fb6d6eeee'), "%3Ca%3E%3Ctr%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E", 'table'],"973d06969d7968d200d5639ce06f7209655b1e26":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 973d06969d7968d200d5639ce06f7209655b1e26'), "%3Ca%3E%3Cth%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%3Cth%3E", 'table'],"dfb6ec1e412a6634b497151f222f4272721ae57e":[async_test('html5lib_innerHTML_tests_innerHTML_1.html dfb6ec1e412a6634b497151f222f4272721ae57e'), "%3Ca%3E%3Ctd%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctbody%3E%0A%7C%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%3Ctd%3E", 'table'],"4916096ab7dbdd051dc96de7952ec60674d617a3":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 4916096ab7dbdd051dc96de7952ec60674d617a3'), "%3Ctable%3E%3C/table%3E%3Ctbody%3E", "%23document%0A%7C%20%3Ctable%3E", 'caption'],"58277507de4ce0df9b4eb03262e4cb04d2fcc7af":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 58277507de4ce0df9b4eb03262e4cb04d2fcc7af'), "%3C/table%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E", 'caption'],"8e5727f170507ba6b86c1c3bdb3a5201d3480b33":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 8e5727f170507ba6b86c1c3bdb3a5201d3480b33'), "%3Cspan%3E%3C/table%3E", "%23document%0A%7C%20%3Cspan%3E", 'caption'],"61eb343f71030688ab1a26bb980b9e4409993e3d":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 61eb343f71030688ab1a26bb980b9e4409993e3d'), "%3C/caption%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E", 'caption'],"3548939a56a148b59781c5f930036c1528db1545":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 3548939a56a148b59781c5f930036c1528db1545'), "%3Cspan%3E%3C/caption%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"0b88a12102fba0634b44ac9f157544faeca68df6":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 0b88a12102fba0634b44ac9f157544faeca68df6'), "%3Cspan%3E%3Ccaption%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"c300553f45f4ad6e5e1da9d884fafb95f36ab05a":[async_test('html5lib_innerHTML_tests_innerHTML_1.html c300553f45f4ad6e5e1da9d884fafb95f36ab05a'), "%3Cspan%3E%3Ccol%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"00a7ed4082183eba76af197418305b2d196ec7e6":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 00a7ed4082183eba76af197418305b2d196ec7e6'), "%3Cspan%3E%3Ccolgroup%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"5dfd84382f85ff8343a62d6bb5028996111e5017":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 5dfd84382f85ff8343a62d6bb5028996111e5017'), "%3Cspan%3E%3Chtml%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"9b1a1cd33bb3f26ec3f969f3158edf5c2db47052":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 9b1a1cd33bb3f26ec3f969f3158edf5c2db47052'), "%3Cspan%3E%3Ctbody%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"8ab89f758b96bf994a21d8283d27e8ae9804b924":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 8ab89f758b96bf994a21d8283d27e8ae9804b924'), "%3Cspan%3E%3Ctd%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"25add8314f59cdc264d7779f36ae4dffd1f9ad29":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 25add8314f59cdc264d7779f36ae4dffd1f9ad29'), "%3Cspan%3E%3Ctfoot%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"7104e981f6018b18766fd95109bfbffeb878cc56":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 7104e981f6018b18766fd95109bfbffeb878cc56'), "%3Cspan%3E%3Cthead%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"28fbaa710ce3f440a56fdf909c4b8bc223a1b965":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 28fbaa710ce3f440a56fdf909c4b8bc223a1b965'), "%3Cspan%3E%3Cth%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"3380b0143f3d1e2edb216d388acd72702e141165":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 3380b0143f3d1e2edb216d388acd72702e141165'), "%3Cspan%3E%3Ctr%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"a630fb272be6de118b728a28d6ce71b296a75694":[async_test('html5lib_innerHTML_tests_innerHTML_1.html a630fb272be6de118b728a28d6ce71b296a75694'), "%3Cspan%3E%3C/table%3E%3Cspan%3E", "%23document%0A%7C%20%3Cspan%3E%0A%7C%20%20%20%3Cspan%3E", 'caption'],"5adf8b7bd3d63a77ea1dbe6deb6741c5b92de6cd":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 5adf8b7bd3d63a77ea1dbe6deb6741c5b92de6cd'), "%3C/colgroup%3E%3Ccol%3E", "%23document%0A%7C%20%3Ccol%3E", 'colgroup'],"4e0312ac349a70d07f2bb1ae154740e46e8c9a6e":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 4e0312ac349a70d07f2bb1ae154740e46e8c9a6e'), "%3Ca%3E%3Ccol%3E", "%23document%0A%7C%20%3Ccol%3E", 'colgroup'],"987061379d2542e88d8a72ce6f0169a211d3ac41":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 987061379d2542e88d8a72ce6f0169a211d3ac41'), "%3Ccaption%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"e0798aa003863ba2be750d3e6c2e6766fea11279":[async_test('html5lib_innerHTML_tests_innerHTML_1.html e0798aa003863ba2be750d3e6c2e6766fea11279'), "%3Ccol%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"586ed8e0d1395198f43ee68843d654a49169f379":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 586ed8e0d1395198f43ee68843d654a49169f379'), "%3Ccolgroup%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"8896feedef576c1ed768a4eb67f57c3dc5242fed":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 8896feedef576c1ed768a4eb67f57c3dc5242fed'), "%3Ctbody%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"89f4f0f289a23d1ebfbf499c2ecd24cd35fc10b4":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 89f4f0f289a23d1ebfbf499c2ecd24cd35fc10b4'), "%3Ctfoot%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"2c07361470533b905a7ff9a685439cad2fe35549":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 2c07361470533b905a7ff9a685439cad2fe35549'), "%3Cthead%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"a36f27cbe53991c647055c95bfa250a0ab734b0d":[async_test('html5lib_innerHTML_tests_innerHTML_1.html a36f27cbe53991c647055c95bfa250a0ab734b0d'), "%3C/table%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'tbody'],"ac28c352ae8453434e3aefb24e798a9580c1b230":[async_test('html5lib_innerHTML_tests_innerHTML_1.html ac28c352ae8453434e3aefb24e798a9580c1b230'), "%3Ca%3E%3Ctr%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctr%3E", 'tbody'],"f8770f97671a805b37277db7e42536b40c0804cb":[async_test('html5lib_innerHTML_tests_innerHTML_1.html f8770f97671a805b37277db7e42536b40c0804cb'), "%3Ca%3E%3Ctd%3E", "%23document%0A%7C%20%3Ca%3E%0A%7C%20%3Ctr%3E%0A%7C%20%20%20%3Ctd%3E", 'tbody'],"469a071b520d8436e6a0f6da6f9385f5ebd8e2f8":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 469a071b520d8436e6a0f6da6f9385f5ebd8e2f8'), "%3Ctd%3E%3Ctable%3E%3Ctbody%3E%3Ca%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctr%3E%0A%7C%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E", 'tbody'],"7cf2db8c65b79da98e39b13772ed0440ff177fd7":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 7cf2db8c65b79da98e39b13772ed0440ff177fd7'), "%3C/tr%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"3940fdb54783cb3c42138670a17d28e77e29e900":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 3940fdb54783cb3c42138670a17d28e77e29e900'), "%3Ctd%3E%3Ctable%3E%3Ca%3E%3Ctr%3E%3C/tr%3E%3Ctr%3E", "%23document%0A%7C%20%3Ctd%3E%0A%7C%20%20%20%3Ca%3E%0A%7C%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Ctr%3E", 'tr'],"3b5ab5fbb3585d7215a5766f1e2377b7929b5cc6":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 3b5ab5fbb3585d7215a5766f1e2377b7929b5cc6'), "%3Ccaption%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"7c4a40203d5830d36432b0f30a09cebea6e9d2e4":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 7c4a40203d5830d36432b0f30a09cebea6e9d2e4'), "%3Ccol%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"e6d930d4239666fdc6c0722106bd2b115b4d3fd3":[async_test('html5lib_innerHTML_tests_innerHTML_1.html e6d930d4239666fdc6c0722106bd2b115b4d3fd3'), "%3Ccolgroup%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"c8817b3b55a437bd153e978fc5f49fbe10bb56e2":[async_test('html5lib_innerHTML_tests_innerHTML_1.html c8817b3b55a437bd153e978fc5f49fbe10bb56e2'), "%3Ctbody%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"2a302c14f1983aaad9fd7abe49336d9561ed82e9":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 2a302c14f1983aaad9fd7abe49336d9561ed82e9'), "%3Ctfoot%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"28cfddd5b5875f7044b0859ba4ce88175fcbf07e":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 28cfddd5b5875f7044b0859ba4ce88175fcbf07e'), "%3Cthead%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"887596c50809eeb809ad24d86c239130a42f5a46":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 887596c50809eeb809ad24d86c239130a42f5a46'), "%3Ctr%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"fa3797a2d2baeb8b8b2de81f1e7f33725e6b2aad":[async_test('html5lib_innerHTML_tests_innerHTML_1.html fa3797a2d2baeb8b8b2de81f1e7f33725e6b2aad'), "%3C/table%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E", 'tr'],"dc0e2582ff83e60c0eb549dc3387562d3482e364":[async_test('html5lib_innerHTML_tests_innerHTML_1.html dc0e2582ff83e60c0eb549dc3387562d3482e364'), "%3Ctd%3E%3Ctable%3E%3C/table%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctd%3E%0A%7C%20%20%20%3Ctable%3E%0A%7C%20%3Ctd%3E", 'tr'],"4ea02fd705291eb2d14274ebeaa0117ba2b9b306":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 4ea02fd705291eb2d14274ebeaa0117ba2b9b306'), "%3Ccaption%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"52cc77eac9488a8bb1a2c8c695f16f8919c52044":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 52cc77eac9488a8bb1a2c8c695f16f8919c52044'), "%3Ccol%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"c53ab7d84ae27de9f0937521c74eec2fd6c1b1ec":[async_test('html5lib_innerHTML_tests_innerHTML_1.html c53ab7d84ae27de9f0937521c74eec2fd6c1b1ec'), "%3Ccolgroup%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"d8747a49503f3486155d77dd366e0ee8ad9512a6":[async_test('html5lib_innerHTML_tests_innerHTML_1.html d8747a49503f3486155d77dd366e0ee8ad9512a6'), "%3Ctbody%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"03e71832c254852f206f6f0ae6f4d161a276a699":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 03e71832c254852f206f6f0ae6f4d161a276a699'), "%3Ctfoot%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"92786cfafa890c23f200dccea089ca52233ef395":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 92786cfafa890c23f200dccea089ca52233ef395'), "%3Cth%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"11d284c2b1e2f87d28dd06b938518361fe834855":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 11d284c2b1e2f87d28dd06b938518361fe834855'), "%3Cthead%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"bf6aebcd54d5dead9e6d56c77b41f01ea666d8b1":[async_test('html5lib_innerHTML_tests_innerHTML_1.html bf6aebcd54d5dead9e6d56c77b41f01ea666d8b1'), "%3Ctr%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"4d448a4239cb4c465a21c04997d656e51fdd388f":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 4d448a4239cb4c465a21c04997d656e51fdd388f'), "%3C/table%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"1e8faedc427045d59305218c1aba2f545c4eb4b7":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 1e8faedc427045d59305218c1aba2f545c4eb4b7'), "%3C/tbody%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"6762997c1a93b1ec65722498f3fd00f0d8129369":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 6762997c1a93b1ec65722498f3fd00f0d8129369'), "%3C/td%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"a162461c18d9b09734f6fe5d362b84edb4eed31f":[async_test('html5lib_innerHTML_tests_innerHTML_1.html a162461c18d9b09734f6fe5d362b84edb4eed31f'), "%3C/tfoot%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"0befc335ffd6cace344d94a35de96af22b1313a5":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 0befc335ffd6cace344d94a35de96af22b1313a5'), "%3C/thead%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"a23b70f1f246ba08d13b570319391b4a5c3e9456":[async_test('html5lib_innerHTML_tests_innerHTML_1.html a23b70f1f246ba08d13b570319391b4a5c3e9456'), "%3C/th%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"9d5e0c25bfe921df9ea2897c027f42bc88950e69":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 9d5e0c25bfe921df9ea2897c027f42bc88950e69'), "%3C/tr%3E%3Ca%3E", "%23document%0A%7C%20%3Ca%3E", 'td'],"9210d577d6deecf5ab3505af86c501c5befa0b50":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 9210d577d6deecf5ab3505af86c501c5befa0b50'), "%3Ctable%3E%3Ctd%3E%3Ctd%3E", "%23document%0A%7C%20%3Ctable%3E%0A%7C%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%3Ctd%3E", 'td'],"c34af491c0a339db6ba63fcc478108533347319b":[async_test('html5lib_innerHTML_tests_innerHTML_1.html c34af491c0a339db6ba63fcc478108533347319b'), "%3C/select%3E%3Coption%3E", "%23document%0A%7C%20%3Coption%3E", 'select'],"2c4284e6b2bb480daa50bca43bcbe29cfcdeeab4":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 2c4284e6b2bb480daa50bca43bcbe29cfcdeeab4'), "%3Cinput%3E%3Coption%3E", "%23document%0A%7C%20%3Coption%3E", 'select'],"d75277b65d0118463afeb66b478509d4e27565ab":[async_test('html5lib_innerHTML_tests_innerHTML_1.html d75277b65d0118463afeb66b478509d4e27565ab'), "%3Ckeygen%3E%3Coption%3E", "%23document%0A%7C%20%3Coption%3E", 'select'],"b354df69dbe9b3ef0c42177648e3aace114cf8ea":[async_test('html5lib_innerHTML_tests_innerHTML_1.html b354df69dbe9b3ef0c42177648e3aace114cf8ea'), "%3Ctextarea%3E%3Coption%3E", "%23document%0A%7C%20%3Coption%3E", 'select'],"fd3be386292ea1f411cea8e86e29595deb177d28":[async_test('html5lib_innerHTML_tests_innerHTML_1.html fd3be386292ea1f411cea8e86e29595deb177d28'), "%3C/html%3E%3C%21--abc--%3E", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cbody%3E%0A%7C%20%3C%21--%20abc%20--%3E", 'html'],"1cfb3baf2ad29109ddd5581daa3a009029c71491":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 1cfb3baf2ad29109ddd5581daa3a009029c71491'), "%3C/frameset%3E%3Cframe%3E", "%23document%0A%7C%20%3Cframe%3E", 'frameset'],"2555d238e04f3d2853cfbc5f6dd366f82cf0e868":[async_test('html5lib_innerHTML_tests_innerHTML_1.html 2555d238e04f3d2853cfbc5f6dd366f82cf0e868'), "", "%23document%0A%7C%20%3Chead%3E%0A%7C%20%3Cbody%3E", 'html'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_webkit02.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_webkit02.html
new file mode 100644
index 0000000000..ae78d7bd22
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_innerHTML_webkit02.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_innerHTML_webkit02.html</title>
+ <meta name="timeout" content="long">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['cac5528d0cbea4d15babba38304646e3903324a6','bafeef55f21b568ab89a91082464614e4ebe7c2f','9461cfc6d9d4f08b05b3a95bbe5baa264f868a44','c2c4647447354abc154f1917a7fbefa4a679d5fb',];
+ var tests = {
+ "cac5528d0cbea4d15babba38304646e3903324a6":[async_test('html5lib_innerHTML_webkit02.html cac5528d0cbea4d15babba38304646e3903324a6'), "%3Cb%3E%3Cem%3E%3Cdcell%3E%3Cpostfield%3E%3Cpostfield%3E%3Cpostfield%3E%3Cpostfield%3E%3Cmissing_glyph%3E%3Cmissing_glyph%3E%3Cmissing_glyph%3E%3Cmissing_glyph%3E%3Chkern%3E%3Caside%3E%3C/b%3E%3C/em%3E", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%3Cdcell%3E%0A%7C%20%20%20%20%20%20%20%3Cpostfield%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cpostfield%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cpostfield%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpostfield%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmissing_glyph%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmissing_glyph%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmissing_glyph%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmissing_glyph%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Chkern%3E%0A%7C%20%3Caside%3E%0A%7C%20%20%20%3Cb%3E", 'div'],"bafeef55f21b568ab89a91082464614e4ebe7c2f":[async_test('html5lib_innerHTML_webkit02.html bafeef55f21b568ab89a91082464614e4ebe7c2f'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Caside%3E%3C/b%3E%3C/em%3E", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%3Caside%3E%0A%7C%20%20%20%3Cb%3E", 'div'],"9461cfc6d9d4f08b05b3a95bbe5baa264f868a44":[async_test('html5lib_innerHTML_webkit02.html 9461cfc6d9d4f08b05b3a95bbe5baa264f868a44'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoob%3E%3Cfoob%3E%3Cfoob%3E%3Cfoob%3E%3Cfooc%3E%3Cfooc%3E%3Cfooc%3E%3Cfooc%3E%3Cfood%3E%3Caside%3E%3C/b%3E%3C/em%3E", "%23document%0A%7C%20%3Cb%3E%0A%7C%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%3Cfoob%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfoob%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfoob%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoob%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfooc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfooc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfooc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfooc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfood%3E%0A%7C%20%3Caside%3E%0A%7C%20%20%20%3Cb%3E", 'div'],"c2c4647447354abc154f1917a7fbefa4a679d5fb":[async_test('html5lib_innerHTML_webkit02.html c2c4647447354abc154f1917a7fbefa4a679d5fb'), "%3Coption%3E%3CXH%3Coptgroup%3E%3C/optgroup%3E", "%23document%0A%7C%20%3Coption%3E", 'select'],
+ }
+ init_tests("innerHTML");
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_isindex.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_isindex.html
new file mode 100644
index 0000000000..be58612328
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_isindex.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_isindex.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['579ca96e69c47b3d2ac83f1aa79a450b745d21f3','cb91f67071d81dd18d7ba9990de8f0f845c375f0','bd8ac64cc8f1422fac94bbe1c8828c0b51dca3f2','4303a393c6933743460836cb5e7dd29ca7fd6f43',];
+ var tests = {
+ "579ca96e69c47b3d2ac83f1aa79a450b745d21f3":[async_test('html5lib_isindex.html 579ca96e69c47b3d2ac83f1aa79a450b745d21f3'), "%3Cisindex%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cisindex%3E"],"cb91f67071d81dd18d7ba9990de8f0f845c375f0":[async_test('html5lib_isindex.html cb91f67071d81dd18d7ba9990de8f0f845c375f0'), "%3Cisindex%20name%3D%22A%22%20action%3D%22B%22%20prompt%3D%22C%22%20foo%3D%22D%22%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cisindex%3E%0A%7C%20%20%20%20%20%20%20action%3D%22B%22%0A%7C%20%20%20%20%20%20%20foo%3D%22D%22%0A%7C%20%20%20%20%20%20%20name%3D%22A%22%0A%7C%20%20%20%20%20%20%20prompt%3D%22C%22"],"bd8ac64cc8f1422fac94bbe1c8828c0b51dca3f2":[async_test('html5lib_isindex.html bd8ac64cc8f1422fac94bbe1c8828c0b51dca3f2'), "%3Cform%3E%3Cisindex%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Cisindex%3E"],"4303a393c6933743460836cb5e7dd29ca7fd6f43":[async_test('html5lib_isindex.html 4303a393c6933743460836cb5e7dd29ca7fd6f43'), "%3C%21doctype%20html%3E%3Cisindex%3Ex%3C/isindex%3Ex", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cisindex%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%22x%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_main-element.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_main-element.html
new file mode 100644
index 0000000000..8f01831505
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_main-element.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_main-element.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['336a047fbc84b86dfd4baea5881b50fe0cdb5ce8','fc887f078ddc2723261a7dfb25829efe2da284f2','ebd10973e73d3a339bdf22f8bbac2f028044e096',];
+ var tests = {
+ "336a047fbc84b86dfd4baea5881b50fe0cdb5ce8":[async_test('html5lib_main-element.html 336a047fbc84b86dfd4baea5881b50fe0cdb5ce8'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Cmain%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cmain%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"fc887f078ddc2723261a7dfb25829efe2da284f2":[async_test('html5lib_main-element.html fc887f078ddc2723261a7dfb25829efe2da284f2'), "%3C%21doctype%20html%3E%3Cmain%3E%3Cp%3Efoo%3C/main%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmain%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"ebd10973e73d3a339bdf22f8bbac2f028044e096":[async_test('html5lib_main-element.html ebd10973e73d3a339bdf22f8bbac2f028044e096'), "%3C%21DOCTYPE%20html%3Exxx%3Csvg%3E%3Cx%3E%3Cg%3E%3Ca%3E%3Cmain%3E%3Cb%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22xxx%22%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20x%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20a%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20main%3E%0A%7C%20%20%20%20%20%3Cb%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_menuitem-element.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_menuitem-element.html
new file mode 100644
index 0000000000..b8688e29a8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_menuitem-element.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_menuitem-element.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['e61b5db0435eb768ec21c1aa7355c649e7969c17','9c975c544402eed521499270b0e97cfa78f155b0','d46fa11c0107d59c84778beae84f388f55bffc31','afcd3b1e3317ac609ddab924d836ba1e3873b80f','95c0c6923fe609297c1592f2cb82bb9f2d0f5aed','e2772fe779cbcefb4458f169a0cd495cf7115845','7a9fa28f6207f045ebb0aa49938debd0c1e7123e','798bb352d9f256153340661e1277e44674f1026d','f2b5a63d94f108207a7a998216222dc24bea4850','778c027d06495eb361dd83baa561feb3a21ec3ea','e4670bee2ce790e82c26a33319b7fe082fbbdaea','79307be24287ca5d0533dfa81b91dd826f5f5e0e','9b995cb730b12529e8e755e4a0b0a2e73d1dfcfa','d4586cd7706bbb3a5b127c52c1f2861d1a3fb781','e2adbd7bf4c7480343cfb8f69289c824be613853','b56d35c73f38f04ad6fdf51aa88f4b70a93ddc48','0f95585196dae2b1b5164e8c27897699c464c35f','03664aa93a55daceccc26d99c0aef841d8862af5','6d596b9e342db2306365fbdfb7615377c5b26347','4b712b488be9ee047c139c1b0cd955bae990b8e5',];
+ var tests = {
+ "e61b5db0435eb768ec21c1aa7355c649e7969c17":[async_test('html5lib_menuitem-element.html e61b5db0435eb768ec21c1aa7355c649e7969c17'), "%3Cmenuitem%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E"],"9c975c544402eed521499270b0e97cfa78f155b0":[async_test('html5lib_menuitem-element.html 9c975c544402eed521499270b0e97cfa78f155b0'), "%3C/menuitem%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"d46fa11c0107d59c84778beae84f388f55bffc31":[async_test('html5lib_menuitem-element.html d46fa11c0107d59c84778beae84f388f55bffc31'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmenuitem%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%22A%22"],"afcd3b1e3317ac609ddab924d836ba1e3873b80f":[async_test('html5lib_menuitem-element.html afcd3b1e3317ac609ddab924d836ba1e3873b80f'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmenuitem%3EA%3Cmenuitem%3EB", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22"],"95c0c6923fe609297c1592f2cb82bb9f2d0f5aed":[async_test('html5lib_menuitem-element.html 95c0c6923fe609297c1592f2cb82bb9f2d0f5aed'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmenuitem%3EA%3Cmenu%3EB%3C/menu%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Cmenu%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22"],"e2772fe779cbcefb4458f169a0cd495cf7115845":[async_test('html5lib_menuitem-element.html e2772fe779cbcefb4458f169a0cd495cf7115845'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmenuitem%3EA%3Chr%3EB", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Chr%3E%0A%7C%20%20%20%20%20%20%20%22B%22"],"7a9fa28f6207f045ebb0aa49938debd0c1e7123e":[async_test('html5lib_menuitem-element.html 7a9fa28f6207f045ebb0aa49938debd0c1e7123e'), "%3C%21DOCTYPE%20html%3E%3Cli%3E%3Cmenuitem%3E%3Cli%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%3Cli%3E"],"798bb352d9f256153340661e1277e44674f1026d":[async_test('html5lib_menuitem-element.html 798bb352d9f256153340661e1277e44674f1026d'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3Cp%3E%3C/menuitem%3Ex", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22x%22"],"f2b5a63d94f108207a7a998216222dc24bea4850":[async_test('html5lib_menuitem-element.html f2b5a63d94f108207a7a998216222dc24bea4850'), "%3C%21DOCTYPE%20html%3E%3Cp%3E%3Cb%3E%3C/p%3E%3Cmenuitem%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cmenuitem%3E"],"778c027d06495eb361dd83baa561feb3a21ec3ea":[async_test('html5lib_menuitem-element.html 778c027d06495eb361dd83baa561feb3a21ec3ea'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3Casdf%3E%3C/menuitem%3Ex", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%3Casdf%3E%0A%7C%20%20%20%20%20%22x%22"],"e4670bee2ce790e82c26a33319b7fe082fbbdaea":[async_test('html5lib_menuitem-element.html e4670bee2ce790e82c26a33319b7fe082fbbdaea'), "%3C%21DOCTYPE%20html%3E%3C/menuitem%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"79307be24287ca5d0533dfa81b91dd826f5f5e0e":[async_test('html5lib_menuitem-element.html 79307be24287ca5d0533dfa81b91dd826f5f5e0e'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3C/menuitem%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"9b995cb730b12529e8e755e4a0b0a2e73d1dfcfa":[async_test('html5lib_menuitem-element.html 9b995cb730b12529e8e755e4a0b0a2e73d1dfcfa'), "%3C%21DOCTYPE%20html%3E%3Chead%3E%3C/menuitem%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"d4586cd7706bbb3a5b127c52c1f2861d1a3fb781":[async_test('html5lib_menuitem-element.html d4586cd7706bbb3a5b127c52c1f2861d1a3fb781'), "%3C%21DOCTYPE%20html%3E%3Cselect%3E%3Cmenuitem%3E%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"e2adbd7bf4c7480343cfb8f69289c824be613853":[async_test('html5lib_menuitem-element.html e2adbd7bf4c7480343cfb8f69289c824be613853'), "%3C%21DOCTYPE%20html%3E%3Coption%3E%3Cmenuitem%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Cmenuitem%3E"],"b56d35c73f38f04ad6fdf51aa88f4b70a93ddc48":[async_test('html5lib_menuitem-element.html b56d35c73f38f04ad6fdf51aa88f4b70a93ddc48'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3Coption%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E"],"0f95585196dae2b1b5164e8c27897699c464c35f":[async_test('html5lib_menuitem-element.html 0f95585196dae2b1b5164e8c27897699c464c35f'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3C/body%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E"],"03664aa93a55daceccc26d99c0aef841d8862af5":[async_test('html5lib_menuitem-element.html 03664aa93a55daceccc26d99c0aef841d8862af5'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E"],"6d596b9e342db2306365fbdfb7615377c5b26347":[async_test('html5lib_menuitem-element.html 6d596b9e342db2306365fbdfb7615377c5b26347'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3Cp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E"],"4b712b488be9ee047c139c1b0cd955bae990b8e5":[async_test('html5lib_menuitem-element.html 4b712b488be9ee047c139c1b0cd955bae990b8e5'), "%3C%21DOCTYPE%20html%3E%3Cmenuitem%3E%3Cli%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmenuitem%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_namespace-sensitivity.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_namespace-sensitivity.html
new file mode 100644
index 0000000000..2e462a9de4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_namespace-sensitivity.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_namespace-sensitivity.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['de0a2051123e97a540e3aeb58375103bda021122',];
+ var tests = {
+ "de0a2051123e97a540e3aeb58375103bda021122":[async_test('html5lib_namespace-sensitivity.html de0a2051123e97a540e3aeb58375103bda021122'), "%3Cbody%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3Ctd%3E%3CforeignObject%3E%3Cspan%3E%3C/td%3EFoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Foo%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20td%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html
new file mode 100644
index 0000000000..3943758423
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_pending-spec-changes-plain-text-unsafe.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['8afa8d082dc447be5cab2eeb3e13efb07ec72aa6',];
+ var tests = {
+ "8afa8d082dc447be5cab2eeb3e13efb07ec72aa6":[async_test('html5lib_pending-spec-changes-plain-text-unsafe.html 8afa8d082dc447be5cab2eeb3e13efb07ec72aa6'), "%3Cbody%3E%3Ctable%3E%00filler%00text%00", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22fillertext%22%0A%7C%20%20%20%20%20%3Ctable%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes.html
new file mode 100644
index 0000000000..f7aa17e72a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_pending-spec-changes.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_pending-spec-changes.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['965e062f9d01c4334cb12637e84dcbf438d38faf','8772d25919914a17118b2105e126aaa5bc83f92c','9804e9659cd045f199d9f58ef85c2639724359aa',];
+ var tests = {
+ "965e062f9d01c4334cb12637e84dcbf438d38faf":[async_test('html5lib_pending-spec-changes.html 965e062f9d01c4334cb12637e84dcbf438d38faf'), "%3Cinput%20type%3D%22hidden%22%3E%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"8772d25919914a17118b2105e126aaa5bc83f92c":[async_test('html5lib_pending-spec-changes.html 8772d25919914a17118b2105e126aaa5bc83f92c'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ccaption%3E%3Csvg%3Efoo%3C/table%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"9804e9659cd045f199d9f58ef85c2639724359aa":[async_test('html5lib_pending-spec-changes.html 9804e9659cd045f199d9f58ef85c2639724359aa'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3Cdesc%3E%3Ctd%3E%3C/desc%3E%3Ccircle%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccircle%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_plain-text-unsafe.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_plain-text-unsafe.html
new file mode 100644
index 0000000000..16c03cbe45
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_plain-text-unsafe.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_plain-text-unsafe.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['7e4ca4cb5e73852744a876bf8652dd2c8998d94a','e552342bdd3ac62316bd91126556512683f3d4a9','9112cef60139e6988b66334e522777329051442a','5dfa36c8a466dd245e7977924936f4940df65e53','e057c57a5f32e5e341d70b0a6581bdad39b84ac5','24bcb6928bd42daaf1f3688caf93bb399d159bfc','24ed904940ecdad39c61706e709ffed5ee804514','0829c314a34a62cd1caf52ddc4100050bf32aef3','024ba847361612e5e87bce271d0497eeee07f87f','ec721aae75752c688fa48ad4b251d3a5a394dc8f','1e262b6f330b0870e854458f11b2280c72c8bd16','29f42d8bf04aea6ab4c051bd77da7e79173cf159','1d65ea8967bdc24e89d6548320b7fb9e2ad2c915','f1c51609a504e4ab4f7ae4d61fb6175619974b0d','692122e8d2a27e37cb585c827fb33e22e31c018e','a4537cad9c2386108157889b3bf6ddd414f0366d','252ca95f75b077320bc167cb117a05edfcbd7d0e','dde4bba02ef4e37d010e552111bc668d9660a076','41b9352a4d99b4fd545551fe260754b3137ad148','4b9e317cba617324fea77a4e525602b3ad2717ef','a1e08cb99d89381a1c997fcd60bad23c029c4500','26d850208425cc885d4d0143909cf341f61fa1f1','68f0365c01dc386c706edd2b18672f9d85caaa2e','e415a2e7cf090e2c308af905d52c5f8163ae52ce','822702de65b80ec8e79da19335ab9d6a49f6ec6a','ee8b017ab043ff51b593787961626acb4c6488cd','304960c795639128844445166238350682ba0516','275bb0b518ec00b1e64a28cb9088989371fca9d9','068ac565b7c7bdad572f26dafb4580483cdbc6f7','f5ff59e9765a468913e14a6a9612edb2cd4f30f0','9ff76ac49f95ab0e22278fd07ed4dfee50519286','6a9486cce6ebcb83329c17ebcf3c9b6fe8bb8096','6f2f3f4f91f5484170a6dc8cc6165ce0ce498bff',];
+ var tests = {
+ "7e4ca4cb5e73852744a876bf8652dd2c8998d94a":[async_test('html5lib_plain-text-unsafe.html 7e4ca4cb5e73852744a876bf8652dd2c8998d94a'), "FOO%26%23x000D%3BZOO", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%0DZOO%22"],"e552342bdd3ac62316bd91126556512683f3d4a9":[async_test('html5lib_plain-text-unsafe.html e552342bdd3ac62316bd91126556512683f3d4a9'), "%3Chtml%3E%00%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"9112cef60139e6988b66334e522777329051442a":[async_test('html5lib_plain-text-unsafe.html 9112cef60139e6988b66334e522777329051442a'), "%3Chtml%3E%20%00%20%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"5dfa36c8a466dd245e7977924936f4940df65e53":[async_test('html5lib_plain-text-unsafe.html 5dfa36c8a466dd245e7977924936f4940df65e53'), "%3Chtml%3Ea%00a%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22aa%22"],"e057c57a5f32e5e341d70b0a6581bdad39b84ac5":[async_test('html5lib_plain-text-unsafe.html e057c57a5f32e5e341d70b0a6581bdad39b84ac5'), "%3Chtml%3E%00%00%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"24bcb6928bd42daaf1f3688caf93bb399d159bfc":[async_test('html5lib_plain-text-unsafe.html 24bcb6928bd42daaf1f3688caf93bb399d159bfc'), "%3Chtml%3E%00%0A%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"24ed904940ecdad39c61706e709ffed5ee804514":[async_test('html5lib_plain-text-unsafe.html 24ed904940ecdad39c61706e709ffed5ee804514'), "%3Chtml%3E%3Cselect%3E%00", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"0829c314a34a62cd1caf52ddc4100050bf32aef3":[async_test('html5lib_plain-text-unsafe.html 0829c314a34a62cd1caf52ddc4100050bf32aef3'), "%00", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"024ba847361612e5e87bce271d0497eeee07f87f":[async_test('html5lib_plain-text-unsafe.html 024ba847361612e5e87bce271d0497eeee07f87f'), "%3Cbody%3E%00", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"ec721aae75752c688fa48ad4b251d3a5a394dc8f":[async_test('html5lib_plain-text-unsafe.html ec721aae75752c688fa48ad4b251d3a5a394dc8f'), "%3Cplaintext%3E%00filler%00text%00", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BDfiller%EF%BF%BDtext%EF%BF%BD%22"],"1e262b6f330b0870e854458f11b2280c72c8bd16":[async_test('html5lib_plain-text-unsafe.html 1e262b6f330b0870e854458f11b2280c72c8bd16'), "%3Csvg%3E%3C%21%5BCDATA%5B%00filler%00text%00%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BDfiller%EF%BF%BDtext%EF%BF%BD%22"],"29f42d8bf04aea6ab4c051bd77da7e79173cf159":[async_test('html5lib_plain-text-unsafe.html 29f42d8bf04aea6ab4c051bd77da7e79173cf159'), "%3Cbody%3E%3C%21%00%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3C%21--%20%EF%BF%BD%20--%3E"],"1d65ea8967bdc24e89d6548320b7fb9e2ad2c915":[async_test('html5lib_plain-text-unsafe.html 1d65ea8967bdc24e89d6548320b7fb9e2ad2c915'), "%3Cbody%3E%3C%21%00filler%00text%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3C%21--%20%EF%BF%BDfiller%EF%BF%BDtext%20--%3E"],"f1c51609a504e4ab4f7ae4d61fb6175619974b0d":[async_test('html5lib_plain-text-unsafe.html f1c51609a504e4ab4f7ae4d61fb6175619974b0d'), "%3Cbody%3E%3Csvg%3E%3CforeignObject%3E%00filler%00text", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%22fillertext%22"],"692122e8d2a27e37cb585c827fb33e22e31c018e":[async_test('html5lib_plain-text-unsafe.html 692122e8d2a27e37cb585c827fb33e22e31c018e'), "%3Csvg%3E%00filler%00text", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BDfiller%EF%BF%BDtext%22"],"a4537cad9c2386108157889b3bf6ddd414f0366d":[async_test('html5lib_plain-text-unsafe.html a4537cad9c2386108157889b3bf6ddd414f0366d'), "%3Csvg%3E%00%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BD%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20frameset%3E"],"252ca95f75b077320bc167cb117a05edfcbd7d0e":[async_test('html5lib_plain-text-unsafe.html 252ca95f75b077320bc167cb117a05edfcbd7d0e'), "%3Csvg%3E%00%20%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BD%20%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20frameset%3E"],"dde4bba02ef4e37d010e552111bc668d9660a076":[async_test('html5lib_plain-text-unsafe.html dde4bba02ef4e37d010e552111bc668d9660a076'), "%3Csvg%3E%00a%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BDa%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20frameset%3E"],"41b9352a4d99b4fd545551fe260754b3137ad148":[async_test('html5lib_plain-text-unsafe.html 41b9352a4d99b4fd545551fe260754b3137ad148'), "%3Csvg%3E%00%3C/svg%3E%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"4b9e317cba617324fea77a4e525602b3ad2717ef":[async_test('html5lib_plain-text-unsafe.html 4b9e317cba617324fea77a4e525602b3ad2717ef'), "%3Csvg%3E%00%20%3C/svg%3E%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"a1e08cb99d89381a1c997fcd60bad23c029c4500":[async_test('html5lib_plain-text-unsafe.html a1e08cb99d89381a1c997fcd60bad23c029c4500'), "%3Csvg%3E%00a%3C/svg%3E%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%EF%BF%BDa%22"],"26d850208425cc885d4d0143909cf341f61fa1f1":[async_test('html5lib_plain-text-unsafe.html 26d850208425cc885d4d0143909cf341f61fa1f1'), "%3Csvg%3E%3Cpath%3E%3C/path%3E%3C/svg%3E%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"68f0365c01dc386c706edd2b18672f9d85caaa2e":[async_test('html5lib_plain-text-unsafe.html 68f0365c01dc386c706edd2b18672f9d85caaa2e'), "%3Csvg%3E%3Cp%3E%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"e415a2e7cf090e2c308af905d52c5f8163ae52ce":[async_test('html5lib_plain-text-unsafe.html e415a2e7cf090e2c308af905d52c5f8163ae52ce'), "%3C%21DOCTYPE%20html%3E%3Cpre%3E%0D%0A%0D%0AA%3C/pre%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22%0AA%22"],"822702de65b80ec8e79da19335ab9d6a49f6ec6a":[async_test('html5lib_plain-text-unsafe.html 822702de65b80ec8e79da19335ab9d6a49f6ec6a'), "%3C%21DOCTYPE%20html%3E%3Cpre%3E%0D%0DA%3C/pre%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22%0AA%22"],"ee8b017ab043ff51b593787961626acb4c6488cd":[async_test('html5lib_plain-text-unsafe.html ee8b017ab043ff51b593787961626acb4c6488cd'), "%3C%21DOCTYPE%20html%3E%3Cpre%3E%0DA%3C/pre%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22A%22"],"304960c795639128844445166238350682ba0516":[async_test('html5lib_plain-text-unsafe.html 304960c795639128844445166238350682ba0516'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cmath%3E%3Cmtext%3E%00a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"275bb0b518ec00b1e64a28cb9088989371fca9d9":[async_test('html5lib_plain-text-unsafe.html 275bb0b518ec00b1e64a28cb9088989371fca9d9'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3CforeignObject%3E%00a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"068ac565b7c7bdad572f26dafb4580483cdbc6f7":[async_test('html5lib_plain-text-unsafe.html 068ac565b7c7bdad572f26dafb4580483cdbc6f7'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cmi%3Ea%00b", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22ab%22"],"f5ff59e9765a468913e14a6a9612edb2cd4f30f0":[async_test('html5lib_plain-text-unsafe.html f5ff59e9765a468913e14a6a9612edb2cd4f30f0'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cmo%3Ea%00b", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mo%3E%0A%7C%20%20%20%20%20%20%20%20%20%22ab%22"],"9ff76ac49f95ab0e22278fd07ed4dfee50519286":[async_test('html5lib_plain-text-unsafe.html 9ff76ac49f95ab0e22278fd07ed4dfee50519286'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cmn%3Ea%00b", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20%22ab%22"],"6a9486cce6ebcb83329c17ebcf3c9b6fe8bb8096":[async_test('html5lib_plain-text-unsafe.html 6a9486cce6ebcb83329c17ebcf3c9b6fe8bb8096'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cms%3Ea%00b", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20ms%3E%0A%7C%20%20%20%20%20%20%20%20%20%22ab%22"],"6f2f3f4f91f5484170a6dc8cc6165ce0ce498bff":[async_test('html5lib_plain-text-unsafe.html 6f2f3f4f91f5484170a6dc8cc6165ce0ce498bff'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cmtext%3Ea%00b", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%22ab%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_quirks01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_quirks01.html
new file mode 100644
index 0000000000..333292c9a2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_quirks01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_quirks01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['700e38ecb6ac91e9c5477fd451591b844d51f38e','d196aec77885a47ff43166960d48c8c9eb2cbee0','d4b597fe74a7af1b96750e29cb1180af8b97a1f4','e1bacd20039e6d1bed0de4aff51c37e303762170',];
+ var tests = {
+ "700e38ecb6ac91e9c5477fd451591b844d51f38e":[async_test('html5lib_quirks01.html 700e38ecb6ac91e9c5477fd451591b844d51f38e'), "%3C%21DOCTYPE%20html%20PUBLIC%20%22-//W3C//DTD%20XHTML%201.0%20Frameset//EN%22%0A%22http%3A//www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd%22%3E%3Cp%3E%3Ctable%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20XHTML%201.0%20Frameset//EN%22%20%22http%3A//www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"d196aec77885a47ff43166960d48c8c9eb2cbee0":[async_test('html5lib_quirks01.html d196aec77885a47ff43166960d48c8c9eb2cbee0'), "%3C%21DOCTYPE%20html%20SYSTEM%20%22http%3A//www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd%22%3E%3Cp%3E%3Ctable%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22%22%20%22http%3A//www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"d4b597fe74a7af1b96750e29cb1180af8b97a1f4":[async_test('html5lib_quirks01.html d4b597fe74a7af1b96750e29cb1180af8b97a1f4'), "%3C%21DOCTYPE%20html%20PUBLIC%20%22html%22%3E%3Cp%3E%3Ctable%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22html%22%20%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"e1bacd20039e6d1bed0de4aff51c37e303762170":[async_test('html5lib_quirks01.html e1bacd20039e6d1bed0de4aff51c37e303762170'), "%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%203.2//EN%22%0A%20%20%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%3Cp%3E%3Ctable%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%203.2//EN%22%20%22http%3A//www.w3.org/TR/html4/strict.dtd%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_ruby.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_ruby.html
new file mode 100644
index 0000000000..b5b66ba883
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_ruby.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_ruby.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['6ee9e8955aa3a8a3af1838c1b728d8392e1cccca','03bbba49b30ec908e06e3c84e1fcede1ac7508ff','de7c3ce0c3484dc3a111d00c34c68f7dea8a013a','720c6bad03d4e4fd5ec7cb06bf4ec8ba5f277486','b3640f1eae210be30f138bbc6dc71e0864240224','3179776aceeadf1740d71e2d2e6385bb84ab97c0','d26f2542fc6fcee4e737b578c8db716a96a22ade','17d5c46418a50b35d893516440b0e091c31bd581','da1e119d0642e3b82a3537326a3fbc3b8c4e9706','bb2028f026500e8f77bd3b8e1f906c28045e6f20','c78f8740b860a39eb27035e19e29b240d0bfa4a8','9e880cf547d015ef52c3377064a9afd92ba26afe','9ed529d1072800af3fcccf268b41d6594480b749','42a6c56b0abc484cbc3d2b7517551c4aa3efc5d3','139a1e8af17546b7964354779331960096481b3c','0050f08d71e8dd050d8129afe674b580387468d9','5f9f25a089e72b4a4e5d7ebbacb440349c53f52f','099a0a617119e858c8e716e0ea9854ed1198ccf1','2cca13809bffb5fa34d03ad73d5727b75d2f96b5','f08a5ba63069cc6eb3804d94ec59b8b33e6f9b91','606924ac3b043141563d94141973a11eda8015ab',];
+ var tests = {
+ "6ee9e8955aa3a8a3af1838c1b728d8392e1cccca":[async_test('html5lib_ruby.html 6ee9e8955aa3a8a3af1838c1b728d8392e1cccca'), "%3Chtml%3E%3Cruby%3Ea%3Crb%3Eb%3Crb%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E"],"03bbba49b30ec908e06e3c84e1fcede1ac7508ff":[async_test('html5lib_ruby.html 03bbba49b30ec908e06e3c84e1fcede1ac7508ff'), "%3Chtml%3E%3Cruby%3Ea%3Crb%3Eb%3Crt%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"de7c3ce0c3484dc3a111d00c34c68f7dea8a013a":[async_test('html5lib_ruby.html de7c3ce0c3484dc3a111d00c34c68f7dea8a013a'), "%3Chtml%3E%3Cruby%3Ea%3Crb%3Eb%3Crtc%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E"],"720c6bad03d4e4fd5ec7cb06bf4ec8ba5f277486":[async_test('html5lib_ruby.html 720c6bad03d4e4fd5ec7cb06bf4ec8ba5f277486'), "%3Chtml%3E%3Cruby%3Ea%3Crb%3Eb%3Crp%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E"],"b3640f1eae210be30f138bbc6dc71e0864240224":[async_test('html5lib_ruby.html b3640f1eae210be30f138bbc6dc71e0864240224'), "%3Chtml%3E%3Cruby%3Ea%3Crb%3Eb%3Cspan%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"3179776aceeadf1740d71e2d2e6385bb84ab97c0":[async_test('html5lib_ruby.html 3179776aceeadf1740d71e2d2e6385bb84ab97c0'), "%3Chtml%3E%3Cruby%3Ea%3Crt%3Eb%3Crb%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E"],"d26f2542fc6fcee4e737b578c8db716a96a22ade":[async_test('html5lib_ruby.html d26f2542fc6fcee4e737b578c8db716a96a22ade'), "%3Chtml%3E%3Cruby%3Ea%3Crt%3Eb%3Crt%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"17d5c46418a50b35d893516440b0e091c31bd581":[async_test('html5lib_ruby.html 17d5c46418a50b35d893516440b0e091c31bd581'), "%3Chtml%3E%3Cruby%3Ea%3Crt%3Eb%3Crtc%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E"],"da1e119d0642e3b82a3537326a3fbc3b8c4e9706":[async_test('html5lib_ruby.html da1e119d0642e3b82a3537326a3fbc3b8c4e9706'), "%3Chtml%3E%3Cruby%3Ea%3Crt%3Eb%3Crp%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E"],"bb2028f026500e8f77bd3b8e1f906c28045e6f20":[async_test('html5lib_ruby.html bb2028f026500e8f77bd3b8e1f906c28045e6f20'), "%3Chtml%3E%3Cruby%3Ea%3Crt%3Eb%3Cspan%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"c78f8740b860a39eb27035e19e29b240d0bfa4a8":[async_test('html5lib_ruby.html c78f8740b860a39eb27035e19e29b240d0bfa4a8'), "%3Chtml%3E%3Cruby%3Ea%3Crtc%3Eb%3Crb%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E"],"9e880cf547d015ef52c3377064a9afd92ba26afe":[async_test('html5lib_ruby.html 9e880cf547d015ef52c3377064a9afd92ba26afe'), "%3Chtml%3E%3Cruby%3Ea%3Crtc%3Eb%3Crt%3Ec%3Crt%3Ed%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22d%22"],"9ed529d1072800af3fcccf268b41d6594480b749":[async_test('html5lib_ruby.html 9ed529d1072800af3fcccf268b41d6594480b749'), "%3Chtml%3E%3Cruby%3Ea%3Crtc%3Eb%3Crtc%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E"],"42a6c56b0abc484cbc3d2b7517551c4aa3efc5d3":[async_test('html5lib_ruby.html 42a6c56b0abc484cbc3d2b7517551c4aa3efc5d3'), "%3Chtml%3E%3Cruby%3Ea%3Crtc%3Eb%3Crp%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Crp%3E"],"139a1e8af17546b7964354779331960096481b3c":[async_test('html5lib_ruby.html 139a1e8af17546b7964354779331960096481b3c'), "%3Chtml%3E%3Cruby%3Ea%3Crtc%3Eb%3Cspan%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"0050f08d71e8dd050d8129afe674b580387468d9":[async_test('html5lib_ruby.html 0050f08d71e8dd050d8129afe674b580387468d9'), "%3Chtml%3E%3Cruby%3Ea%3Crp%3Eb%3Crb%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E"],"5f9f25a089e72b4a4e5d7ebbacb440349c53f52f":[async_test('html5lib_ruby.html 5f9f25a089e72b4a4e5d7ebbacb440349c53f52f'), "%3Chtml%3E%3Cruby%3Ea%3Crp%3Eb%3Crt%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"099a0a617119e858c8e716e0ea9854ed1198ccf1":[async_test('html5lib_ruby.html 099a0a617119e858c8e716e0ea9854ed1198ccf1'), "%3Chtml%3E%3Cruby%3Ea%3Crp%3Eb%3Crtc%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E"],"2cca13809bffb5fa34d03ad73d5727b75d2f96b5":[async_test('html5lib_ruby.html 2cca13809bffb5fa34d03ad73d5727b75d2f96b5'), "%3Chtml%3E%3Cruby%3Ea%3Crp%3Eb%3Crp%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E"],"f08a5ba63069cc6eb3804d94ec59b8b33e6f9b91":[async_test('html5lib_ruby.html f08a5ba63069cc6eb3804d94ec59b8b33e6f9b91'), "%3Chtml%3E%3Cruby%3Ea%3Crp%3Eb%3Cspan%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"606924ac3b043141563d94141973a11eda8015ab":[async_test('html5lib_ruby.html 606924ac3b043141563d94141973a11eda8015ab'), "%3Chtml%3E%3Cruby%3E%3Crtc%3E%3Cruby%3Ea%3Crb%3Eb%3Crt%3E%3C/ruby%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Crt%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_scriptdata01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_scriptdata01.html
new file mode 100644
index 0000000000..1233917145
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_scriptdata01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_scriptdata01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['3fc7e140adb65f9cfdf39219996f98e0749f398d','38ab7bda69dfd05e3ff01788cf5dac2d150a712a','09abe1da30643fd813db75facc7fde7b75762d43','193920d1c0fff50991d61655c529c62075a3da7f','66754fc904199af367a0a2b26cc89ea1834939cc','8c8a34698899e39e7b0879c07821aeb90f46cd83','a454052b572d9952465190ec354ad0ec2defca0b','6cc06752976c2cc9a4239f608b47cdb8df2b0b6b','4176aaaa17b9009e1ac8a293acbaa0d0cfd56975','e05f6594ea01489b55fca25aa79e5cffa43d9587','c7728688e5d12d5350c4228ac82c03a9886bef2f','c2a2bd66cbf430ee517678470fb560fa8862fa86','e04bd4c273176c0638e98dce1cbdcfc6438ec7eb','96a8546fd066084179852aa72bb599c1ee6f513f','1dae0f9ba7e933c1f6f9912d2289c290b2c8495a','44437869d870fea50416386a003d0b477a7d4f9d','3c72e7aa1fe7b65598a88a8cba1d7691824ec8a2','026ad2b8a6c85ab7a8804b1553b16560bc36fefd','d6b18cb44b4eda72b75fb64fe4287ee984562aaf','6ebea78eedeb25cbefd06e1ff55423db91f98c6d','fb5424c9ab36d5f8383268df1d64b17bab310e4d','3123b21e759d33987c407189584a5533c31a7482','f208b834bd4a2e13d79cebd59c02659f2f75ff04','0b72c0fef80895598cdf691a4913ff7aa5b1934b','bc7d3b5d37eaf53e338d81215f552e55cb555fc2','df2e36330e2e9609b1b9e1ff8a9440a66281dd46',];
+ var tests = {
+ "3fc7e140adb65f9cfdf39219996f98e0749f398d":[async_test('html5lib_scriptdata01.html 3fc7e140adb65f9cfdf39219996f98e0749f398d'), "FOO%3Cscript%3E%27Hello%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27Hello%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"38ab7bda69dfd05e3ff01788cf5dac2d150a712a":[async_test('html5lib_scriptdata01.html 38ab7bda69dfd05e3ff01788cf5dac2d150a712a'), "FOO%3Cscript%3E%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%22BAR%22"],"09abe1da30643fd813db75facc7fde7b75762d43":[async_test('html5lib_scriptdata01.html 09abe1da30643fd813db75facc7fde7b75762d43'), "FOO%3Cscript%3E%3C/script%20%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%22BAR%22"],"193920d1c0fff50991d61655c529c62075a3da7f":[async_test('html5lib_scriptdata01.html 193920d1c0fff50991d61655c529c62075a3da7f'), "FOO%3Cscript%3E%3C/script/%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%22BAR%22"],"66754fc904199af367a0a2b26cc89ea1834939cc":[async_test('html5lib_scriptdata01.html 66754fc904199af367a0a2b26cc89ea1834939cc'), "FOO%3Cscript%3E%3C/script/%20%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%22BAR%22"],"8c8a34698899e39e7b0879c07821aeb90f46cd83":[async_test('html5lib_scriptdata01.html 8c8a34698899e39e7b0879c07821aeb90f46cd83'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%3C/scriptx%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%3C/scriptx%3EBAR%22"],"a454052b572d9952465190ec354ad0ec2defca0b":[async_test('html5lib_scriptdata01.html a454052b572d9952465190ec354ad0ec2defca0b'), "FOO%3Cscript%3E%3C/script%20foo%3D%22%3E%22%20dd%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%22BAR%22"],"6cc06752976c2cc9a4239f608b47cdb8df2b0b6b":[async_test('html5lib_scriptdata01.html 6cc06752976c2cc9a4239f608b47cdb8df2b0b6b'), "FOO%3Cscript%3E%27%3C%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"4176aaaa17b9009e1ac8a293acbaa0d0cfd56975":[async_test('html5lib_scriptdata01.html 4176aaaa17b9009e1ac8a293acbaa0d0cfd56975'), "FOO%3Cscript%3E%27%3C%21%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"e05f6594ea01489b55fca25aa79e5cffa43d9587":[async_test('html5lib_scriptdata01.html e05f6594ea01489b55fca25aa79e5cffa43d9587'), "FOO%3Cscript%3E%27%3C%21-%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21-%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"c7728688e5d12d5350c4228ac82c03a9886bef2f":[async_test('html5lib_scriptdata01.html c7728688e5d12d5350c4228ac82c03a9886bef2f'), "FOO%3Cscript%3E%27%3C%21--%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"c2a2bd66cbf430ee517678470fb560fa8862fa86":[async_test('html5lib_scriptdata01.html c2a2bd66cbf430ee517678470fb560fa8862fa86'), "FOO%3Cscript%3E%27%3C%21---%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21---%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"e04bd4c273176c0638e98dce1cbdcfc6438ec7eb":[async_test('html5lib_scriptdata01.html e04bd4c273176c0638e98dce1cbdcfc6438ec7eb'), "FOO%3Cscript%3E%27%3C%21--%3E%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%3E%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"96a8546fd066084179852aa72bb599c1ee6f513f":[async_test('html5lib_scriptdata01.html 96a8546fd066084179852aa72bb599c1ee6f513f'), "FOO%3Cscript%3E%27%3C%21--%20potato%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20potato%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"1dae0f9ba7e933c1f6f9912d2289c290b2c8495a":[async_test('html5lib_scriptdata01.html 1dae0f9ba7e933c1f6f9912d2289c290b2c8495a'), "FOO%3Cscript%3E%27%3C%21--%20%3CsCrIpt%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"44437869d870fea50416386a003d0b477a7d4f9d":[async_test('html5lib_scriptdata01.html 44437869d870fea50416386a003d0b477a7d4f9d'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%3E%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%3E%27%3C/script%3EBAR%22"],"3c72e7aa1fe7b65598a88a8cba1d7691824ec8a2":[async_test('html5lib_scriptdata01.html 3c72e7aa1fe7b65598a88a8cba1d7691824ec8a2'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%3E%20-%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%3E%20-%27%3C/script%3EBAR%22"],"026ad2b8a6c85ab7a8804b1553b16560bc36fefd":[async_test('html5lib_scriptdata01.html 026ad2b8a6c85ab7a8804b1553b16560bc36fefd'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%3E%20--%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%3E%20--%27%3C/script%3EBAR%22"],"d6b18cb44b4eda72b75fb64fe4287ee984562aaf":[async_test('html5lib_scriptdata01.html d6b18cb44b4eda72b75fb64fe4287ee984562aaf'), "FOO%3Cscript%3E%27%3C%21--%20%3CsCrIpt%3E%20--%3E%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%3E%20--%3E%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"6ebea78eedeb25cbefd06e1ff55423db91f98c6d":[async_test('html5lib_scriptdata01.html 6ebea78eedeb25cbefd06e1ff55423db91f98c6d'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%3E%20--%21%3E%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%3E%20--%21%3E%27%3C/script%3EBAR%22"],"fb5424c9ab36d5f8383268df1d64b17bab310e4d":[async_test('html5lib_scriptdata01.html fb5424c9ab36d5f8383268df1d64b17bab310e4d'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%3E%20--%20%3E%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%3E%20--%20%3E%27%3C/script%3EBAR%22"],"3123b21e759d33987c407189584a5533c31a7482":[async_test('html5lib_scriptdata01.html 3123b21e759d33987c407189584a5533c31a7482'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%20%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%20%27%3C/script%3EBAR%22"],"f208b834bd4a2e13d79cebd59c02659f2f75ff04":[async_test('html5lib_scriptdata01.html f208b834bd4a2e13d79cebd59c02659f2f75ff04'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt/%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt/%27%3C/script%3EBAR%22"],"0b72c0fef80895598cdf691a4913ff7aa5b1934b":[async_test('html5lib_scriptdata01.html 0b72c0fef80895598cdf691a4913ff7aa5b1934b'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt%5C%27%3C/script%3EBAR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt%5C%27%22%0A%7C%20%20%20%20%20%22BAR%22"],"bc7d3b5d37eaf53e338d81215f552e55cb555fc2":[async_test('html5lib_scriptdata01.html bc7d3b5d37eaf53e338d81215f552e55cb555fc2'), "FOO%3Cscript%20type%3D%22text/plain%22%3E%27%3C%21--%20%3CsCrIpt/%27%3C/script%3EBAR%3C/script%3EQUX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/plain%22%0A%7C%20%20%20%20%20%20%20%22%27%3C%21--%20%3CsCrIpt/%27%3C/script%3EBAR%22%0A%7C%20%20%20%20%20%22QUX%22"],"df2e36330e2e9609b1b9e1ff8a9440a66281dd46":[async_test('html5lib_scriptdata01.html df2e36330e2e9609b1b9e1ff8a9440a66281dd46'), "FOO%3Cscript%3E%3C%21--%3Cscript%3E-%3E%3C/script%3E--%3E%3C/script%3EQUX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22FOO%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E-%3E%3C/script%3E--%3E%22%0A%7C%20%20%20%20%20%22QUX%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_adoption01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_adoption01.html
new file mode 100644
index 0000000000..479208aa91
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_adoption01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_scripted_adoption01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['8970fe21b551a270aa74648bb2e8b905edb54522',];
+ var tests = {
+ "8970fe21b551a270aa74648bb2e8b905edb54522":[async_test('html5lib_scripted_adoption01.html 8970fe21b551a270aa74648bb2e8b905edb54522'), "%3Cp%3E%3Cb%20id%3D%22A%22%3E%3Cscript%3Edocument.getElementById%28%22A%22%29.id%20%3D%20%22B%22%3C/script%3E%3C/p%3ETEXT%3C/b%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22B%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22document.getElementById%28%22A%22%29.id%20%3D%20%22B%22%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20id%3D%22A%22%0A%7C%20%20%20%20%20%20%20%22TEXT%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_ark.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_ark.html
new file mode 100644
index 0000000000..4542b7c7d0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_ark.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_scripted_ark.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['b9a7cd0310cab4fd4eb77aed9149b966918e7ca2',];
+ var tests = {
+ "b9a7cd0310cab4fd4eb77aed9149b966918e7ca2":[async_test('html5lib_scripted_ark.html b9a7cd0310cab4fd4eb77aed9149b966918e7ca2'), "%3Cp%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cscript%3Edocument.getElementsByTagName%28%22font%22%29%5B2%5D.setAttribute%28%22size%22%2C%20%225%22%29%3B%3C/script%3E%3Cfont%20size%3D4%3E%3Cp%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%225%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22document.getElementsByTagName%28%22font%22%29%5B2%5D.setAttribute%28%22size%22%2C%20%225%22%29%3B%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_webkit01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_webkit01.html
new file mode 100644
index 0000000000..ef4f16d9ca
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_scripted_webkit01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_scripted_webkit01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['3ff6ec1125852c7933bf6d89ecb375354e6e1b40','46ae362de712eb9c55916de93110299dbbcb5726',];
+ var tests = {
+ "3ff6ec1125852c7933bf6d89ecb375354e6e1b40":[async_test('html5lib_scripted_webkit01.html 3ff6ec1125852c7933bf6d89ecb375354e6e1b40'), "1%3Cscript%3Edocument.write%28%222%22%29%3C/script%3E3", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22document.write%28%222%22%29%22%0A%7C%20%20%20%20%20%2223%22"],"46ae362de712eb9c55916de93110299dbbcb5726":[async_test('html5lib_scripted_webkit01.html 46ae362de712eb9c55916de93110299dbbcb5726'), "1%3Cscript%3Edocument.write%28%22%3Cscript%3Edocument.write%28%272%27%29%3C/scr%22%2B%20%22ipt%3E%3Cscript%3Edocument.write%28%273%27%29%3C/scr%22%20%2B%20%22ipt%3E%22%29%3C/script%3E4", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22document.write%28%22%3Cscript%3Edocument.write%28%272%27%29%3C/scr%22%2B%20%22ipt%3E%3Cscript%3Edocument.write%28%273%27%29%3C/scr%22%20%2B%20%22ipt%3E%22%29%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22document.write%28%272%27%29%22%0A%7C%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22document.write%28%273%27%29%22%0A%7C%20%20%20%20%20%2234%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_search-element.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_search-element.html
new file mode 100644
index 0000000000..b3d9e3caac
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_search-element.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_search-element.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['114b9f3c8147c0ed8ef3ed1811a9da3f10d74402','2204afb9037ec886f428ab5dcead5ee9f87c65cb','5153f797fbb63a23a40d19e298aca06d53d22f7f',];
+ var tests = {
+ "114b9f3c8147c0ed8ef3ed1811a9da3f10d74402":[async_test('html5lib_search-element.html 114b9f3c8147c0ed8ef3ed1811a9da3f10d74402'), "%3C%21doctype%20html%3E%3Cp%3Efoo%3Csearch%3Ebar%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Csearch%3E%0A%7C%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22baz%22"],"2204afb9037ec886f428ab5dcead5ee9f87c65cb":[async_test('html5lib_search-element.html 2204afb9037ec886f428ab5dcead5ee9f87c65cb'), "%3C%21doctype%20html%3E%3Csearch%3E%3Cp%3Efoo%3C/search%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csearch%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"5153f797fbb63a23a40d19e298aca06d53d22f7f":[async_test('html5lib_search-element.html 5153f797fbb63a23a40d19e298aca06d53d22f7f'), "%3C%21DOCTYPE%20html%3Exxx%3Csvg%3E%3Cx%3E%3Cg%3E%3Ca%3E%3Csearch%3E%3Cb%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22xxx%22%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20x%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20a%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20search%3E%0A%7C%20%20%20%20%20%3Cb%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tables01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tables01.html
new file mode 100644
index 0000000000..fb922f8e68
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tables01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tables01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['86a267778d1960b41f887b7bd2cd3ebf691d2e42','b6c1142484570bb90c36e454ee193cca17bb618a','7c507b825650f9721ea9656b1e844752a2424271','d10316cac9d03820ecfbc85ab373632e12d70c75','331a8c15a2f1dd3a9a1c31f5c65b99d356a65f30','6cdb83f12cb37a56f5ebad018ec3b07c2ad5b89f','9d01d4a7d7519e410e10493c8b108298b6733c31','b4615709ab72b6aa6cbf836582bd40fd93c0deb5','24132334bffa9eea4c8e29c940a8201f4253baf5','103784c31b8e3280b19e30f3b26f467585fbc304','0787e31440ae020f6f6e6207c364e9a2daec1c6f','1c40461886d4fdfca6ac5ef1d766b6fbf360ff9c','aea3c063f853938a36184825893e0820b700e241','6595dc192b10c479a543dbe25e67e6e0b6923ea8','9fcd09d757401684bcc28eaec005ed82718e836f','4be18eaaf0aa53f224b4ff8aeaf47d44ba854260','8e743c4f0ab5783b8973533640f669c92acb3797','201737ac5662941cdf6ece5d6721ea8b0647f0ce','9e7ce39b2b0c14d2cad5039047947000b0310f36',];
+ var tests = {
+ "86a267778d1960b41f887b7bd2cd3ebf691d2e42":[async_test('html5lib_tables01.html 86a267778d1960b41f887b7bd2cd3ebf691d2e42'), "%3Ctable%3E%3Cth%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cth%3E"],"b6c1142484570bb90c36e454ee193cca17bb618a":[async_test('html5lib_tables01.html b6c1142484570bb90c36e454ee193cca17bb618a'), "%3Ctable%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"7c507b825650f9721ea9656b1e844752a2424271":[async_test('html5lib_tables01.html 7c507b825650f9721ea9656b1e844752a2424271'), "%3Ctable%3E%3Ccol%20foo%3D%27bar%27%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20foo%3D%22bar%22"],"d10316cac9d03820ecfbc85ab373632e12d70c75":[async_test('html5lib_tables01.html d10316cac9d03820ecfbc85ab373632e12d70c75'), "%3Ctable%3E%3Ccolgroup%3E%3C/html%3Efoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"331a8c15a2f1dd3a9a1c31f5c65b99d356a65f30":[async_test('html5lib_tables01.html 331a8c15a2f1dd3a9a1c31f5c65b99d356a65f30'), "%3Ctable%3E%3C/table%3E%3Cp%3Efoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"6cdb83f12cb37a56f5ebad018ec3b07c2ad5b89f":[async_test('html5lib_tables01.html 6cdb83f12cb37a56f5ebad018ec3b07c2ad5b89f'), "%3Ctable%3E%3C/body%3E%3C/caption%3E%3C/col%3E%3C/colgroup%3E%3C/html%3E%3C/tbody%3E%3C/td%3E%3C/tfoot%3E%3C/th%3E%3C/thead%3E%3C/tr%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"9d01d4a7d7519e410e10493c8b108298b6733c31":[async_test('html5lib_tables01.html 9d01d4a7d7519e410e10493c8b108298b6733c31'), "%3Ctable%3E%3Cselect%3E%3Coption%3E3%3C/select%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"b4615709ab72b6aa6cbf836582bd40fd93c0deb5":[async_test('html5lib_tables01.html b4615709ab72b6aa6cbf836582bd40fd93c0deb5'), "%3Ctable%3E%3Cselect%3E%3Ctable%3E%3C/table%3E%3C/select%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"24132334bffa9eea4c8e29c940a8201f4253baf5":[async_test('html5lib_tables01.html 24132334bffa9eea4c8e29c940a8201f4253baf5'), "%3Ctable%3E%3Cselect%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"103784c31b8e3280b19e30f3b26f467585fbc304":[async_test('html5lib_tables01.html 103784c31b8e3280b19e30f3b26f467585fbc304'), "%3Ctable%3E%3Cselect%3E%3Coption%3EA%3Ctr%3E%3Ctd%3EB%3C/td%3E%3C/tr%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22B%22"],"0787e31440ae020f6f6e6207c364e9a2daec1c6f":[async_test('html5lib_tables01.html 0787e31440ae020f6f6e6207c364e9a2daec1c6f'), "%3Ctable%3E%3Ctd%3E%3C/body%3E%3C/caption%3E%3C/col%3E%3C/colgroup%3E%3C/html%3Efoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22"],"1c40461886d4fdfca6ac5ef1d766b6fbf360ff9c":[async_test('html5lib_tables01.html 1c40461886d4fdfca6ac5ef1d766b6fbf360ff9c'), "%3Ctable%3E%3Ctd%3EA%3C/table%3EB", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%22B%22"],"aea3c063f853938a36184825893e0820b700e241":[async_test('html5lib_tables01.html aea3c063f853938a36184825893e0820b700e241'), "%3Ctable%3E%3Ctr%3E%3Ccaption%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E"],"6595dc192b10c479a543dbe25e67e6e0b6923ea8":[async_test('html5lib_tables01.html 6595dc192b10c479a543dbe25e67e6e0b6923ea8'), "%3Ctable%3E%3Ctr%3E%3C/body%3E%3C/caption%3E%3C/col%3E%3C/colgroup%3E%3C/html%3E%3C/td%3E%3C/th%3E%3Ctd%3Efoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22"],"9fcd09d757401684bcc28eaec005ed82718e836f":[async_test('html5lib_tables01.html 9fcd09d757401684bcc28eaec005ed82718e836f'), "%3Ctable%3E%3Ctd%3E%3Ctr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"4be18eaaf0aa53f224b4ff8aeaf47d44ba854260":[async_test('html5lib_tables01.html 4be18eaaf0aa53f224b4ff8aeaf47d44ba854260'), "%3Ctable%3E%3Ctd%3E%3Cbutton%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"8e743c4f0ab5783b8973533640f669c92acb3797":[async_test('html5lib_tables01.html 8e743c4f0ab5783b8973533640f669c92acb3797'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3Cdesc%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"201737ac5662941cdf6ece5d6721ea8b0647f0ce":[async_test('html5lib_tables01.html 201737ac5662941cdf6ece5d6721ea8b0647f0ce'), "%3Cdiv%3E%3Ctable%3E%3Csvg%3E%3CforeignObject%3E%3Cselect%3E%3Ctable%3E%3Cs%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cs%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"9e7ce39b2b0c14d2cad5039047947000b0310f36":[async_test('html5lib_tables01.html 9e7ce39b2b0c14d2cad5039047947000b0310f36'), "%3Ctable%3Ea%3C%21doctype%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%3Ctable%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_template.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_template.html
new file mode 100644
index 0000000000..90e0779fdb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_template.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_template.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['010950d55f4eccf16e9c4af1d263bb747294c646','a838bd54410cef059a42eea9606356488e16535b','27fb9111f6675a7e033b867480c0afddcda161a6','aee883a65775489399a003b2371d58248a6aff6f','89b17b54ab343191bf74ef5434f4d2cfac40ea97','c4433556c7414cfd71f27b420f1ffc4348774f5e','3dcce7d97108b3e9ea7fa96f240ac62bf280e74b','a1f587f7ea85ccfe294bd45bfb501e850cb979e0','cd26a7832f13bdc135697321ca6c2fecdca6ef5d','e30571d90b0e56864499961eb7be955994cf72e2','01cbe9f6a25f286b08d8dc4f7b65421e8eb3500c','96cbbcdffe02c86a8b929604c2fd5f3571a18dbe','d51676f55550e960dd0f5fa7fd0bdfa20bdde046','f9dfd9acfd494489c899604649a01d864741f50f','ea00361c265d3ffb47ce636d919c94ca10d58911','d8ebfcf7694c9d04457e796ac73049210313602e','b4d5e6fe9b92e2c8f54199d7cab3da383c42add0','07724ef8f7a4fa61c77ffcd5180d3101c4781502','e90f8aae8fc690540b42b3ffa3e741e7c1dfbf43','687bdf4adda88a316ec69fe20e84720acc5d1fe6','5b232642f472c2b4c0c7511fed464eebe686b427','dc1ac1830a881d1532a1e6fd6d0cfa56d6571da2','c58747a85e8b4f44d7ae63c04cdad783a903c25e','ca59bfdaec7451f704973176fab46e582bd691b2','cf807d6391a58c172b6c15c3b01d2a99ec0e6cf8','350b7ac850e46de79615308fc923649264406104','a31ff44edf7f377543dabdda8141cda9bb6de134','533c5c1b5f0d0cbb1ede2cc5ae927095c5b21f0b','61f79e083005007853c4f8e431559ac8d3845cfd','e802e85f36792b176b73c102c0e8761d9478621d','51d0797ff7653cd7be34458d689146e08a666c7f','d60e4079a18bd6266740cc61d1ca736e9d5098ce','308709292677b4d74c108a811ad7b7acd0bdfc9c','8965cdf9c4e9936262e25c90c7a7f8673840a445','7dccda789764beb489e09be10188af9347335d05','e15be51c77e1a6de35568a099ed339440ce9426d','503d3782e45940c19f096f360a092282b46ab1ea','b4ab56fd9e9cebf479d14adfa523c06d16483a5e','cd8bc9521f9683086a9e8529dd97314a6869daeb','f915e7b3407c24b28c3aad318e5693cc774020f4','3c5eb261787b3d15aff86fa61de773fd7e439b0e','2b57775750c198d4b98b23aed74ff80a866a01f5','dc3d016610f3ab532525a6c2871f03d6b62b0168','6a184d71d00580a26a8b6bd97aafe5503339f3f6','ce570a6c4bcee8b72a03e25508c6dd72e3cc6c35','e0c3d922f7b1f1654f02f716c3d9b31198ce3385','87e67242bf6debcf3b7dca852d10aa0f7b625b28','35ac4d4c972a01d368ed0cacb41370efef0a644d','5226c39dfc2d624ad4191b4eacb7e40c7ae528eb','aa90cd4db6b12e0a47341914a90cc536eec32d64','48af1faf5fcf48a0854af5a5c33656d9ccf6736b','ed3a029ba5e7f59969d65a4fc490a8f13b098cb9','6c8880d54475ad9574e203dcf2e55820b123cc64','275060925a844cb51b29bae660301de9780d68c8','9f82f6ec4c0a48c1d4dfbe6803b94abd553aea88','f094bf7e94a88b86c80a0643e70c8e5ff3354698','35a07ec3b4bf26ea407dc1ddf52f14195a714059','24faa53b271f994a4ff31d5796c8ff47d6f2c3e6','0f1c491b58c2dd3c402a62e37f833bc1f1db8d21','868d918a7b5d8b5c065c15229492bc2022bfbcba','0538efa44e857596c556033a3821d424378aea3f','e7d7bf3973c70d3cf9b0adad2ebed9f25be48d66','c69d0ac542d477b7312bb24981127b8aa8fdb1df','b496a8c13a7bd75b778bb0de489726aee952ae0c','5d6ee61de40274c9626ca78ee208d51276d5662d','9bd9687a65f258adc24450fc5cbd781fff6c038a','db1baeb846d718c773324746524fbd68f2e9436e','4b0ce46c611dbcc016db272ef007f302bee0c897','1a735e1c7f28f8701f3c7fd5e9404b8911916086','0686eedec06b2db1dc283fac92c1ef1a33114c71','d4dfb87ce626f12923056a6cd77448eaf4660ac2','1f295920f2937b2c8023b3761c43a0d4d9e5353c','3b91fa08fad923d387d924cff37fbf6b4c3a5712','45a1c1ad5d99ad67c573096a79253996a664e01b','0fe3a66773c6048c8f6f2c92f2611f65be972ec1','be40897ca411e1507197c31ab2a9f9752a05f769','dcfb1048ed5c40e406b4fbf0cde24c826713907f','78263aeea68ac97903598682013bae9c0c21d547','5aa177ef1a35bf4502dcb867d8e666288982ba99','5d303375907dc4d4380b477e0317c17b660613e9','d822f726927c34b92fe102b13e63920850878f6a','07acdcaeb4fa639296d46673cf28823ddf2a6ca7','58bd846ce1be0caf7560fba2ef19e2c2070ab123','8eeee377e5ab324731cc592f1fa8abe1045ad610','b30690019090149132fc228a7261c5cf2fd149fc','67a209d928804f90fdb66d070201b23f3d0c8a42','12104886b8f87daa937eac30b5ff0e1e074eaa6f','483cc9957a7225fe435112642be59abb4c459a1e','72d8ac431a154c40ab75d53a258d9d80d47689eb','1125967cbbcd404f4cb14d48270b8ec778970d77','32c963e164b9ec82c60e490bb141c1ccc70b992f','574a95fc9c9f2de3aeaa0c9ee1e6967fc3d4770d','332863a7f9e61bff32bd3427ede7a088b790d453','2121db07146781773df9e53b94fa921a805175ce','8675de267cd7e34f2febdee3feb665614d1562fe','c5d26ad923a2b1e988ddd378ca4fb26eb48353e1','eec1542e2fa0e9eafb7f8d4a51eae56b5a31b3c8','b79387a54c3b136db0f28ed96555ff683b3947fe','c477a29a4deb32d072a415fa809a84a4f2beee0c','26e4480c08e1f5f7b6ac8b8c1832ab0312e3b7c5','24b3b50fdd0bf8d5cf2ebaa6bf502d7bcfde1da4','d3704c68528357189eb5826ab66eea071d6137a5','d958f7d44faf772d1fb60f1a8f186f837ca735d9','3fc4d97fa68fc2658356bdbd4e051c867de8de53','94820107bbf3fab3f82de1f717e8413aead7d3a6','ed920bca1fe1f5ad471bbd81adf8a41f3e2d9b06','657c00ebdda37ae060cc69633ed98482ccc29e18','649fc955a4b60ab2a5b881d94c9493eb4a545002','977041956eb9c7b9db73935168aba92f77c079f6','fafee395fea124791df59bafeb1136342b64d3c6','d5a8beecf5d3c53e947772ad887808d132334aa1',];
+ var tests = {
+ "010950d55f4eccf16e9c4af1d263bb747294c646":[async_test('html5lib_template.html 010950d55f4eccf16e9c4af1d263bb747294c646'), "%3Cbody%3E%3Ctemplate%3EHello%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%22Hello%22"],"a838bd54410cef059a42eea9606356488e16535b":[async_test('html5lib_template.html a838bd54410cef059a42eea9606356488e16535b'), "%3Ctemplate%3EHello%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%22Hello%22%0A%7C%20%20%20%3Cbody%3E"],"27fb9111f6675a7e033b867480c0afddcda161a6":[async_test('html5lib_template.html 27fb9111f6675a7e033b867480c0afddcda161a6'), "%3Ctemplate%3E%3C/template%3E%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"aee883a65775489399a003b2371d58248a6aff6f":[async_test('html5lib_template.html aee883a65775489399a003b2371d58248a6aff6f'), "%3Chtml%3E%3Ctemplate%3EHello%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%22Hello%22%0A%7C%20%20%20%3Cbody%3E"],"89b17b54ab343191bf74ef5434f4d2cfac40ea97":[async_test('html5lib_template.html 89b17b54ab343191bf74ef5434f4d2cfac40ea97'), "%3Chead%3E%3Ctemplate%3E%3Cdiv%3E%3C/div%3E%3C/template%3E%3C/head%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%3Cbody%3E"],"c4433556c7414cfd71f27b420f1ffc4348774f5e":[async_test('html5lib_template.html c4433556c7414cfd71f27b420f1ffc4348774f5e'), "%3Cdiv%3E%3Ctemplate%3E%3Cdiv%3E%3Cspan%3E%3C/template%3E%3Cb%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E"],"3dcce7d97108b3e9ea7fa96f240ac62bf280e74b":[async_test('html5lib_template.html 3dcce7d97108b3e9ea7fa96f240ac62bf280e74b'), "%3Cdiv%3E%3Ctemplate%3E%3C/div%3EHello", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Hello%22"],"a1f587f7ea85ccfe294bd45bfb501e850cb979e0":[async_test('html5lib_template.html a1f587f7ea85ccfe294bd45bfb501e850cb979e0'), "%3Cdiv%3E%3C/template%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"cd26a7832f13bdc135697321ca6c2fecdca6ef5d":[async_test('html5lib_template.html cd26a7832f13bdc135697321ca6c2fecdca6ef5d'), "%3Ctable%3E%3Ctemplate%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"e30571d90b0e56864499961eb7be955994cf72e2":[async_test('html5lib_template.html e30571d90b0e56864499961eb7be955994cf72e2'), "%3Ctable%3E%3Ctemplate%3E%3C/template%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"01cbe9f6a25f286b08d8dc4f7b65421e8eb3500c":[async_test('html5lib_template.html 01cbe9f6a25f286b08d8dc4f7b65421e8eb3500c'), "%3Ctable%3E%3Cdiv%3E%3Ctemplate%3E%3C/template%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%3Ctable%3E"],"96cbbcdffe02c86a8b929604c2fd5f3571a18dbe":[async_test('html5lib_template.html 96cbbcdffe02c86a8b929604c2fd5f3571a18dbe'), "%3Ctable%3E%3Ctemplate%3E%3C/template%3E%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"d51676f55550e960dd0f5fa7fd0bdfa20bdde046":[async_test('html5lib_template.html d51676f55550e960dd0f5fa7fd0bdfa20bdde046'), "%3Ctable%3E%20%20%20%3Ctemplate%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%20%20%20%22%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"f9dfd9acfd494489c899604649a01d864741f50f":[async_test('html5lib_template.html f9dfd9acfd494489c899604649a01d864741f50f'), "%3Ctable%3E%3Ctbody%3E%3Ctemplate%3E%3C/template%3E%3C/tbody%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"ea00361c265d3ffb47ce636d919c94ca10d58911":[async_test('html5lib_template.html ea00361c265d3ffb47ce636d919c94ca10d58911'), "%3Ctable%3E%3Ctbody%3E%3Ctemplate%3E%3C/tbody%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"d8ebfcf7694c9d04457e796ac73049210313602e":[async_test('html5lib_template.html d8ebfcf7694c9d04457e796ac73049210313602e'), "%3Ctable%3E%3Ctbody%3E%3Ctemplate%3E%3C/template%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"b4d5e6fe9b92e2c8f54199d7cab3da383c42add0":[async_test('html5lib_template.html b4d5e6fe9b92e2c8f54199d7cab3da383c42add0'), "%3Ctable%3E%3Cthead%3E%3Ctemplate%3E%3C/template%3E%3C/thead%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"07724ef8f7a4fa61c77ffcd5180d3101c4781502":[async_test('html5lib_template.html 07724ef8f7a4fa61c77ffcd5180d3101c4781502'), "%3Ctable%3E%3Ctfoot%3E%3Ctemplate%3E%3C/template%3E%3C/tfoot%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctfoot%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"e90f8aae8fc690540b42b3ffa3e741e7c1dfbf43":[async_test('html5lib_template.html e90f8aae8fc690540b42b3ffa3e741e7c1dfbf43'), "%3Cselect%3E%3Ctemplate%3E%3C/template%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"687bdf4adda88a316ec69fe20e84720acc5d1fe6":[async_test('html5lib_template.html 687bdf4adda88a316ec69fe20e84720acc5d1fe6'), "%3Cselect%3E%3Ctemplate%3E%3Coption%3E%3C/option%3E%3C/template%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Coption%3E"],"5b232642f472c2b4c0c7511fed464eebe686b427":[async_test('html5lib_template.html 5b232642f472c2b4c0c7511fed464eebe686b427'), "%3Ctemplate%3E%3Coption%3E%3C/option%3E%3C/select%3E%3Coption%3E%3C/option%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%3Cbody%3E"],"dc1ac1830a881d1532a1e6fd6d0cfa56d6571da2":[async_test('html5lib_template.html dc1ac1830a881d1532a1e6fd6d0cfa56d6571da2'), "%3Cselect%3E%3Ctemplate%3E%3C/template%3E%3Coption%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%3Coption%3E"],"c58747a85e8b4f44d7ae63c04cdad783a903c25e":[async_test('html5lib_template.html c58747a85e8b4f44d7ae63c04cdad783a903c25e'), "%3Cselect%3E%3Coption%3E%3Ctemplate%3E%3C/template%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"ca59bfdaec7451f704973176fab46e582bd691b2":[async_test('html5lib_template.html ca59bfdaec7451f704973176fab46e582bd691b2'), "%3Cselect%3E%3Ctemplate%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"cf807d6391a58c172b6c15c3b01d2a99ec0e6cf8":[async_test('html5lib_template.html cf807d6391a58c172b6c15c3b01d2a99ec0e6cf8'), "%3Cselect%3E%3Coption%3E%3C/option%3E%3Ctemplate%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content"],"350b7ac850e46de79615308fc923649264406104":[async_test('html5lib_template.html 350b7ac850e46de79615308fc923649264406104'), "%3Cselect%3E%3Coption%3E%3C/option%3E%3Ctemplate%3E%3Coption%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Coption%3E"],"a31ff44edf7f377543dabdda8141cda9bb6de134":[async_test('html5lib_template.html a31ff44edf7f377543dabdda8141cda9bb6de134'), "%3Ctable%3E%3Cthead%3E%3Ctemplate%3E%3Ctd%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"533c5c1b5f0d0cbb1ede2cc5ae927095c5b21f0b":[async_test('html5lib_template.html 533c5c1b5f0d0cbb1ede2cc5ae927095c5b21f0b'), "%3Ctable%3E%3Ctemplate%3E%3Cthead%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cthead%3E"],"61f79e083005007853c4f8e431559ac8d3845cfd":[async_test('html5lib_template.html 61f79e083005007853c4f8e431559ac8d3845cfd'), "%3Cbody%3E%3Ctable%3E%3Ctemplate%3E%3Ctd%3E%3C/tr%3E%3Cdiv%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"e802e85f36792b176b73c102c0e8761d9478621d":[async_test('html5lib_template.html e802e85f36792b176b73c102c0e8761d9478621d'), "%3Ctable%3E%3Ctemplate%3E%3Cthead%3E%3C/template%3E%3C/thead%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cthead%3E"],"51d0797ff7653cd7be34458d689146e08a666c7f":[async_test('html5lib_template.html 51d0797ff7653cd7be34458d689146e08a666c7f'), "%3Ctable%3E%3Cthead%3E%3Ctemplate%3E%3Ctr%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"d60e4079a18bd6266740cc61d1ca736e9d5098ce":[async_test('html5lib_template.html d60e4079a18bd6266740cc61d1ca736e9d5098ce'), "%3Ctable%3E%3Ctemplate%3E%3Ctr%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"308709292677b4d74c108a811ad7b7acd0bdfc9c":[async_test('html5lib_template.html 308709292677b4d74c108a811ad7b7acd0bdfc9c'), "%3Ctable%3E%3Ctr%3E%3Ctemplate%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"8965cdf9c4e9936262e25c90c7a7f8673840a445":[async_test('html5lib_template.html 8965cdf9c4e9936262e25c90c7a7f8673840a445'), "%3Ctable%3E%3Ctemplate%3E%3Ctr%3E%3Ctemplate%3E%3Ctd%3E%3C/template%3E%3C/tr%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"7dccda789764beb489e09be10188af9347335d05":[async_test('html5lib_template.html 7dccda789764beb489e09be10188af9347335d05'), "%3Ctable%3E%3Ctemplate%3E%3Ctr%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3C/template%3E%3C/tr%3E%3C/template%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"e15be51c77e1a6de35568a099ed339440ce9426d":[async_test('html5lib_template.html e15be51c77e1a6de35568a099ed339440ce9426d'), "%3Ctable%3E%3Ctemplate%3E%3Ctd%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"503d3782e45940c19f096f360a092282b46ab1ea":[async_test('html5lib_template.html 503d3782e45940c19f096f360a092282b46ab1ea'), "%3Cbody%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"b4ab56fd9e9cebf479d14adfa523c06d16483a5e":[async_test('html5lib_template.html b4ab56fd9e9cebf479d14adfa523c06d16483a5e'), "%3Cbody%3E%3Ctemplate%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3C/template%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"cd8bc9521f9683086a9e8529dd97314a6869daeb":[async_test('html5lib_template.html cd8bc9521f9683086a9e8529dd97314a6869daeb'), "%3Ctable%3E%3Ccolgroup%3E%3Ctemplate%3E%3Ccol%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"f915e7b3407c24b28c3aad318e5693cc774020f4":[async_test('html5lib_template.html f915e7b3407c24b28c3aad318e5693cc774020f4'), "%3Cframeset%3E%3Ctemplate%3E%3Cframe%3E%3C/frame%3E%3C/template%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"3c5eb261787b3d15aff86fa61de773fd7e439b0e":[async_test('html5lib_template.html 3c5eb261787b3d15aff86fa61de773fd7e439b0e'), "%3Ctemplate%3E%3Cframe%3E%3C/frame%3E%3C/frameset%3E%3Cframe%3E%3C/frame%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E"],"2b57775750c198d4b98b23aed74ff80a866a01f5":[async_test('html5lib_template.html 2b57775750c198d4b98b23aed74ff80a866a01f5'), "%3Ctemplate%3E%3Cdiv%3E%3Cframeset%3E%3Cspan%3E%3C/span%3E%3C/div%3E%3Cspan%3E%3C/span%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%3Cbody%3E"],"dc3d016610f3ab532525a6c2871f03d6b62b0168":[async_test('html5lib_template.html dc3d016610f3ab532525a6c2871f03d6b62b0168'), "%3Cbody%3E%3Ctemplate%3E%3Cdiv%3E%3Cframeset%3E%3Cspan%3E%3C/span%3E%3C/div%3E%3Cspan%3E%3C/span%3E%3C/template%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"6a184d71d00580a26a8b6bd97aafe5503339f3f6":[async_test('html5lib_template.html 6a184d71d00580a26a8b6bd97aafe5503339f3f6'), "%3Cbody%3E%3Ctemplate%3E%3Cscript%3Evar%20i%20%3D%201%3B%3C/script%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22var%20i%20%3D%201%3B%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"ce570a6c4bcee8b72a03e25508c6dd72e3cc6c35":[async_test('html5lib_template.html ce570a6c4bcee8b72a03e25508c6dd72e3cc6c35'), "%3Cbody%3E%3Ctemplate%3E%3Ctr%3E%3Cdiv%3E%3C/div%3E%3C/tr%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"e0c3d922f7b1f1654f02f716c3d9b31198ce3385":[async_test('html5lib_template.html e0c3d922f7b1f1654f02f716c3d9b31198ce3385'), "%3Cbody%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"87e67242bf6debcf3b7dca852d10aa0f7b625b28":[async_test('html5lib_template.html 87e67242bf6debcf3b7dca852d10aa0f7b625b28'), "%3Cbody%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3C/tr%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"35ac4d4c972a01d368ed0cacb41370efef0a644d":[async_test('html5lib_template.html 35ac4d4c972a01d368ed0cacb41370efef0a644d'), "%3Cbody%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3Ctbody%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"5226c39dfc2d624ad4191b4eacb7e40c7ae528eb":[async_test('html5lib_template.html 5226c39dfc2d624ad4191b4eacb7e40c7ae528eb'), "%3Cbody%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3Ccaption%3E%3C/caption%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"aa90cd4db6b12e0a47341914a90cc536eec32d64":[async_test('html5lib_template.html aa90cd4db6b12e0a47341914a90cc536eec32d64'), "%3Cbody%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3Ccolgroup%3E%3C/caption%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"48af1faf5fcf48a0854af5a5c33656d9ccf6736b":[async_test('html5lib_template.html 48af1faf5fcf48a0854af5a5c33656d9ccf6736b'), "%3Cbody%3E%3Ctemplate%3E%3Ctd%3E%3C/td%3E%3C/table%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"ed3a029ba5e7f59969d65a4fc490a8f13b098cb9":[async_test('html5lib_template.html ed3a029ba5e7f59969d65a4fc490a8f13b098cb9'), "%3Cbody%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3Ctbody%3E%3Ctr%3E%3C/tr%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"6c8880d54475ad9574e203dcf2e55820b123cc64":[async_test('html5lib_template.html 6c8880d54475ad9574e203dcf2e55820b123cc64'), "%3Cbody%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3Ccaption%3E%3Ctr%3E%3C/tr%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"275060925a844cb51b29bae660301de9780d68c8":[async_test('html5lib_template.html 275060925a844cb51b29bae660301de9780d68c8'), "%3Cbody%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3C/table%3E%3Ctr%3E%3C/tr%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"9f82f6ec4c0a48c1d4dfbe6803b94abd553aea88":[async_test('html5lib_template.html 9f82f6ec4c0a48c1d4dfbe6803b94abd553aea88'), "%3Cbody%3E%3Ctemplate%3E%3Cthead%3E%3C/thead%3E%3Ccaption%3E%3C/caption%3E%3Ctbody%3E%3C/tbody%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E"],"f094bf7e94a88b86c80a0643e70c8e5ff3354698":[async_test('html5lib_template.html f094bf7e94a88b86c80a0643e70c8e5ff3354698'), "%3Cbody%3E%3Ctemplate%3E%3Cthead%3E%3C/thead%3E%3C/table%3E%3Ctbody%3E%3C/tbody%3E%3C/template%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E"],"35a07ec3b4bf26ea407dc1ddf52f14195a714059":[async_test('html5lib_template.html 35a07ec3b4bf26ea407dc1ddf52f14195a714059'), "%3Cbody%3E%3Ctemplate%3E%3Cdiv%3E%3Ctr%3E%3C/tr%3E%3C/div%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"24faa53b271f994a4ff31d5796c8ff47d6f2c3e6":[async_test('html5lib_template.html 24faa53b271f994a4ff31d5796c8ff47d6f2c3e6'), "%3Cbody%3E%3Ctemplate%3E%3Cem%3EHello%3C/em%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Hello%22"],"0f1c491b58c2dd3c402a62e37f833bc1f1db8d21":[async_test('html5lib_template.html 0f1c491b58c2dd3c402a62e37f833bc1f1db8d21'), "%3Cbody%3E%3Ctemplate%3E%3C%21--comment--%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3C%21--%20comment%20--%3E"],"868d918a7b5d8b5c065c15229492bc2022bfbcba":[async_test('html5lib_template.html 868d918a7b5d8b5c065c15229492bc2022bfbcba'), "%3Cbody%3E%3Ctemplate%3E%3Cstyle%3E%3C/style%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"0538efa44e857596c556033a3821d424378aea3f":[async_test('html5lib_template.html 0538efa44e857596c556033a3821d424378aea3f'), "%3Cbody%3E%3Ctemplate%3E%3Cmeta%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"e7d7bf3973c70d3cf9b0adad2ebed9f25be48d66":[async_test('html5lib_template.html e7d7bf3973c70d3cf9b0adad2ebed9f25be48d66'), "%3Cbody%3E%3Ctemplate%3E%3Clink%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Clink%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"c69d0ac542d477b7312bb24981127b8aa8fdb1df":[async_test('html5lib_template.html c69d0ac542d477b7312bb24981127b8aa8fdb1df'), "%3Cbody%3E%3Ctable%3E%3Ccolgroup%3E%3Ctemplate%3E%3Ccol%3E%3C/col%3E%3C/template%3E%3C/colgroup%3E%3C/table%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"b496a8c13a7bd75b778bb0de489726aee952ae0c":[async_test('html5lib_template.html b496a8c13a7bd75b778bb0de489726aee952ae0c'), "%3Cbody%20a%3Db%3E%3Ctemplate%3E%3Cdiv%3E%3C/div%3E%3Cbody%20c%3Dd%3E%3Cdiv%3E%3C/div%3E%3C/body%3E%3C/template%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20a%3D%22b%22%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"5d6ee61de40274c9626ca78ee208d51276d5662d":[async_test('html5lib_template.html 5d6ee61de40274c9626ca78ee208d51276d5662d'), "%3Chtml%20a%3Db%3E%3Ctemplate%3E%3Cdiv%3E%3Chtml%20b%3Dc%3E%3Cspan%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20a%3D%22b%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%3Cbody%3E"],"9bd9687a65f258adc24450fc5cbd781fff6c038a":[async_test('html5lib_template.html 9bd9687a65f258adc24450fc5cbd781fff6c038a'), "%3Chtml%20a%3Db%3E%3Ctemplate%3E%3Ccol%3E%3C/col%3E%3Chtml%20b%3Dc%3E%3Ccol%3E%3C/col%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20a%3D%22b%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%3Cbody%3E"],"db1baeb846d718c773324746524fbd68f2e9436e":[async_test('html5lib_template.html db1baeb846d718c773324746524fbd68f2e9436e'), "%3Chtml%20a%3Db%3E%3Ctemplate%3E%3Cframe%3E%3C/frame%3E%3Chtml%20b%3Dc%3E%3Cframe%3E%3C/frame%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20a%3D%22b%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E"],"4b0ce46c611dbcc016db272ef007f302bee0c897":[async_test('html5lib_template.html 4b0ce46c611dbcc016db272ef007f302bee0c897'), "%3Cbody%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3Ctemplate%3E%3C/template%3E%3Ctd%3E%3C/td%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"1a735e1c7f28f8701f3c7fd5e9404b8911916086":[async_test('html5lib_template.html 1a735e1c7f28f8701f3c7fd5e9404b8911916086'), "%3Cbody%3E%3Ctemplate%3E%3Cthead%3E%3C/thead%3E%3Ctemplate%3E%3Ctr%3E%3C/tr%3E%3C/template%3E%3Ctr%3E%3C/tr%3E%3Ctfoot%3E%3C/tfoot%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctfoot%3E"],"0686eedec06b2db1dc283fac92c1ef1a33114c71":[async_test('html5lib_template.html 0686eedec06b2db1dc283fac92c1ef1a33114c71'), "%3Cbody%3E%3Ctemplate%3E%3Ctemplate%3E%3Cb%3E%3Ctemplate%3E%3C/template%3E%3C/template%3Etext%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%22text%22"],"d4dfb87ce626f12923056a6cd77448eaf4660ac2":[async_test('html5lib_template.html d4dfb87ce626f12923056a6cd77448eaf4660ac2'), "%3Cbody%3E%3Ctemplate%3E%3Ccol%3E%3Ccolgroup%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"1f295920f2937b2c8023b3761c43a0d4d9e5353c":[async_test('html5lib_template.html 1f295920f2937b2c8023b3761c43a0d4d9e5353c'), "%3Cbody%3E%3Ctemplate%3E%3Ccol%3E%3C/colgroup%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"3b91fa08fad923d387d924cff37fbf6b4c3a5712":[async_test('html5lib_template.html 3b91fa08fad923d387d924cff37fbf6b4c3a5712'), "%3Cbody%3E%3Ctemplate%3E%3Ccol%3E%3Ccolgroup%3E%3C/template%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"45a1c1ad5d99ad67c573096a79253996a664e01b":[async_test('html5lib_template.html 45a1c1ad5d99ad67c573096a79253996a664e01b'), "%3Cbody%3E%3Ctemplate%3E%3Ccol%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"0fe3a66773c6048c8f6f2c92f2611f65be972ec1":[async_test('html5lib_template.html 0fe3a66773c6048c8f6f2c92f2611f65be972ec1'), "%3Cbody%3E%3Ctemplate%3E%3Ccol%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"be40897ca411e1507197c31ab2a9f9752a05f769":[async_test('html5lib_template.html be40897ca411e1507197c31ab2a9f9752a05f769'), "%3Cbody%3E%3Ctemplate%3E%3Ccol%3EHello", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"dcfb1048ed5c40e406b4fbf0cde24c826713907f":[async_test('html5lib_template.html dcfb1048ed5c40e406b4fbf0cde24c826713907f'), "%3Cbody%3E%3Ctemplate%3E%3Ci%3E%3Cmenu%3EFoo%3C/i%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmenu%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22Foo%22"],"78263aeea68ac97903598682013bae9c0c21d547":[async_test('html5lib_template.html 78263aeea68ac97903598682013bae9c0c21d547'), "%3Cbody%3E%3Ctemplate%3E%3C/div%3E%3Cdiv%3EFoo%3C/div%3E%3Ctemplate%3E%3C/template%3E%3Ctr%3E%3C/tr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Foo%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content"],"5aa177ef1a35bf4502dcb867d8e666288982ba99":[async_test('html5lib_template.html 5aa177ef1a35bf4502dcb867d8e666288982ba99'), "%3Cbody%3E%3Cdiv%3E%3Ctemplate%3E%3C/div%3E%3Ctr%3E%3Ctd%3EFoo%3C/td%3E%3C/tr%3E%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Foo%22"],"5d303375907dc4d4380b477e0317c17b660613e9":[async_test('html5lib_template.html 5d303375907dc4d4380b477e0317c17b660613e9'), "%3Ctemplate%3E%3C/figcaption%3E%3Csub%3E%3Ctable%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Csub%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%3Cbody%3E"],"d822f726927c34b92fe102b13e63920850878f6a":[async_test('html5lib_template.html d822f726927c34b92fe102b13e63920850878f6a'), "%3Ctemplate%3E%3Ctemplate%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E"],"07acdcaeb4fa639296d46673cf28823ddf2a6ca7":[async_test('html5lib_template.html 07acdcaeb4fa639296d46673cf28823ddf2a6ca7'), "%3Ctemplate%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%3Cbody%3E"],"58bd846ce1be0caf7560fba2ef19e2c2070ab123":[async_test('html5lib_template.html 58bd846ce1be0caf7560fba2ef19e2c2070ab123'), "%3Ctemplate%3E%3Ctemplate%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%3Cbody%3E"],"8eeee377e5ab324731cc592f1fa8abe1045ad610":[async_test('html5lib_template.html 8eeee377e5ab324731cc592f1fa8abe1045ad610'), "%3Ctemplate%3E%3Ctemplate%3E%3Ctable%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%3Cbody%3E"],"b30690019090149132fc228a7261c5cf2fd149fc":[async_test('html5lib_template.html b30690019090149132fc228a7261c5cf2fd149fc'), "%3Ctemplate%3E%3Ctemplate%3E%3Ctbody%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%3Cbody%3E"],"67a209d928804f90fdb66d070201b23f3d0c8a42":[async_test('html5lib_template.html 67a209d928804f90fdb66d070201b23f3d0c8a42'), "%3Ctemplate%3E%3Ctemplate%3E%3Ctr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%3Cbody%3E"],"12104886b8f87daa937eac30b5ff0e1e074eaa6f":[async_test('html5lib_template.html 12104886b8f87daa937eac30b5ff0e1e074eaa6f'), "%3Ctemplate%3E%3Ctemplate%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%3Cbody%3E"],"483cc9957a7225fe435112642be59abb4c459a1e":[async_test('html5lib_template.html 483cc9957a7225fe435112642be59abb4c459a1e'), "%3Ctemplate%3E%3Ctemplate%3E%3Ccaption%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%3Cbody%3E"],"72d8ac431a154c40ab75d53a258d9d80d47689eb":[async_test('html5lib_template.html 72d8ac431a154c40ab75d53a258d9d80d47689eb'), "%3Ctemplate%3E%3Ctemplate%3E%3Ccolgroup%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%3Cbody%3E"],"1125967cbbcd404f4cb14d48270b8ec778970d77":[async_test('html5lib_template.html 1125967cbbcd404f4cb14d48270b8ec778970d77'), "%3Ctemplate%3E%3Ctemplate%3E%3Ccol%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%3Cbody%3E"],"32c963e164b9ec82c60e490bb141c1ccc70b992f":[async_test('html5lib_template.html 32c963e164b9ec82c60e490bb141c1ccc70b992f'), "%3Ctemplate%3E%3Ctemplate%3E%3Ctbody%3E%3Cselect%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%3Cbody%3E"],"574a95fc9c9f2de3aeaa0c9ee1e6967fc3d4770d":[async_test('html5lib_template.html 574a95fc9c9f2de3aeaa0c9ee1e6967fc3d4770d'), "%3Ctemplate%3E%3Ctemplate%3E%3Ctable%3EFoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22Foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%3Cbody%3E"],"332863a7f9e61bff32bd3427ede7a088b790d453":[async_test('html5lib_template.html 332863a7f9e61bff32bd3427ede7a088b790d453'), "%3Ctemplate%3E%3Ctemplate%3E%3Cframe%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E"],"2121db07146781773df9e53b94fa921a805175ce":[async_test('html5lib_template.html 2121db07146781773df9e53b94fa921a805175ce'), "%3Ctemplate%3E%3Ctemplate%3E%3Cscript%3Evar%20i", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22var%20i%22%0A%7C%20%20%20%3Cbody%3E"],"8675de267cd7e34f2febdee3feb665614d1562fe":[async_test('html5lib_template.html 8675de267cd7e34f2febdee3feb665614d1562fe'), "%3Ctemplate%3E%3Ctemplate%3E%3Cstyle%3Evar%20i", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22var%20i%22%0A%7C%20%20%20%3Cbody%3E"],"c5d26ad923a2b1e988ddd378ca4fb26eb48353e1":[async_test('html5lib_template.html c5d26ad923a2b1e988ddd378ca4fb26eb48353e1'), "%3Ctemplate%3E%3Ctable%3E%3C/template%3E%3Cbody%3E%3Cspan%3EFoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%22Foo%22"],"eec1542e2fa0e9eafb7f8d4a51eae56b5a31b3c8":[async_test('html5lib_template.html eec1542e2fa0e9eafb7f8d4a51eae56b5a31b3c8'), "%3Ctemplate%3E%3Ctd%3E%3C/template%3E%3Cbody%3E%3Cspan%3EFoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%22Foo%22"],"b79387a54c3b136db0f28ed96555ff683b3947fe":[async_test('html5lib_template.html b79387a54c3b136db0f28ed96555ff683b3947fe'), "%3Ctemplate%3E%3Cobject%3E%3C/template%3E%3Cbody%3E%3Cspan%3EFoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cobject%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%22Foo%22"],"c477a29a4deb32d072a415fa809a84a4f2beee0c":[async_test('html5lib_template.html c477a29a4deb32d072a415fa809a84a4f2beee0c'), "%3Ctemplate%3E%3Csvg%3E%3Ctemplate%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20template%3E%0A%7C%20%20%20%3Cbody%3E"],"26e4480c08e1f5f7b6ac8b8c1832ab0312e3b7c5":[async_test('html5lib_template.html 26e4480c08e1f5f7b6ac8b8c1832ab0312e3b7c5'), "%3Ctemplate%3E%3Csvg%3E%3Cfoo%3E%3Ctemplate%3E%3CforeignObject%3E%3Cdiv%3E%3C/template%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20template%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"24b3b50fdd0bf8d5cf2ebaa6bf502d7bcfde1da4":[async_test('html5lib_template.html 24b3b50fdd0bf8d5cf2ebaa6bf502d7bcfde1da4'), "%3Cdummy%3E%3Ctemplate%3E%3Cspan%3E%3C/dummy%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdummy%3E%0A%7C%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"d3704c68528357189eb5826ab66eea071d6137a5":[async_test('html5lib_template.html d3704c68528357189eb5826ab66eea071d6137a5'), "%3Cbody%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Ctemplate%3EFoo%3C/template%3E%3Ccaption%3EA%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Foo%22%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%22A%22"],"d958f7d44faf772d1fb60f1a8f186f837ca735d9":[async_test('html5lib_template.html d958f7d44faf772d1fb60f1a8f186f837ca735d9'), "%3Cbody%3E%3C/body%3E%3Ctemplate%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content"],"3fc4d97fa68fc2658356bdbd4e051c867de8de53":[async_test('html5lib_template.html 3fc4d97fa68fc2658356bdbd4e051c867de8de53'), "%3Chead%3E%3C/head%3E%3Ctemplate%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E"],"94820107bbf3fab3f82de1f717e8413aead7d3a6":[async_test('html5lib_template.html 94820107bbf3fab3f82de1f717e8413aead7d3a6'), "%3Chead%3E%3C/head%3E%3Ctemplate%3EFoo%3C/template%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%22Foo%22%0A%7C%20%20%20%3Cbody%3E"],"ed920bca1fe1f5ad471bbd81adf8a41f3e2d9b06":[async_test('html5lib_template.html ed920bca1fe1f5ad471bbd81adf8a41f3e2d9b06'), "%3Chtml%3E%3Chead%3E%3C/head%3E%3Ctemplate%3E%3C/template%3E%3Chead%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%3Cbody%3E"],"657c00ebdda37ae060cc69633ed98482ccc29e18":[async_test('html5lib_template.html 657c00ebdda37ae060cc69633ed98482ccc29e18'), "%3C%21DOCTYPE%20HTML%3E%3Cdummy%3E%3Ctable%3E%3Ctemplate%3E%3Ctable%3E%3Ctemplate%3E%3Ctable%3E%3Cscript%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdummy%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cscript%3E"],"649fc955a4b60ab2a5b881d94c9493eb4a545002":[async_test('html5lib_template.html 649fc955a4b60ab2a5b881d94c9493eb4a545002'), "%3Ctemplate%3E%3Ca%3E%3Ctable%3E%3Ca%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%3Cbody%3E"],"977041956eb9c7b9db73935168aba92f77c079f6":[async_test('html5lib_template.html 977041956eb9c7b9db73935168aba92f77c079f6'), "%3C%21DOCTYPE%20HTML%3E%3Ctemplate%3E%3Ctr%3E%3Ctd%3Ecell%3C/td%3E%3C/tr%3E%3C/template%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22cell%22%0A%7C%20%20%20%3Cbody%3E"],"fafee395fea124791df59bafeb1136342b64d3c6":[async_test('html5lib_template.html fafee395fea124791df59bafeb1136342b64d3c6'), "%3C%21DOCTYPE%20HTML%3E%3Ctemplate%3E%20%3Ctr%3E%20%3Ctd%3Ecell%3C/td%3E%20%3C/tr%3E%20%3C/template%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22cell%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E"],"d5a8beecf5d3c53e947772ad887808d132334aa1":[async_test('html5lib_template.html d5a8beecf5d3c53e947772ad887808d132334aa1'), "%3C%21DOCTYPE%20HTML%3E%3Ctemplate%3E%3Ctr%3E%3Ctd%3Ecell%3C/td%3E%3C/tr%3Ea%3C/template%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22cell%22%0A%7C%20%20%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%3Cbody%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests1.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests1.html
new file mode 100644
index 0000000000..fa658fc768
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests1.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests1.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['4235382bf15f93f7dd1096832ae74cc71edef4d7','ad8515e9db0abd26469d0d2e46b42cebf606d4f3','2433aa5c088d78da9e7824e499f639177f56625d','c99d322c3502e38e9d18ac6c0180fa5462ce612e','d8473f7b5cec9d99526179f980ebf55a0beccbd3','ac7703fbb5c62cadb25024aed762c206c187a919','a00121213e2eb2c846a575f662e8c69389bfc44d','447f22e6a43ddbbc308afbc78b64b16452bc7bbb','cdac424e0f2fb979f21a64f50793d529375c01b3','63587d177231d2478a6ffd25f3c830fed7cc2efe','a3e13da13681f9f16c65334099136f3b5c235e6d','b7a06a5aa0c19d7914b853f5ed497743bb269e56','3d28b753b97f460868ca65ed8fc153021a815b8c','83cce5b1e1e49c92c618aabf1ed60926a8736456','b9e809bc4521004440bf558c7dc5d7dc1ae3dd40','60302916ab9a2128104dbf72629875ad19b5cb16','f4ad8e574fcac3bb08070eeb345855ea7081ea1d','d38fe13d87344a20bdf6e111988b5a09ed247913','e5f2e91cbff6a4bc56149b889f4f9396e455c5ad','18b58d1de184b6866963c902ff8451dd3522f540','88eb93691065e212a4323f55ec326585c7c44262','260db4c31fb80894beb825c4793e6142f178497d','59d9c5e2941952f7af99ed3e21d66e4fdb1df07c','1e788677da8eb26f560409392ff674744c6f8b64','240ee32b47e30bcf34483c7a7530cfeb99a6d1f1','e85dc012a49630206e6163cd1e0fd6c706865106','c440d1f0223d6b3ce85955d8246fdd47ecdfb034','9a2ce05a0b342b377ef054385131ad4d1b5ae84b','daa9d8440e2bc4d560536b52123b01e52aa81692','0b27e026dd03a356bbd78690fff7fb40cd63b606','a2d3321d1ea23b55d9117e5c2014e4ab0fa5e224','cc9c12dd44b43fa78ad340a91d20432e3f119c19','3d0cb9632b521a3fb334f567b3cdec985e85abd7','f158c8b44e4cdf872cc5bb4d148fad3ff27ea03f','1dfb5ce6c1a10d870a35b24314976d887c700c42','1fc4fad5eead893c51be2b6aa1d705cd58ebcfe9','f85417e345053cf627abf572911c0f7ffefe16c8','277ea1a5aade6c61a8386ff73086a91160caf5a2','32714c0ca1bae661ba9342ef275b2e6e5e025c34','619aa593419925064f51b0602000a2b9d13a8bc3','40fd9f6e4a08a69596f0dc0846d44ebd39e4913d','82120b3520ad73b9e11a413631e6f015ed0cf265','a9f265e67b901f8d41ece9bb631696795327ed50','6325e1d53c83784c1e5092861c8b0138fb4871ad','451c02faba02d2768e3497fdcc8ffb0dec41640d','fefda3429288aa79b4c9e8e9e3ba97897d0783c8','6328f70bb445e1dd692c36d6c92e2a2a7ed6ee0f','287320444eec6e3b4481d33738f971b696a2d6f0','65ea3a80efc973b5cd92c1db5a4520365bbb5478','d60de29dd2f3e8a080882986d6689d74fb981619','343048017f1928db8ba4c0b45a4f1dd3dadf3063','cf14f5563275bac3fe2c77f8973e882e51965b5b','2d8f9308951237fd0dcba3ff7709369cfd7563fd','87421a25ca75e2d6a165eb981921235f4de9210a','30d87693aead287d5a63310d2f819623455f4133','20d7a996a47fab66aead30ed7012d50b990dc65d','258c0966cc576ec8a563e41e783fa34f6b5c8baf','f7ee5b858e93b22e1594d6d8cd0bc0def665ac02','6d9127103f8733d168e69cf04b576a7b0bea3d5c','03db7399a2d674955930611fdbcaad9f4064243a','a0a1dcb330314ce12af02d136319a1be6a1ffa53','09b3483ef5f7a83aa9e3224d0335b6f9aa78ac73','34d56f09a1a9c0f51a8abc41be2f157faf0e8d15','dffa0785e6c80af52950a64d8612633de58bbb29','076e6ac3cb344d60f6ce9a5188cf103ff053830c','5f14cb9c8502f09105ad83e27842625c70f3857d','25172f395b855b6eeb61ff95a8162a34ca92195e','053beabf01d70d03a0ca61b809d5d986ddf2ea3d','bd385dbe93b192c2182e09e75d3664b96845ea0a','2ddaacb4f4e566ae79af5259f57f5b4dd166c19f','d430f2fc3bd20e658ed00b55e6c27f14204a7b6f','bbdb0a08b66b0789068ddac96a05ac39e104553d','37ed2a3a96026e7a78f6675154d11746aa9484e0','4177a74406cf1c048d2d6d6bcf774445f55ba517','fc188652d9f486174b21d1919f35ea8c13636ca1','c10f83cc69763e42964e08ddb976a1bd27b51e2f','64452c62ced87bd3cd8fd88df33a33d5531818d6','96dc04673021ad113df40397113df972f090c1f6','26b7eb0b18d9cd0a69d19c7f6ee9f12c2d0b2783','f8d500cd7089942814fa0751c75bd37e63790685','3b386c205ec767f842e63491d14ec90192f562dd','ca8ecc666a82d1f2f48a095d42d9f95700e015bd','6727ab7c4240bf05f0a5d9ca4b384ca8d61e2d4f','3ad08edf5b9690be261dc375da3b1d9ec82e499a','06ed0f32cfd261010c9d810ff8317ef96b47c04c','44ea84c7e4e401c9d3f96d7cc39709e4be81edc8','67af290f1b04c4b1a67131edba1ee832c690432c','2f1899f72fafcb062418e8ce892188040de4708c','ed2a4958c832ef6cec993cb52afc808132714d0a','c7943ccd9d880664b0894a2035e1f2a837f37c7a','bbc836b1f494223d4eb8982930d693489d135740','617fdf08035740698b2f0f4c3874dbb469fd1848','e901fe2093e51eccb4d9d23103214bc527af265c','63970995ab6b8aee63de9e7a7667178d4fc86820','d7607fdd41625431bcbee319a86db1b73fc49edd','ce31a583a3921e306aaa558b1ea798b34d2bb0dc','04ba864e740f7ef104570ddc6af834e6336031ed','ea6ab4a56efd19cc04b5656583ea6d5c9cfd2752','1bb5dfba014f63c0a18b12097ed9a28d64552e07','a2dd4d5a28a61ec99ce9dae35e9d4ffe92812e2f','e26f001557952154c308e3e6f6d1789cf711ef27','34c1f9c212198edd7baf56e658db21d98c59f74c','e1c47adbde197e3eaa9504f3582fd9deac1cbbff','0f5aba4c1ed57ac3c6a2774f3bf43ef598bd9915','d11ff75681c4df2ff24ad731ff244afc3e1c87af','fa392f5dd6f2f6a73635c06208c8989caa874588','5815b2afbb0a7f4756af7914407f71f469658f38','a100bb6a2a80bec65c418d672144b6f647fbd46b','f66797fd63c8b0254b4ef28e9c38c3d4e512c93c','f10a41faca4cf01e39ed92c4eefff0631d1195dc','5d14e20ae19e0b3e14dcb997e3ccad5f0e1956e1','1949f8c612e660985fb5eb28235b6f9386ed4ffc',];
+ var tests = {
+ "4235382bf15f93f7dd1096832ae74cc71edef4d7":[async_test('html5lib_tests1.html 4235382bf15f93f7dd1096832ae74cc71edef4d7'), "Test", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Test%22"],"ad8515e9db0abd26469d0d2e46b42cebf606d4f3":[async_test('html5lib_tests1.html ad8515e9db0abd26469d0d2e46b42cebf606d4f3'), "%3Cp%3EOne%3Cp%3ETwo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22One%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22Two%22"],"2433aa5c088d78da9e7824e499f639177f56625d":[async_test('html5lib_tests1.html 2433aa5c088d78da9e7824e499f639177f56625d'), "Line1%3Cbr%3ELine2%3Cbr%3ELine3%3Cbr%3ELine4", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Line1%22%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%22Line2%22%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%22Line3%22%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%22Line4%22"],"c99d322c3502e38e9d18ac6c0180fa5462ce612e":[async_test('html5lib_tests1.html c99d322c3502e38e9d18ac6c0180fa5462ce612e'), "%3Chtml%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"d8473f7b5cec9d99526179f980ebf55a0beccbd3":[async_test('html5lib_tests1.html d8473f7b5cec9d99526179f980ebf55a0beccbd3'), "%3Chead%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"ac7703fbb5c62cadb25024aed762c206c187a919":[async_test('html5lib_tests1.html ac7703fbb5c62cadb25024aed762c206c187a919'), "%3Cbody%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"a00121213e2eb2c846a575f662e8c69389bfc44d":[async_test('html5lib_tests1.html a00121213e2eb2c846a575f662e8c69389bfc44d'), "%3Chtml%3E%3Chead%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"447f22e6a43ddbbc308afbc78b64b16452bc7bbb":[async_test('html5lib_tests1.html 447f22e6a43ddbbc308afbc78b64b16452bc7bbb'), "%3Chtml%3E%3Chead%3E%3C/head%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"cdac424e0f2fb979f21a64f50793d529375c01b3":[async_test('html5lib_tests1.html cdac424e0f2fb979f21a64f50793d529375c01b3'), "%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"63587d177231d2478a6ffd25f3c830fed7cc2efe":[async_test('html5lib_tests1.html 63587d177231d2478a6ffd25f3c830fed7cc2efe'), "%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"a3e13da13681f9f16c65334099136f3b5c235e6d":[async_test('html5lib_tests1.html a3e13da13681f9f16c65334099136f3b5c235e6d'), "%3Chtml%3E%3Chead%3E%3Cbody%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"b7a06a5aa0c19d7914b853f5ed497743bb269e56":[async_test('html5lib_tests1.html b7a06a5aa0c19d7914b853f5ed497743bb269e56'), "%3Chtml%3E%3Chead%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"3d28b753b97f460868ca65ed8fc153021a815b8c":[async_test('html5lib_tests1.html 3d28b753b97f460868ca65ed8fc153021a815b8c'), "%3Chtml%3E%3Chead%3E%3Cbody%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"83cce5b1e1e49c92c618aabf1ed60926a8736456":[async_test('html5lib_tests1.html 83cce5b1e1e49c92c618aabf1ed60926a8736456'), "%3Chtml%3E%3Cbody%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"b9e809bc4521004440bf558c7dc5d7dc1ae3dd40":[async_test('html5lib_tests1.html b9e809bc4521004440bf558c7dc5d7dc1ae3dd40'), "%3Cbody%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"60302916ab9a2128104dbf72629875ad19b5cb16":[async_test('html5lib_tests1.html 60302916ab9a2128104dbf72629875ad19b5cb16'), "%3Chead%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"f4ad8e574fcac3bb08070eeb345855ea7081ea1d":[async_test('html5lib_tests1.html f4ad8e574fcac3bb08070eeb345855ea7081ea1d'), "%3C/head%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"d38fe13d87344a20bdf6e111988b5a09ed247913":[async_test('html5lib_tests1.html d38fe13d87344a20bdf6e111988b5a09ed247913'), "%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"e5f2e91cbff6a4bc56149b889f4f9396e455c5ad":[async_test('html5lib_tests1.html e5f2e91cbff6a4bc56149b889f4f9396e455c5ad'), "%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"18b58d1de184b6866963c902ff8451dd3522f540":[async_test('html5lib_tests1.html 18b58d1de184b6866963c902ff8451dd3522f540'), "%3Cb%3E%3Ctable%3E%3Ctd%3E%3Ci%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E"],"88eb93691065e212a4323f55ec326585c7c44262":[async_test('html5lib_tests1.html 88eb93691065e212a4323f55ec326585c7c44262'), "%3Cb%3E%3Ctable%3E%3Ctd%3E%3C/b%3E%3Ci%3E%3C/table%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"260db4c31fb80894beb825c4793e6142f178497d":[async_test('html5lib_tests1.html 260db4c31fb80894beb825c4793e6142f178497d'), "%3Ch1%3EHello%3Ch2%3EWorld", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ch1%3E%0A%7C%20%20%20%20%20%20%20%22Hello%22%0A%7C%20%20%20%20%20%3Ch2%3E%0A%7C%20%20%20%20%20%20%20%22World%22"],"59d9c5e2941952f7af99ed3e21d66e4fdb1df07c":[async_test('html5lib_tests1.html 59d9c5e2941952f7af99ed3e21d66e4fdb1df07c'), "%3Ca%3E%3Cp%3EX%3Ca%3EY%3C/a%3EZ%3C/p%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22Y%22%0A%7C%20%20%20%20%20%20%20%22Z%22"],"1e788677da8eb26f560409392ff674744c6f8b64":[async_test('html5lib_tests1.html 1e788677da8eb26f560409392ff674744c6f8b64'), "%3Cb%3E%3Cbutton%3Efoo%3C/b%3Ebar", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%22bar%22"],"240ee32b47e30bcf34483c7a7530cfeb99a6d1f1":[async_test('html5lib_tests1.html 240ee32b47e30bcf34483c7a7530cfeb99a6d1f1'), "%3C%21DOCTYPE%20html%3E%3Cspan%3E%3Cbutton%3Efoo%3C/span%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foobar%22"],"e85dc012a49630206e6163cd1e0fd6c706865106":[async_test('html5lib_tests1.html e85dc012a49630206e6163cd1e0fd6c706865106'), "%3Cp%3E%3Cb%3E%3Cdiv%3E%3Cmarquee%3E%3C/p%3E%3C/b%3E%3C/div%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmarquee%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"c440d1f0223d6b3ce85955d8246fdd47ecdfb034":[async_test('html5lib_tests1.html c440d1f0223d6b3ce85955d8246fdd47ecdfb034'), "%3Cscript%3E%3Cdiv%3E%3C/script%3E%3C/div%3E%3Ctitle%3E%3Cp%3E%3C/title%3E%3Cp%3E%3Cp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3Cdiv%3E%22%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3Cp%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"9a2ce05a0b342b377ef054385131ad4d1b5ae84b":[async_test('html5lib_tests1.html 9a2ce05a0b342b377ef054385131ad4d1b5ae84b'), "%3C%21--%3E%3Cdiv%3E--%3C%21--%3E", "%23document%0A%7C%20%3C%21--%20%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22--%22%0A%7C%20%20%20%20%20%20%20%3C%21--%20%20--%3E"],"daa9d8440e2bc4d560536b52123b01e52aa81692":[async_test('html5lib_tests1.html daa9d8440e2bc4d560536b52123b01e52aa81692'), "%3Cp%3E%3Chr%3E%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Chr%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"0b27e026dd03a356bbd78690fff7fb40cd63b606":[async_test('html5lib_tests1.html 0b27e026dd03a356bbd78690fff7fb40cd63b606'), "%3Cselect%3E%3Cb%3E%3Coption%3E%3Cselect%3E%3Coption%3E%3C/b%3E%3C/select%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"a2d3321d1ea23b55d9117e5c2014e4ab0fa5e224":[async_test('html5lib_tests1.html a2d3321d1ea23b55d9117e5c2014e4ab0fa5e224'), "%3Ca%3E%3Ctable%3E%3Ctd%3E%3Ca%3E%3Ctable%3E%3C/table%3E%3Ca%3E%3C/tr%3E%3Ca%3E%3C/table%3E%3Cb%3EX%3C/b%3EC%3Ca%3EY", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%20%20%22C%22%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%22Y%22"],"cc9c12dd44b43fa78ad340a91d20432e3f119c19":[async_test('html5lib_tests1.html cc9c12dd44b43fa78ad340a91d20432e3f119c19'), "%3Ca%20X%3E0%3Cb%3E1%3Ca%20Y%3E2", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20x%3D%22%22%0A%7C%20%20%20%20%20%20%20%220%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20y%3D%22%22%0A%7C%20%20%20%20%20%20%20%20%20%222%22"],"3d0cb9632b521a3fb334f567b3cdec985e85abd7":[async_test('html5lib_tests1.html 3d0cb9632b521a3fb334f567b3cdec985e85abd7'), "%3C%21-----%3E%3Cfont%3E%3Cdiv%3Ehello%3Ctable%3Eexcite%21%3Cb%3Eme%21%3Cth%3E%3Ci%3Eplease%21%3C/tr%3E%3C%21--X--%3E", "%23document%0A%7C%20%3C%21--%20-%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%22helloexcite%21%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22me%21%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cth%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22please%21%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%21--%20X%20--%3E"],"f158c8b44e4cdf872cc5bb4d148fad3ff27ea03f":[async_test('html5lib_tests1.html f158c8b44e4cdf872cc5bb4d148fad3ff27ea03f'), "%3C%21DOCTYPE%20html%3E%3Cli%3Ehello%3Cli%3Eworld%3Cul%3Ehow%3Cli%3Edo%3C/ul%3Eyou%3C/body%3E%3C%21--do--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%22hello%22%0A%7C%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%22world%22%0A%7C%20%20%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%20%20%22how%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22do%22%0A%7C%20%20%20%20%20%20%20%22you%22%0A%7C%20%20%20%3C%21--%20do%20--%3E"],"1dfb5ce6c1a10d870a35b24314976d887c700c42":[async_test('html5lib_tests1.html 1dfb5ce6c1a10d870a35b24314976d887c700c42'), "%3C%21DOCTYPE%20html%3EA%3Coption%3EB%3Coptgroup%3EC%3Cselect%3ED%3C/option%3EE", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%22C%22%0A%7C%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%22DE%22"],"1fc4fad5eead893c51be2b6aa1d705cd58ebcfe9":[async_test('html5lib_tests1.html 1fc4fad5eead893c51be2b6aa1d705cd58ebcfe9'), "%3C", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%3C%22"],"f85417e345053cf627abf572911c0f7ffefe16c8":[async_test('html5lib_tests1.html f85417e345053cf627abf572911c0f7ffefe16c8'), "%3C%23", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%3C%23%22"],"277ea1a5aade6c61a8386ff73086a91160caf5a2":[async_test('html5lib_tests1.html 277ea1a5aade6c61a8386ff73086a91160caf5a2'), "%3C/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%3C/%22"],"32714c0ca1bae661ba9342ef275b2e6e5e025c34":[async_test('html5lib_tests1.html 32714c0ca1bae661ba9342ef275b2e6e5e025c34'), "%3C/%23", "%23document%0A%7C%20%3C%21--%20%23%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"619aa593419925064f51b0602000a2b9d13a8bc3":[async_test('html5lib_tests1.html 619aa593419925064f51b0602000a2b9d13a8bc3'), "%3C%3F", "%23document%0A%7C%20%3C%21--%20%3F%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"40fd9f6e4a08a69596f0dc0846d44ebd39e4913d":[async_test('html5lib_tests1.html 40fd9f6e4a08a69596f0dc0846d44ebd39e4913d'), "%3C%3F%23", "%23document%0A%7C%20%3C%21--%20%3F%23%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"82120b3520ad73b9e11a413631e6f015ed0cf265":[async_test('html5lib_tests1.html 82120b3520ad73b9e11a413631e6f015ed0cf265'), "%3C%21", "%23document%0A%7C%20%3C%21--%20%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"a9f265e67b901f8d41ece9bb631696795327ed50":[async_test('html5lib_tests1.html a9f265e67b901f8d41ece9bb631696795327ed50'), "%3C%21%23", "%23document%0A%7C%20%3C%21--%20%23%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"6325e1d53c83784c1e5092861c8b0138fb4871ad":[async_test('html5lib_tests1.html 6325e1d53c83784c1e5092861c8b0138fb4871ad'), "%3C%3FCOMMENT%3F%3E", "%23document%0A%7C%20%3C%21--%20%3FCOMMENT%3F%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"451c02faba02d2768e3497fdcc8ffb0dec41640d":[async_test('html5lib_tests1.html 451c02faba02d2768e3497fdcc8ffb0dec41640d'), "%3C%21COMMENT%3E", "%23document%0A%7C%20%3C%21--%20COMMENT%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"fefda3429288aa79b4c9e8e9e3ba97897d0783c8":[async_test('html5lib_tests1.html fefda3429288aa79b4c9e8e9e3ba97897d0783c8'), "%3C/%20COMMENT%20%3E", "%23document%0A%7C%20%3C%21--%20%20COMMENT%20%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"6328f70bb445e1dd692c36d6c92e2a2a7ed6ee0f":[async_test('html5lib_tests1.html 6328f70bb445e1dd692c36d6c92e2a2a7ed6ee0f'), "%3C%3FCOM--MENT%3F%3E", "%23document%0A%7C%20%3C%21--%20%3FCOM--MENT%3F%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"287320444eec6e3b4481d33738f971b696a2d6f0":[async_test('html5lib_tests1.html 287320444eec6e3b4481d33738f971b696a2d6f0'), "%3C%21COM--MENT%3E", "%23document%0A%7C%20%3C%21--%20COM--MENT%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"65ea3a80efc973b5cd92c1db5a4520365bbb5478":[async_test('html5lib_tests1.html 65ea3a80efc973b5cd92c1db5a4520365bbb5478'), "%3C/%20COM--MENT%20%3E", "%23document%0A%7C%20%3C%21--%20%20COM--MENT%20%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"d60de29dd2f3e8a080882986d6689d74fb981619":[async_test('html5lib_tests1.html d60de29dd2f3e8a080882986d6689d74fb981619'), "%3C%21DOCTYPE%20html%3E%3Cstyle%3E%20EOF", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%20EOF%22%0A%7C%20%20%20%3Cbody%3E"],"343048017f1928db8ba4c0b45a4f1dd3dadf3063":[async_test('html5lib_tests1.html 343048017f1928db8ba4c0b45a4f1dd3dadf3063'), "%3C%21DOCTYPE%20html%3E%3Cscript%3E%20%3C%21--%20%3C/script%3E%20--%3E%20%3C/script%3E%20EOF", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%20%22%0A%7C%20%20%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%20%20EOF%22"],"cf14f5563275bac3fe2c77f8973e882e51965b5b":[async_test('html5lib_tests1.html cf14f5563275bac3fe2c77f8973e882e51965b5b'), "%3Cb%3E%3Cp%3E%3C/b%3ETEST", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22TEST%22"],"2d8f9308951237fd0dcba3ff7709369cfd7563fd":[async_test('html5lib_tests1.html 2d8f9308951237fd0dcba3ff7709369cfd7563fd'), "%3Cp%20id%3Da%3E%3Cb%3E%3Cp%20id%3Db%3E%3C/b%3ETEST", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20id%3D%22b%22%0A%7C%20%20%20%20%20%20%20%22TEST%22"],"87421a25ca75e2d6a165eb981921235f4de9210a":[async_test('html5lib_tests1.html 87421a25ca75e2d6a165eb981921235f4de9210a'), "%3Cb%20id%3Da%3E%3Cp%3E%3Cb%20id%3Db%3E%3C/p%3E%3C/b%3ETEST", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22b%22%0A%7C%20%20%20%20%20%20%20%22TEST%22"],"30d87693aead287d5a63310d2f819623455f4133":[async_test('html5lib_tests1.html 30d87693aead287d5a63310d2f819623455f4133'), "%3C%21DOCTYPE%20html%3E%3Ctitle%3EU-test%3C/title%3E%3Cbody%3E%3Cdiv%3E%3Cp%3ETest%3Cu%3E%3C/p%3E%3C/div%3E%3C/body%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22U-test%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22Test%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cu%3E"],"20d7a996a47fab66aead30ed7012d50b990dc65d":[async_test('html5lib_tests1.html 20d7a996a47fab66aead30ed7012d50b990dc65d'), "%3C%21DOCTYPE%20html%3E%3Cfont%3E%3Ctable%3E%3C/font%3E%3C/table%3E%3C/font%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"258c0966cc576ec8a563e41e783fa34f6b5c8baf":[async_test('html5lib_tests1.html 258c0966cc576ec8a563e41e783fa34f6b5c8baf'), "%3Cfont%3E%3Cp%3Ehello%3Cb%3Ecruel%3C/font%3Eworld", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%22hello%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22cruel%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22world%22"],"f7ee5b858e93b22e1594d6d8cd0bc0def665ac02":[async_test('html5lib_tests1.html f7ee5b858e93b22e1594d6d8cd0bc0def665ac02'), "%3Cb%3ETest%3C/i%3ETest", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22TestTest%22"],"6d9127103f8733d168e69cf04b576a7b0bea3d5c":[async_test('html5lib_tests1.html 6d9127103f8733d168e69cf04b576a7b0bea3d5c'), "%3Cb%3EA%3Ccite%3EB%3Cdiv%3EC", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22C%22"],"03db7399a2d674955930611fdbcaad9f4064243a":[async_test('html5lib_tests1.html 03db7399a2d674955930611fdbcaad9f4064243a'), "%3Cb%3EA%3Ccite%3EB%3Cdiv%3EC%3C/cite%3ED", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22CD%22"],"a0a1dcb330314ce12af02d136319a1be6a1ffa53":[async_test('html5lib_tests1.html a0a1dcb330314ce12af02d136319a1be6a1ffa53'), "%3Cb%3EA%3Ccite%3EB%3Cdiv%3EC%3C/b%3ED", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22C%22%0A%7C%20%20%20%20%20%20%20%22D%22"],"09b3483ef5f7a83aa9e3224d0335b6f9aa78ac73":[async_test('html5lib_tests1.html 09b3483ef5f7a83aa9e3224d0335b6f9aa78ac73'), "", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"34d56f09a1a9c0f51a8abc41be2f157faf0e8d15":[async_test('html5lib_tests1.html 34d56f09a1a9c0f51a8abc41be2f157faf0e8d15'), "%3CDIV%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"dffa0785e6c80af52950a64d8612633de58bbb29":[async_test('html5lib_tests1.html dffa0785e6c80af52950a64d8612633de58bbb29'), "%3CDIV%3E%20abc", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%22"],"076e6ac3cb344d60f6ce9a5188cf103ff053830c":[async_test('html5lib_tests1.html 076e6ac3cb344d60f6ce9a5188cf103ff053830c'), "%3CDIV%3E%20abc%20%3CB%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E"],"5f14cb9c8502f09105ad83e27842625c70f3857d":[async_test('html5lib_tests1.html 5f14cb9c8502f09105ad83e27842625c70f3857d'), "%3CDIV%3E%20abc%20%3CB%3E%20def", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%22"],"25172f395b855b6eeb61ff95a8162a34ca92195e":[async_test('html5lib_tests1.html 25172f395b855b6eeb61ff95a8162a34ca92195e'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E"],"053beabf01d70d03a0ca61b809d5d986ddf2ea3d":[async_test('html5lib_tests1.html 053beabf01d70d03a0ca61b809d5d986ddf2ea3d'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%22"],"bd385dbe93b192c2182e09e75d3664b96845ea0a":[async_test('html5lib_tests1.html bd385dbe93b192c2182e09e75d3664b96845ea0a'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E"],"2ddaacb4f4e566ae79af5259f57f5b4dd166c19f":[async_test('html5lib_tests1.html 2ddaacb4f4e566ae79af5259f57f5b4dd166c19f'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%22"],"d430f2fc3bd20e658ed00b55e6c27f14204a7b6f":[async_test('html5lib_tests1.html d430f2fc3bd20e658ed00b55e6c27f14204a7b6f'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl%20%3C/B%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%20%22"],"bbdb0a08b66b0789068ddac96a05ac39e104553d":[async_test('html5lib_tests1.html bbdb0a08b66b0789068ddac96a05ac39e104553d'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl%20%3C/B%3E%20mno", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20mno%22"],"37ed2a3a96026e7a78f6675154d11746aa9484e0":[async_test('html5lib_tests1.html 37ed2a3a96026e7a78f6675154d11746aa9484e0'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl%20%3C/B%3E%20mno%20%3C/I%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20mno%20%22"],"4177a74406cf1c048d2d6d6bcf774445f55ba517":[async_test('html5lib_tests1.html 4177a74406cf1c048d2d6d6bcf774445f55ba517'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl%20%3C/B%3E%20mno%20%3C/I%3E%20pqr", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20mno%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20pqr%22"],"fc188652d9f486174b21d1919f35ea8c13636ca1":[async_test('html5lib_tests1.html fc188652d9f486174b21d1919f35ea8c13636ca1'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl%20%3C/B%3E%20mno%20%3C/I%3E%20pqr%20%3C/P%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20mno%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20pqr%20%22"],"c10f83cc69763e42964e08ddb976a1bd27b51e2f":[async_test('html5lib_tests1.html c10f83cc69763e42964e08ddb976a1bd27b51e2f'), "%3CDIV%3E%20abc%20%3CB%3E%20def%20%3CI%3E%20ghi%20%3CP%3E%20jkl%20%3C/B%3E%20mno%20%3C/I%3E%20pqr%20%3C/P%3E%20stu", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%20abc%20%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20def%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20ghi%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20jkl%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20mno%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20pqr%20%22%0A%7C%20%20%20%20%20%20%20%22%20stu%22"],"64452c62ced87bd3cd8fd88df33a33d5531818d6":[async_test('html5lib_tests1.html 64452c62ced87bd3cd8fd88df33a33d5531818d6'), "%3Ctest%20attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctest%3E%0A%7C%20%20%20%20%20%20%20attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%3D%22%22"],"96dc04673021ad113df40397113df972f090c1f6":[async_test('html5lib_tests1.html 96dc04673021ad113df40397113df972f090c1f6'), "%3Ca%20href%3D%22blah%22%3Eaba%3Ctable%3E%3Ca%20href%3D%22foo%22%3Ebr%3Ctr%3E%3Ctd%3E%3C/td%3E%3C/tr%3Ex%3C/table%3Eaoe", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22blah%22%0A%7C%20%20%20%20%20%20%20%22aba%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%22br%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%22aoe%22"],"26b7eb0b18d9cd0a69d19c7f6ee9f12c2d0b2783":[async_test('html5lib_tests1.html 26b7eb0b18d9cd0a69d19c7f6ee9f12c2d0b2783'), "%3Ca%20href%3D%22blah%22%3Eaba%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Ca%20href%3D%22foo%22%3Ebr%3C/td%3E%3C/tr%3Ex%3C/table%3Eaoe", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22blah%22%0A%7C%20%20%20%20%20%20%20%22abax%22%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22br%22%0A%7C%20%20%20%20%20%20%20%22aoe%22"],"f8d500cd7089942814fa0751c75bd37e63790685":[async_test('html5lib_tests1.html f8d500cd7089942814fa0751c75bd37e63790685'), "%3Ctable%3E%3Ca%20href%3D%22blah%22%3Eaba%3Ctr%3E%3Ctd%3E%3Ca%20href%3D%22foo%22%3Ebr%3C/td%3E%3C/tr%3Ex%3C/table%3Eaoe", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22blah%22%0A%7C%20%20%20%20%20%20%20%22aba%22%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22blah%22%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22br%22%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22blah%22%0A%7C%20%20%20%20%20%20%20%22aoe%22"],"3b386c205ec767f842e63491d14ec90192f562dd":[async_test('html5lib_tests1.html 3b386c205ec767f842e63491d14ec90192f562dd'), "%3Ca%20href%3Da%3Eaa%3Cmarquee%3Eaa%3Ca%20href%3Db%3Ebb%3C/marquee%3Eaa", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22a%22%0A%7C%20%20%20%20%20%20%20%22aa%22%0A%7C%20%20%20%20%20%20%20%3Cmarquee%3E%0A%7C%20%20%20%20%20%20%20%20%20%22aa%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20href%3D%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22bb%22%0A%7C%20%20%20%20%20%20%20%22aa%22"],"ca8ecc666a82d1f2f48a095d42d9f95700e015bd":[async_test('html5lib_tests1.html ca8ecc666a82d1f2f48a095d42d9f95700e015bd'), "%3Cwbr%3E%3Cstrike%3E%3Ccode%3E%3C/strike%3E%3Ccode%3E%3Cstrike%3E%3C/code%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cwbr%3E%0A%7C%20%20%20%20%20%3Cstrike%3E%0A%7C%20%20%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cstrike%3E"],"6727ab7c4240bf05f0a5d9ca4b384ca8d61e2d4f":[async_test('html5lib_tests1.html 6727ab7c4240bf05f0a5d9ca4b384ca8d61e2d4f'), "%3C%21DOCTYPE%20html%3E%3Cspacer%3Efoo", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cspacer%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"3ad08edf5b9690be261dc375da3b1d9ec82e499a":[async_test('html5lib_tests1.html 3ad08edf5b9690be261dc375da3b1d9ec82e499a'), "%3Ctitle%3E%3Cmeta%3E%3C/title%3E%3Clink%3E%3Ctitle%3E%3Cmeta%3E%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3Cmeta%3E%22%0A%7C%20%20%20%20%20%3Clink%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3Cmeta%3E%22%0A%7C%20%20%20%3Cbody%3E"],"06ed0f32cfd261010c9d810ff8317ef96b47c04c":[async_test('html5lib_tests1.html 06ed0f32cfd261010c9d810ff8317ef96b47c04c'), "%3Cstyle%3E%3C%21--%3C/style%3E%3Cmeta%3E%3Cscript%3E--%3E%3Clink%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22--%3E%3Clink%3E%22%0A%7C%20%20%20%3Cbody%3E"],"44ea84c7e4e401c9d3f96d7cc39709e4be81edc8":[async_test('html5lib_tests1.html 44ea84c7e4e401c9d3f96d7cc39709e4be81edc8'), "%3Chead%3E%3Cmeta%3E%3C/head%3E%3Clink%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%3Clink%3E%0A%7C%20%20%20%3Cbody%3E"],"67af290f1b04c4b1a67131edba1ee832c690432c":[async_test('html5lib_tests1.html 67af290f1b04c4b1a67131edba1ee832c690432c'), "%3Ctable%3E%3Ctr%3E%3Ctr%3E%3Ctd%3E%3Ctd%3E%3Cspan%3E%3Cth%3E%3Cspan%3EX%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cth%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"2f1899f72fafcb062418e8ce892188040de4708c":[async_test('html5lib_tests1.html 2f1899f72fafcb062418e8ce892188040de4708c'), "%3Cbody%3E%3Cbody%3E%3Cbase%3E%3Clink%3E%3Cmeta%3E%3Ctitle%3E%3Cp%3E%3C/title%3E%3Cbody%3E%3Cp%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbase%3E%0A%7C%20%20%20%20%20%3Clink%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3Cp%3E%22%0A%7C%20%20%20%20%20%3Cp%3E"],"ed2a4958c832ef6cec993cb52afc808132714d0a":[async_test('html5lib_tests1.html ed2a4958c832ef6cec993cb52afc808132714d0a'), "%3Ctextarea%3E%3Cp%3E%3C/textarea%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3Cp%3E%22"],"c7943ccd9d880664b0894a2035e1f2a837f37c7a":[async_test('html5lib_tests1.html c7943ccd9d880664b0894a2035e1f2a837f37c7a'), "%3Cp%3E%3Cimage%3E%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cimg%3E"],"bbc836b1f494223d4eb8982930d693489d135740":[async_test('html5lib_tests1.html bbc836b1f494223d4eb8982930d693489d135740'), "%3Ca%3E%3Ctable%3E%3Ca%3E%3C/table%3E%3Cp%3E%3Ca%3E%3Cdiv%3E%3Ca%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E"],"617fdf08035740698b2f0f4c3874dbb469fd1848":[async_test('html5lib_tests1.html 617fdf08035740698b2f0f4c3874dbb469fd1848'), "%3Chead%3E%3C/p%3E%3Cmeta%3E%3Cp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"e901fe2093e51eccb4d9d23103214bc527af265c":[async_test('html5lib_tests1.html e901fe2093e51eccb4d9d23103214bc527af265c'), "%3Chead%3E%3C/html%3E%3Cmeta%3E%3Cp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"63970995ab6b8aee63de9e7a7667178d4fc86820":[async_test('html5lib_tests1.html 63970995ab6b8aee63de9e7a7667178d4fc86820'), "%3Cb%3E%3Ctable%3E%3Ctd%3E%3C/b%3E%3Ci%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E"],"d7607fdd41625431bcbee319a86db1b73fc49edd":[async_test('html5lib_tests1.html d7607fdd41625431bcbee319a86db1b73fc49edd'), "%3Ch1%3E%3Ch2%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ch1%3E%0A%7C%20%20%20%20%20%3Ch2%3E"],"ce31a583a3921e306aaa558b1ea798b34d2bb0dc":[async_test('html5lib_tests1.html ce31a583a3921e306aaa558b1ea798b34d2bb0dc'), "%3Ca%3E%3Cp%3E%3Ca%3E%3C/a%3E%3C/p%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E"],"04ba864e740f7ef104570ddc6af834e6336031ed":[async_test('html5lib_tests1.html 04ba864e740f7ef104570ddc6af834e6336031ed'), "%3Cb%3E%3Cbutton%3E%3C/b%3E%3C/button%3E%3C/b%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E"],"ea6ab4a56efd19cc04b5656583ea6d5c9cfd2752":[async_test('html5lib_tests1.html ea6ab4a56efd19cc04b5656583ea6d5c9cfd2752'), "%3Cp%3E%3Cb%3E%3Cdiv%3E%3Cmarquee%3E%3C/p%3E%3C/b%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmarquee%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E"],"1bb5dfba014f63c0a18b12097ed9a28d64552e07":[async_test('html5lib_tests1.html 1bb5dfba014f63c0a18b12097ed9a28d64552e07'), "%3Cscript%3E%3C/script%3E%3C/div%3E%3Ctitle%3E%3C/title%3E%3Cp%3E%3Cp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"a2dd4d5a28a61ec99ce9dae35e9d4ffe92812e2f":[async_test('html5lib_tests1.html a2dd4d5a28a61ec99ce9dae35e9d4ffe92812e2f'), "%3Cselect%3E%3Cb%3E%3Coption%3E%3Cselect%3E%3Coption%3E%3C/b%3E%3C/select%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%3Coption%3E"],"e26f001557952154c308e3e6f6d1789cf711ef27":[async_test('html5lib_tests1.html e26f001557952154c308e3e6f6d1789cf711ef27'), "%3Chtml%3E%3Chead%3E%3Ctitle%3E%3C/title%3E%3Cbody%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%3Cbody%3E"],"34c1f9c212198edd7baf56e658db21d98c59f74c":[async_test('html5lib_tests1.html 34c1f9c212198edd7baf56e658db21d98c59f74c'), "%3Ca%3E%3Ctable%3E%3Ctd%3E%3Ca%3E%3Ctable%3E%3C/table%3E%3Ca%3E%3C/tr%3E%3Ca%3E%3C/table%3E%3Ca%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Ca%3E"],"e1c47adbde197e3eaa9504f3582fd9deac1cbbff":[async_test('html5lib_tests1.html e1c47adbde197e3eaa9504f3582fd9deac1cbbff'), "%3Cul%3E%3Cli%3E%3C/li%3E%3Cdiv%3E%3Cli%3E%3C/div%3E%3Cli%3E%3Cli%3E%3Cdiv%3E%3Cli%3E%3Caddress%3E%3Cli%3E%3Cb%3E%3Cem%3E%3C/b%3E%3Cli%3E%3C/ul%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Caddress%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E"],"0f5aba4c1ed57ac3c6a2774f3bf43ef598bd9915":[async_test('html5lib_tests1.html 0f5aba4c1ed57ac3c6a2774f3bf43ef598bd9915'), "%3Cul%3E%3Cli%3E%3Cul%3E%3C/li%3E%3Cli%3Ea%3C/li%3E%3C/ul%3E%3C/li%3E%3C/ul%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"d11ff75681c4df2ff24ad731ff244afc3e1c87af":[async_test('html5lib_tests1.html d11ff75681c4df2ff24ad731ff244afc3e1c87af'), "%3Cframeset%3E%3Cframe%3E%3Cframeset%3E%3Cframe%3E%3C/frameset%3E%3Cnoframes%3E%3C/noframes%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E%0A%7C%20%20%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%20%20%3Cframe%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E"],"fa392f5dd6f2f6a73635c06208c8989caa874588":[async_test('html5lib_tests1.html fa392f5dd6f2f6a73635c06208c8989caa874588'), "%3Ch1%3E%3Ctable%3E%3Ctd%3E%3Ch3%3E%3C/table%3E%3Ch3%3E%3C/h1%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ch1%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch3%3E%0A%7C%20%20%20%20%20%3Ch3%3E"],"5815b2afbb0a7f4756af7914407f71f469658f38":[async_test('html5lib_tests1.html 5815b2afbb0a7f4756af7914407f71f469658f38'), "%3Ctable%3E%3Ccolgroup%3E%3Ccol%3E%3Ccolgroup%3E%3Ccol%3E%3Ccol%3E%3Ccol%3E%3Ccolgroup%3E%3Ccol%3E%3Ccol%3E%3Cthead%3E%3Ctr%3E%3Ctd%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"a100bb6a2a80bec65c418d672144b6f647fbd46b":[async_test('html5lib_tests1.html a100bb6a2a80bec65c418d672144b6f647fbd46b'), "%3Ctable%3E%3Ccol%3E%3Ctbody%3E%3Ccol%3E%3Ctr%3E%3Ccol%3E%3Ctd%3E%3Ccol%3E%3C/table%3E%3Ccol%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccol%3E"],"f66797fd63c8b0254b4ef28e9c38c3d4e512c93c":[async_test('html5lib_tests1.html f66797fd63c8b0254b4ef28e9c38c3d4e512c93c'), "%3Ctable%3E%3Ccolgroup%3E%3Ctbody%3E%3Ccolgroup%3E%3Ctr%3E%3Ccolgroup%3E%3Ctd%3E%3Ccolgroup%3E%3C/table%3E%3Ccolgroup%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"f10a41faca4cf01e39ed92c4eefff0631d1195dc":[async_test('html5lib_tests1.html f10a41faca4cf01e39ed92c4eefff0631d1195dc'), "%3C/strong%3E%3C/b%3E%3C/em%3E%3C/i%3E%3C/u%3E%3C/strike%3E%3C/s%3E%3C/blink%3E%3C/tt%3E%3C/pre%3E%3C/big%3E%3C/small%3E%3C/font%3E%3C/select%3E%3C/h1%3E%3C/h2%3E%3C/h3%3E%3C/h4%3E%3C/h5%3E%3C/h6%3E%3C/body%3E%3C/br%3E%3C/a%3E%3C/img%3E%3C/title%3E%3C/span%3E%3C/style%3E%3C/script%3E%3C/table%3E%3C/th%3E%3C/td%3E%3C/tr%3E%3C/frame%3E%3C/area%3E%3C/link%3E%3C/param%3E%3C/hr%3E%3C/input%3E%3C/col%3E%3C/base%3E%3C/meta%3E%3C/basefont%3E%3C/bgsound%3E%3C/embed%3E%3C/spacer%3E%3C/p%3E%3C/dd%3E%3C/dt%3E%3C/caption%3E%3C/colgroup%3E%3C/tbody%3E%3C/tfoot%3E%3C/thead%3E%3C/address%3E%3C/blockquote%3E%3C/center%3E%3C/dir%3E%3C/div%3E%3C/dl%3E%3C/fieldset%3E%3C/listing%3E%3C/menu%3E%3C/ol%3E%3C/ul%3E%3C/li%3E%3C/nobr%3E%3C/wbr%3E%3C/form%3E%3C/button%3E%3C/marquee%3E%3C/object%3E%3C/html%3E%3C/frameset%3E%3C/head%3E%3C/iframe%3E%3C/image%3E%3C/isindex%3E%3C/noembed%3E%3C/noframes%3E%3C/noscript%3E%3C/optgroup%3E%3C/option%3E%3C/plaintext%3E%3C/textarea%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"5d14e20ae19e0b3e14dcb997e3ccad5f0e1956e1":[async_test('html5lib_tests1.html 5d14e20ae19e0b3e14dcb997e3ccad5f0e1956e1'), "%3Ctable%3E%3Ctr%3E%3C/strong%3E%3C/b%3E%3C/em%3E%3C/i%3E%3C/u%3E%3C/strike%3E%3C/s%3E%3C/blink%3E%3C/tt%3E%3C/pre%3E%3C/big%3E%3C/small%3E%3C/font%3E%3C/select%3E%3C/h1%3E%3C/h2%3E%3C/h3%3E%3C/h4%3E%3C/h5%3E%3C/h6%3E%3C/body%3E%3C/br%3E%3C/a%3E%3C/img%3E%3C/title%3E%3C/span%3E%3C/style%3E%3C/script%3E%3C/table%3E%3C/th%3E%3C/td%3E%3C/tr%3E%3C/frame%3E%3C/area%3E%3C/link%3E%3C/param%3E%3C/hr%3E%3C/input%3E%3C/col%3E%3C/base%3E%3C/meta%3E%3C/basefont%3E%3C/bgsound%3E%3C/embed%3E%3C/spacer%3E%3C/p%3E%3C/dd%3E%3C/dt%3E%3C/caption%3E%3C/colgroup%3E%3C/tbody%3E%3C/tfoot%3E%3C/thead%3E%3C/address%3E%3C/blockquote%3E%3C/center%3E%3C/dir%3E%3C/div%3E%3C/dl%3E%3C/fieldset%3E%3C/listing%3E%3C/menu%3E%3C/ol%3E%3C/ul%3E%3C/li%3E%3C/nobr%3E%3C/wbr%3E%3C/form%3E%3C/button%3E%3C/marquee%3E%3C/object%3E%3C/html%3E%3C/frameset%3E%3C/head%3E%3C/iframe%3E%3C/image%3E%3C/isindex%3E%3C/noembed%3E%3C/noframes%3E%3C/noscript%3E%3C/optgroup%3E%3C/option%3E%3C/plaintext%3E%3C/textarea%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%3Cp%3E"],"1949f8c612e660985fb5eb28235b6f9386ed4ffc":[async_test('html5lib_tests1.html 1949f8c612e660985fb5eb28235b6f9386ed4ffc'), "%3Cframeset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests10.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests10.html
new file mode 100644
index 0000000000..26411582b1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests10.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests10.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['33cab27b810c8329105a4447f7767307577cb52f','b833b22c2ce59749e320b26fbc4d277bc015f261','5159857bc8326870c92e525f000abe74b51f9104','fee2541ab7080ca5b363bb4b7b0c18ee1d3699ba','679fbaa80e9d15416f17eb041a8fe04c373f0e12','0fe5609efd1436590d64aa7f47643fcaf1decc9c','7900ad087a3da10cbd7eb3eae57181ca7e417f0e','52f78e3d4b60a998fe249f7c026078f13ef65fe3','01dd3726b85de9278486adaf23c7cd553ea701b0','c993a3cf01522d1b958e942f781c535bd63e7f43','3f8ac796f286506aa56f87a8b430c4d6d2802695','df1f29ea6a1d57e029cdb95216b85e9daac07ad0','ae19484ce5b8e2087e3df7f13183622d2cf059a7','7f9c4aeecce3bbf1483104213487a506cfdc6650','219f8f9866ad87d2e98f0cbbf35e0d7070848f81','a1e3a3515da712da9fa9bae0ab874a0a31207e6b','badaa2069df3f2bb2d2da79f8ae2598f66ab2d0f','64e72bd5af825a0b014a78c77d6d0be8c330892b','6b6728b11b3f67a6b67e0dec03222222783e2c40','c16f6e833fafc8e96c4d888aace5e7df190f8bb5','8b5cc06ce9513c4b0b2be26adad3357c79a10241','f396d620bf4e128981156d61f4768634c407c806','3c262f2c74c6cf5519cfad9440e118dd36fcc37f','4e788a289a02c283f0a7b71340f4947c30fd289e','b0a2a300705d9a5b6ceb8f7b9d4d240a9eb9f9e0','2e92f741697be25c07416f7885b7decc0684c874','3cffa6d987cfd48c6cd5f9e7d198ca0e79b6cdb8','f89f8c14aeaa1d3107b6aa6d87fbf10e8fd5f8c3','663691222288a8f734149fba4f1b7ff5bb201df0','dbe5123aed0264b7fe421fea4b9bc5bd304cc596','982e01ebddec435aeb2dc0f23fa77e4201a38b28','b613b907ffa87da6f3076a24ad775843e5c2a43a','4553fc5ae2782aef4100d8db614041e42c3612e9','6c10b9811a0d228cf26bc0b55ee12c7d99926270','ee2de7753d6594fbf05d321b24e2c8bb6f2323c6','225170b3f08201a11d43f153fa3c8a041173b55f','716a01ee7d076876318395625e08e555065fc3b0','3c5cc236386d2d4a16d14e5c65da7edd26697a43','6c3447a16060d2805f8c969ec0a7b5c551468f25','071f13f248eb7af8f7d512cf453b16c8ccc57483','0ef97c924e3e5e8ddf8a0bc74530868684685c38','25a94dd91d982fa75c89944ad8f066f7961c590b','575adfd2e679ad44140d8afd131fee2e5e819fc0','2eb6893275ff1de69569440710f5588b8558ca17','4f57b212888bfcc7ac6d8e29ef444cc7ae3ec495','c069a88f172919c862432dbef290a425e71414aa','f944f978d6a10ec9f194f03a5e232f9663d96ec1','d5ab79a14609f3ed214baa8e02bedb54ddcf33ec','4318bf46f0256426716a911e194f9bdf6185bd7c','aa5c4b093ee603618493cff853af125b5fb0d401','bfd98674d75ff3291d377f2a7cec3321844a0701','7fc99b729a6d57d28b2ad1edc33bb15167e051bb','8e87f0d5ca606ca162384d1bf3bb8de62bd6f398','6476f80f3d2a04e9c1323ffe78686188c579e9ac',];
+ var tests = {
+ "33cab27b810c8329105a4447f7767307577cb52f":[async_test('html5lib_tests10.html 33cab27b810c8329105a4447f7767307577cb52f'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"b833b22c2ce59749e320b26fbc4d277bc015f261":[async_test('html5lib_tests10.html b833b22c2ce59749e320b26fbc4d277bc015f261'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3C/svg%3E%3C%21%5BCDATA%5Ba%5D%5D%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3C%21--%20%5BCDATA%5Ba%5D%5D%20--%3E"],"5159857bc8326870c92e525f000abe74b51f9104":[async_test('html5lib_tests10.html 5159857bc8326870c92e525f000abe74b51f9104'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"fee2541ab7080ca5b363bb4b7b0c18ee1d3699ba":[async_test('html5lib_tests10.html fee2541ab7080ca5b363bb4b7b0c18ee1d3699ba'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cselect%3E%3Csvg%3E%3C/svg%3E%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"679fbaa80e9d15416f17eb041a8fe04c373f0e12":[async_test('html5lib_tests10.html 679fbaa80e9d15416f17eb041a8fe04c373f0e12'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cselect%3E%3Coption%3E%3Csvg%3E%3C/svg%3E%3C/option%3E%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E"],"0fe5609efd1436590d64aa7f47643fcaf1decc9c":[async_test('html5lib_tests10.html 0fe5609efd1436590d64aa7f47643fcaf1decc9c'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Csvg%3E%3C/svg%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"7900ad087a3da10cbd7eb3eae57181ca7e417f0e":[async_test('html5lib_tests10.html 7900ad087a3da10cbd7eb3eae57181ca7e417f0e'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3C/svg%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"52f78e3d4b60a998fe249f7c026078f13ef65fe3":[async_test('html5lib_tests10.html 52f78e3d4b60a998fe249f7c026078f13ef65fe3'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3C/svg%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"01dd3726b85de9278486adaf23c7cd553ea701b0":[async_test('html5lib_tests10.html 01dd3726b85de9278486adaf23c7cd553ea701b0'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3C/svg%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E"],"c993a3cf01522d1b958e942f781c535bd63e7f43":[async_test('html5lib_tests10.html c993a3cf01522d1b958e942f781c535bd63e7f43'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3C/svg%3E%3C/tr%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"3f8ac796f286506aa56f87a8b430c4d6d2802695":[async_test('html5lib_tests10.html 3f8ac796f286506aa56f87a8b430c4d6d2802695'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3C/svg%3E%3C/td%3E%3C/tr%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22"],"df1f29ea6a1d57e029cdb95216b85e9daac07ad0":[async_test('html5lib_tests10.html df1f29ea6a1d57e029cdb95216b85e9daac07ad0'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3C/svg%3E%3Cp%3Ebaz%3C/td%3E%3C/tr%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22baz%22"],"ae19484ce5b8e2087e3df7f13183622d2cf059a7":[async_test('html5lib_tests10.html ae19484ce5b8e2087e3df7f13183622d2cf059a7'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccaption%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3C/svg%3E%3Cp%3Ebaz%3C/caption%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22"],"7f9c4aeecce3bbf1483104213487a506cfdc6650":[async_test('html5lib_tests10.html 7f9c4aeecce3bbf1483104213487a506cfdc6650'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccaption%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"219f8f9866ad87d2e98f0cbbf35e0d7070848f81":[async_test('html5lib_tests10.html 219f8f9866ad87d2e98f0cbbf35e0d7070848f81'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccaption%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"a1e3a3515da712da9fa9bae0ab874a0a31207e6b":[async_test('html5lib_tests10.html a1e3a3515da712da9fa9bae0ab874a0a31207e6b'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccolgroup%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"badaa2069df3f2bb2d2da79f8ae2598f66ab2d0f":[async_test('html5lib_tests10.html badaa2069df3f2bb2d2da79f8ae2598f66ab2d0f'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22foobarbaz%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"64e72bd5af825a0b014a78c77d6d0be8c330892b":[async_test('html5lib_tests10.html 64e72bd5af825a0b014a78c77d6d0be8c330892b'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Cselect%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%22foobarbaz%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"6b6728b11b3f67a6b67e0dec03222222783e2c40":[async_test('html5lib_tests10.html 6b6728b11b3f67a6b67e0dec03222222783e2c40'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3C/body%3E%3C/html%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22baz%22"],"c16f6e833fafc8e96c4d888aace5e7df190f8bb5":[async_test('html5lib_tests10.html c16f6e833fafc8e96c4d888aace5e7df190f8bb5'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3C/body%3E%3Csvg%3E%3Cg%3Efoo%3C/g%3E%3Cg%3Ebar%3C/g%3E%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22baz%22"],"8b5cc06ce9513c4b0b2be26adad3357c79a10241":[async_test('html5lib_tests10.html 8b5cc06ce9513c4b0b2be26adad3357c79a10241'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%3Csvg%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cp%3E%3Cspan%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"f396d620bf4e128981156d61f4768634c407c806":[async_test('html5lib_tests10.html f396d620bf4e128981156d61f4768634c407c806'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%3C/frameset%3E%3Csvg%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cp%3E%3Cspan%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"3c262f2c74c6cf5519cfad9440e118dd36fcc37f":[async_test('html5lib_tests10.html 3c262f2c74c6cf5519cfad9440e118dd36fcc37f'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%3E%3Csvg%20xlink%3Ahref%3Dfoo%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20xlink%20href%3D%22foo%22"],"4e788a289a02c283f0a7b71340f4947c30fd289e":[async_test('html5lib_tests10.html 4e788a289a02c283f0a7b71340f4947c30fd289e'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%20xml%3Alang%3Den%3E%3Csvg%3E%3Cg%20xml%3Alang%3Den%20xlink%3Ahref%3Dfoo%3E%3C/g%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20xml%3Alang%3D%22en%22%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20xlink%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20xml%20lang%3D%22en%22"],"b0a2a300705d9a5b6ceb8f7b9d4d240a9eb9f9e0":[async_test('html5lib_tests10.html b0a2a300705d9a5b6ceb8f7b9d4d240a9eb9f9e0'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%20xml%3Alang%3Den%3E%3Csvg%3E%3Cg%20xml%3Alang%3Den%20xlink%3Ahref%3Dfoo%20/%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20xml%3Alang%3D%22en%22%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20xlink%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20xml%20lang%3D%22en%22"],"2e92f741697be25c07416f7885b7decc0684c874":[async_test('html5lib_tests10.html 2e92f741697be25c07416f7885b7decc0684c874'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%20xml%3Alang%3Den%3E%3Csvg%3E%3Cg%20xml%3Alang%3Den%20xlink%3Ahref%3Dfoo%20/%3Ebar%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20xml%3Alang%3D%22en%22%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20xlink%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20xml%20lang%3D%22en%22%0A%7C%20%20%20%20%20%20%20%22bar%22"],"3cffa6d987cfd48c6cd5f9e7d198ca0e79b6cdb8":[async_test('html5lib_tests10.html 3cffa6d987cfd48c6cd5f9e7d198ca0e79b6cdb8'), "%3Csvg%3E%3C/path%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"f89f8c14aeaa1d3107b6aa6d87fbf10e8fd5f8c3":[async_test('html5lib_tests10.html f89f8c14aeaa1d3107b6aa6d87fbf10e8fd5f8c3'), "%3Cdiv%3E%3Csvg%3E%3C/div%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%22a%22"],"663691222288a8f734149fba4f1b7ff5bb201df0":[async_test('html5lib_tests10.html 663691222288a8f734149fba4f1b7ff5bb201df0'), "%3Cdiv%3E%3Csvg%3E%3Cpath%3E%3C/div%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%22a%22"],"dbe5123aed0264b7fe421fea4b9bc5bd304cc596":[async_test('html5lib_tests10.html dbe5123aed0264b7fe421fea4b9bc5bd304cc596'), "%3Cdiv%3E%3Csvg%3E%3Cpath%3E%3C/svg%3E%3Cpath%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%20%20%3Cpath%3E"],"982e01ebddec435aeb2dc0f23fa77e4201a38b28":[async_test('html5lib_tests10.html 982e01ebddec435aeb2dc0f23fa77e4201a38b28'), "%3Cdiv%3E%3Csvg%3E%3Cpath%3E%3CforeignObject%3E%3Cmath%3E%3C/div%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"b613b907ffa87da6f3076a24ad775843e5c2a43a":[async_test('html5lib_tests10.html b613b907ffa87da6f3076a24ad775843e5c2a43a'), "%3Cdiv%3E%3Csvg%3E%3Cpath%3E%3CforeignObject%3E%3Cp%3E%3C/div%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"4553fc5ae2782aef4100d8db614041e42c3612e9":[async_test('html5lib_tests10.html 4553fc5ae2782aef4100d8db614041e42c3612e9'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3Cdesc%3E%3Cdiv%3E%3Csvg%3E%3Cul%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"6c10b9811a0d228cf26bc0b55ee12c7d99926270":[async_test('html5lib_tests10.html 6c10b9811a0d228cf26bc0b55ee12c7d99926270'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3Cdesc%3E%3Csvg%3E%3Cul%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"ee2de7753d6594fbf05d321b24e2c8bb6f2323c6":[async_test('html5lib_tests10.html ee2de7753d6594fbf05d321b24e2c8bb6f2323c6'), "%3C%21DOCTYPE%20html%3E%3Cp%3E%3Csvg%3E%3Cdesc%3E%3Cp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E"],"225170b3f08201a11d43f153fa3c8a041173b55f":[async_test('html5lib_tests10.html 225170b3f08201a11d43f153fa3c8a041173b55f'), "%3C%21DOCTYPE%20html%3E%3Cp%3E%3Csvg%3E%3Ctitle%3E%3Cp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E"],"716a01ee7d076876318395625e08e555065fc3b0":[async_test('html5lib_tests10.html 716a01ee7d076876318395625e08e555065fc3b0'), "%3Cdiv%3E%3Csvg%3E%3Cpath%3E%3CforeignObject%3E%3Cp%3E%3C/foreignObject%3E%3Cp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E"],"3c5cc236386d2d4a16d14e5c65da7edd26697a43":[async_test('html5lib_tests10.html 3c5cc236386d2d4a16d14e5c65da7edd26697a43'), "%3Cmath%3E%3Cmi%3E%3Cdiv%3E%3Cobject%3E%3Cdiv%3E%3Cspan%3E%3C/span%3E%3C/div%3E%3C/object%3E%3C/div%3E%3C/mi%3E%3Cmi%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cobject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E"],"6c3447a16060d2805f8c969ec0a7b5c551468f25":[async_test('html5lib_tests10.html 6c3447a16060d2805f8c969ec0a7b5c551468f25'), "%3Cmath%3E%3Cmi%3E%3Csvg%3E%3CforeignObject%3E%3Cdiv%3E%3Cdiv%3E%3C/div%3E%3C/div%3E%3C/foreignObject%3E%3C/svg%3E%3C/mi%3E%3Cmi%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E"],"071f13f248eb7af8f7d512cf453b16c8ccc57483":[async_test('html5lib_tests10.html 071f13f248eb7af8f7d512cf453b16c8ccc57483'), "%3Csvg%3E%3Cscript%3E%3C/script%3E%3Cpath%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20script%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20path%3E"],"0ef97c924e3e5e8ddf8a0bc74530868684685c38":[async_test('html5lib_tests10.html 0ef97c924e3e5e8ddf8a0bc74530868684685c38'), "%3Ctable%3E%3Csvg%3E%3C/svg%3E%3Ctr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"25a94dd91d982fa75c89944ad8f066f7961c590b":[async_test('html5lib_tests10.html 25a94dd91d982fa75c89944ad8f066f7961c590b'), "%3Cmath%3E%3Cmi%3E%3Cmglyph%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mglyph%3E"],"575adfd2e679ad44140d8afd131fee2e5e819fc0":[async_test('html5lib_tests10.html 575adfd2e679ad44140d8afd131fee2e5e819fc0'), "%3Cmath%3E%3Cmi%3E%3Cmalignmark%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20malignmark%3E"],"2eb6893275ff1de69569440710f5588b8558ca17":[async_test('html5lib_tests10.html 2eb6893275ff1de69569440710f5588b8558ca17'), "%3Cmath%3E%3Cmo%3E%3Cmglyph%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mo%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mglyph%3E"],"4f57b212888bfcc7ac6d8e29ef444cc7ae3ec495":[async_test('html5lib_tests10.html 4f57b212888bfcc7ac6d8e29ef444cc7ae3ec495'), "%3Cmath%3E%3Cmo%3E%3Cmalignmark%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mo%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20malignmark%3E"],"c069a88f172919c862432dbef290a425e71414aa":[async_test('html5lib_tests10.html c069a88f172919c862432dbef290a425e71414aa'), "%3Cmath%3E%3Cmn%3E%3Cmglyph%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mglyph%3E"],"f944f978d6a10ec9f194f03a5e232f9663d96ec1":[async_test('html5lib_tests10.html f944f978d6a10ec9f194f03a5e232f9663d96ec1'), "%3Cmath%3E%3Cmn%3E%3Cmalignmark%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20malignmark%3E"],"d5ab79a14609f3ed214baa8e02bedb54ddcf33ec":[async_test('html5lib_tests10.html d5ab79a14609f3ed214baa8e02bedb54ddcf33ec'), "%3Cmath%3E%3Cms%3E%3Cmglyph%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20ms%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mglyph%3E"],"4318bf46f0256426716a911e194f9bdf6185bd7c":[async_test('html5lib_tests10.html 4318bf46f0256426716a911e194f9bdf6185bd7c'), "%3Cmath%3E%3Cms%3E%3Cmalignmark%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20ms%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20malignmark%3E"],"aa5c4b093ee603618493cff853af125b5fb0d401":[async_test('html5lib_tests10.html aa5c4b093ee603618493cff853af125b5fb0d401'), "%3Cmath%3E%3Cmtext%3E%3Cmglyph%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mglyph%3E"],"bfd98674d75ff3291d377f2a7cec3321844a0701":[async_test('html5lib_tests10.html bfd98674d75ff3291d377f2a7cec3321844a0701'), "%3Cmath%3E%3Cmtext%3E%3Cmalignmark%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20malignmark%3E"],"7fc99b729a6d57d28b2ad1edc33bb15167e051bb":[async_test('html5lib_tests10.html 7fc99b729a6d57d28b2ad1edc33bb15167e051bb'), "%3Cmath%3E%3Cannotation-xml%3E%3Csvg%3E%3C/svg%3E%3C/annotation-xml%3E%3Cmi%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E"],"8e87f0d5ca606ca162384d1bf3bb8de62bd6f398":[async_test('html5lib_tests10.html 8e87f0d5ca606ca162384d1bf3bb8de62bd6f398'), "%3Cmath%3E%3Cannotation-xml%3E%3Csvg%3E%3CforeignObject%3E%3Cdiv%3E%3Cmath%3E%3Cmi%3E%3C/mi%3E%3C/math%3E%3Cspan%3E%3C/span%3E%3C/div%3E%3C/foreignObject%3E%3Cpath%3E%3C/path%3E%3C/svg%3E%3C/annotation-xml%3E%3Cmi%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E"],"6476f80f3d2a04e9c1323ffe78686188c579e9ac":[async_test('html5lib_tests10.html 6476f80f3d2a04e9c1323ffe78686188c579e9ac'), "%3Cmath%3E%3Cannotation-xml%3E%3Csvg%3E%3CforeignObject%3E%3Cmath%3E%3Cmi%3E%3Csvg%3E%3C/svg%3E%3C/mi%3E%3Cmo%3E%3C/mo%3E%3C/math%3E%3Cspan%3E%3C/span%3E%3C/foreignObject%3E%3Cpath%3E%3C/path%3E%3C/svg%3E%3C/annotation-xml%3E%3Cmi%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20path%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests11.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests11.html
new file mode 100644
index 0000000000..f088b691e3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests11.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests11.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['ba7a66dfcf59885c08e8638d15b01df3878531e7','e69c7c08a54ca868ab33b2825d998fa6c3cac90e','0e5897aafe87e460f84576c2d1d983504d12a7db','f71dd198831309fc9ccd66ef91cde63fda9b9bda','a8f7a23601363454b4a13f66aed99ec9708ae87b','f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f','fb4dc9f70129a8a045fca3a1e3acee052d0990b3','8f77b846acce75edf1988ea655c79f1de4321de9','39c50f080b2b9ae9e7a1070679ab97d7b814f9ec','6d1fa1599f75625fe4d019abb04a064cf6ed39e8','791437ece7ba684e00162d1dd79dfe540e3621a7','af40d26164229c29b9be77ed6dd7dda780cba55c','16e68d18f8f0fb81013fe77a30b7d396c5081e5e',];
+ var tests = {
+ "ba7a66dfcf59885c08e8638d15b01df3878531e7":[async_test('html5lib_tests11.html ba7a66dfcf59885c08e8638d15b01df3878531e7'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%20attributeName%3D%27%27%20attributeType%3D%27%27%20baseFrequency%3D%27%27%20baseProfile%3D%27%27%20calcMode%3D%27%27%20clipPathUnits%3D%27%27%20diffuseConstant%3D%27%27%20edgeMode%3D%27%27%20filterUnits%3D%27%27%20glyphRef%3D%27%27%20gradientTransform%3D%27%27%20gradientUnits%3D%27%27%20kernelMatrix%3D%27%27%20kernelUnitLength%3D%27%27%20keyPoints%3D%27%27%20keySplines%3D%27%27%20keyTimes%3D%27%27%20lengthAdjust%3D%27%27%20limitingConeAngle%3D%27%27%20markerHeight%3D%27%27%20markerUnits%3D%27%27%20markerWidth%3D%27%27%20maskContentUnits%3D%27%27%20maskUnits%3D%27%27%20numOctaves%3D%27%27%20pathLength%3D%27%27%20patternContentUnits%3D%27%27%20patternTransform%3D%27%27%20patternUnits%3D%27%27%20pointsAtX%3D%27%27%20pointsAtY%3D%27%27%20pointsAtZ%3D%27%27%20preserveAlpha%3D%27%27%20preserveAspectRatio%3D%27%27%20primitiveUnits%3D%27%27%20refX%3D%27%27%20refY%3D%27%27%20repeatCount%3D%27%27%20repeatDur%3D%27%27%20requiredExtensions%3D%27%27%20requiredFeatures%3D%27%27%20specularConstant%3D%27%27%20specularExponent%3D%27%27%20spreadMethod%3D%27%27%20startOffset%3D%27%27%20stdDeviation%3D%27%27%20stitchTiles%3D%27%27%20surfaceScale%3D%27%27%20systemLanguage%3D%27%27%20tableValues%3D%27%27%20targetX%3D%27%27%20targetY%3D%27%27%20textLength%3D%27%27%20viewBox%3D%27%27%20viewTarget%3D%27%27%20xChannelSelector%3D%27%27%20yChannelSelector%3D%27%27%20zoomAndPan%3D%27%27%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20attributeName%3D%22%22%0A%7C%20%20%20%20%20%20%20attributeType%3D%22%22%0A%7C%20%20%20%20%20%20%20baseFrequency%3D%22%22%0A%7C%20%20%20%20%20%20%20baseProfile%3D%22%22%0A%7C%20%20%20%20%20%20%20calcMode%3D%22%22%0A%7C%20%20%20%20%20%20%20clipPathUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20diffuseConstant%3D%22%22%0A%7C%20%20%20%20%20%20%20edgeMode%3D%22%22%0A%7C%20%20%20%20%20%20%20filterUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20glyphRef%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientTransform%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelMatrix%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelUnitLength%3D%22%22%0A%7C%20%20%20%20%20%20%20keyPoints%3D%22%22%0A%7C%20%20%20%20%20%20%20keySplines%3D%22%22%0A%7C%20%20%20%20%20%20%20keyTimes%3D%22%22%0A%7C%20%20%20%20%20%20%20lengthAdjust%3D%22%22%0A%7C%20%20%20%20%20%20%20limitingConeAngle%3D%22%22%0A%7C%20%20%20%20%20%20%20markerHeight%3D%22%22%0A%7C%20%20%20%20%20%20%20markerUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20markerWidth%3D%22%22%0A%7C%20%20%20%20%20%20%20maskContentUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20maskUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20numOctaves%3D%22%22%0A%7C%20%20%20%20%20%20%20pathLength%3D%22%22%0A%7C%20%20%20%20%20%20%20patternContentUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20patternTransform%3D%22%22%0A%7C%20%20%20%20%20%20%20patternUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtX%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtY%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtZ%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveAlpha%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveAspectRatio%3D%22%22%0A%7C%20%20%20%20%20%20%20primitiveUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20refX%3D%22%22%0A%7C%20%20%20%20%20%20%20refY%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatCount%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatDur%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredExtensions%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredFeatures%3D%22%22%0A%7C%20%20%20%20%20%20%20specularConstant%3D%22%22%0A%7C%20%20%20%20%20%20%20specularExponent%3D%22%22%0A%7C%20%20%20%20%20%20%20spreadMethod%3D%22%22%0A%7C%20%20%20%20%20%20%20startOffset%3D%22%22%0A%7C%20%20%20%20%20%20%20stdDeviation%3D%22%22%0A%7C%20%20%20%20%20%20%20stitchTiles%3D%22%22%0A%7C%20%20%20%20%20%20%20surfaceScale%3D%22%22%0A%7C%20%20%20%20%20%20%20systemLanguage%3D%22%22%0A%7C%20%20%20%20%20%20%20tableValues%3D%22%22%0A%7C%20%20%20%20%20%20%20targetX%3D%22%22%0A%7C%20%20%20%20%20%20%20targetY%3D%22%22%0A%7C%20%20%20%20%20%20%20textLength%3D%22%22%0A%7C%20%20%20%20%20%20%20viewBox%3D%22%22%0A%7C%20%20%20%20%20%20%20viewTarget%3D%22%22%0A%7C%20%20%20%20%20%20%20xChannelSelector%3D%22%22%0A%7C%20%20%20%20%20%20%20yChannelSelector%3D%22%22%0A%7C%20%20%20%20%20%20%20zoomAndPan%3D%22%22"],"e69c7c08a54ca868ab33b2825d998fa6c3cac90e":[async_test('html5lib_tests11.html e69c7c08a54ca868ab33b2825d998fa6c3cac90e'), "%3C%21DOCTYPE%20html%3E%3CBODY%3E%3CSVG%20ATTRIBUTENAME%3D%27%27%20ATTRIBUTETYPE%3D%27%27%20BASEFREQUENCY%3D%27%27%20BASEPROFILE%3D%27%27%20CALCMODE%3D%27%27%20CLIPPATHUNITS%3D%27%27%20DIFFUSECONSTANT%3D%27%27%20EDGEMODE%3D%27%27%20FILTERUNITS%3D%27%27%20GLYPHREF%3D%27%27%20GRADIENTTRANSFORM%3D%27%27%20GRADIENTUNITS%3D%27%27%20KERNELMATRIX%3D%27%27%20KERNELUNITLENGTH%3D%27%27%20KEYPOINTS%3D%27%27%20KEYSPLINES%3D%27%27%20KEYTIMES%3D%27%27%20LENGTHADJUST%3D%27%27%20LIMITINGCONEANGLE%3D%27%27%20MARKERHEIGHT%3D%27%27%20MARKERUNITS%3D%27%27%20MARKERWIDTH%3D%27%27%20MASKCONTENTUNITS%3D%27%27%20MASKUNITS%3D%27%27%20NUMOCTAVES%3D%27%27%20PATHLENGTH%3D%27%27%20PATTERNCONTENTUNITS%3D%27%27%20PATTERNTRANSFORM%3D%27%27%20PATTERNUNITS%3D%27%27%20POINTSATX%3D%27%27%20POINTSATY%3D%27%27%20POINTSATZ%3D%27%27%20PRESERVEALPHA%3D%27%27%20PRESERVEASPECTRATIO%3D%27%27%20PRIMITIVEUNITS%3D%27%27%20REFX%3D%27%27%20REFY%3D%27%27%20REPEATCOUNT%3D%27%27%20REPEATDUR%3D%27%27%20REQUIREDEXTENSIONS%3D%27%27%20REQUIREDFEATURES%3D%27%27%20SPECULARCONSTANT%3D%27%27%20SPECULAREXPONENT%3D%27%27%20SPREADMETHOD%3D%27%27%20STARTOFFSET%3D%27%27%20STDDEVIATION%3D%27%27%20STITCHTILES%3D%27%27%20SURFACESCALE%3D%27%27%20SYSTEMLANGUAGE%3D%27%27%20TABLEVALUES%3D%27%27%20TARGETX%3D%27%27%20TARGETY%3D%27%27%20TEXTLENGTH%3D%27%27%20VIEWBOX%3D%27%27%20VIEWTARGET%3D%27%27%20XCHANNELSELECTOR%3D%27%27%20YCHANNELSELECTOR%3D%27%27%20ZOOMANDPAN%3D%27%27%3E%3C/SVG%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20attributeName%3D%22%22%0A%7C%20%20%20%20%20%20%20attributeType%3D%22%22%0A%7C%20%20%20%20%20%20%20baseFrequency%3D%22%22%0A%7C%20%20%20%20%20%20%20baseProfile%3D%22%22%0A%7C%20%20%20%20%20%20%20calcMode%3D%22%22%0A%7C%20%20%20%20%20%20%20clipPathUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20diffuseConstant%3D%22%22%0A%7C%20%20%20%20%20%20%20edgeMode%3D%22%22%0A%7C%20%20%20%20%20%20%20filterUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20glyphRef%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientTransform%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelMatrix%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelUnitLength%3D%22%22%0A%7C%20%20%20%20%20%20%20keyPoints%3D%22%22%0A%7C%20%20%20%20%20%20%20keySplines%3D%22%22%0A%7C%20%20%20%20%20%20%20keyTimes%3D%22%22%0A%7C%20%20%20%20%20%20%20lengthAdjust%3D%22%22%0A%7C%20%20%20%20%20%20%20limitingConeAngle%3D%22%22%0A%7C%20%20%20%20%20%20%20markerHeight%3D%22%22%0A%7C%20%20%20%20%20%20%20markerUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20markerWidth%3D%22%22%0A%7C%20%20%20%20%20%20%20maskContentUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20maskUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20numOctaves%3D%22%22%0A%7C%20%20%20%20%20%20%20pathLength%3D%22%22%0A%7C%20%20%20%20%20%20%20patternContentUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20patternTransform%3D%22%22%0A%7C%20%20%20%20%20%20%20patternUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtX%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtY%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtZ%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveAlpha%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveAspectRatio%3D%22%22%0A%7C%20%20%20%20%20%20%20primitiveUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20refX%3D%22%22%0A%7C%20%20%20%20%20%20%20refY%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatCount%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatDur%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredExtensions%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredFeatures%3D%22%22%0A%7C%20%20%20%20%20%20%20specularConstant%3D%22%22%0A%7C%20%20%20%20%20%20%20specularExponent%3D%22%22%0A%7C%20%20%20%20%20%20%20spreadMethod%3D%22%22%0A%7C%20%20%20%20%20%20%20startOffset%3D%22%22%0A%7C%20%20%20%20%20%20%20stdDeviation%3D%22%22%0A%7C%20%20%20%20%20%20%20stitchTiles%3D%22%22%0A%7C%20%20%20%20%20%20%20surfaceScale%3D%22%22%0A%7C%20%20%20%20%20%20%20systemLanguage%3D%22%22%0A%7C%20%20%20%20%20%20%20tableValues%3D%22%22%0A%7C%20%20%20%20%20%20%20targetX%3D%22%22%0A%7C%20%20%20%20%20%20%20targetY%3D%22%22%0A%7C%20%20%20%20%20%20%20textLength%3D%22%22%0A%7C%20%20%20%20%20%20%20viewBox%3D%22%22%0A%7C%20%20%20%20%20%20%20viewTarget%3D%22%22%0A%7C%20%20%20%20%20%20%20xChannelSelector%3D%22%22%0A%7C%20%20%20%20%20%20%20yChannelSelector%3D%22%22%0A%7C%20%20%20%20%20%20%20zoomAndPan%3D%22%22"],"0e5897aafe87e460f84576c2d1d983504d12a7db":[async_test('html5lib_tests11.html 0e5897aafe87e460f84576c2d1d983504d12a7db'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%20attributename%3D%27%27%20attributetype%3D%27%27%20basefrequency%3D%27%27%20baseprofile%3D%27%27%20calcmode%3D%27%27%20clippathunits%3D%27%27%20diffuseconstant%3D%27%27%20edgemode%3D%27%27%20filterunits%3D%27%27%20filterres%3D%27%27%20glyphref%3D%27%27%20gradienttransform%3D%27%27%20gradientunits%3D%27%27%20kernelmatrix%3D%27%27%20kernelunitlength%3D%27%27%20keypoints%3D%27%27%20keysplines%3D%27%27%20keytimes%3D%27%27%20lengthadjust%3D%27%27%20limitingconeangle%3D%27%27%20markerheight%3D%27%27%20markerunits%3D%27%27%20markerwidth%3D%27%27%20maskcontentunits%3D%27%27%20maskunits%3D%27%27%20numoctaves%3D%27%27%20pathlength%3D%27%27%20patterncontentunits%3D%27%27%20patterntransform%3D%27%27%20patternunits%3D%27%27%20pointsatx%3D%27%27%20pointsaty%3D%27%27%20pointsatz%3D%27%27%20preservealpha%3D%27%27%20preserveaspectratio%3D%27%27%20primitiveunits%3D%27%27%20refx%3D%27%27%20refy%3D%27%27%20repeatcount%3D%27%27%20repeatdur%3D%27%27%20requiredextensions%3D%27%27%20requiredfeatures%3D%27%27%20specularconstant%3D%27%27%20specularexponent%3D%27%27%20spreadmethod%3D%27%27%20startoffset%3D%27%27%20stddeviation%3D%27%27%20stitchtiles%3D%27%27%20surfacescale%3D%27%27%20systemlanguage%3D%27%27%20tablevalues%3D%27%27%20targetx%3D%27%27%20targety%3D%27%27%20textlength%3D%27%27%20viewbox%3D%27%27%20viewtarget%3D%27%27%20xchannelselector%3D%27%27%20ychannelselector%3D%27%27%20zoomandpan%3D%27%27%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20attributeName%3D%22%22%0A%7C%20%20%20%20%20%20%20attributeType%3D%22%22%0A%7C%20%20%20%20%20%20%20baseFrequency%3D%22%22%0A%7C%20%20%20%20%20%20%20baseProfile%3D%22%22%0A%7C%20%20%20%20%20%20%20calcMode%3D%22%22%0A%7C%20%20%20%20%20%20%20clipPathUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20diffuseConstant%3D%22%22%0A%7C%20%20%20%20%20%20%20edgeMode%3D%22%22%0A%7C%20%20%20%20%20%20%20filterUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20filterres%3D%22%22%0A%7C%20%20%20%20%20%20%20glyphRef%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientTransform%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelMatrix%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelUnitLength%3D%22%22%0A%7C%20%20%20%20%20%20%20keyPoints%3D%22%22%0A%7C%20%20%20%20%20%20%20keySplines%3D%22%22%0A%7C%20%20%20%20%20%20%20keyTimes%3D%22%22%0A%7C%20%20%20%20%20%20%20lengthAdjust%3D%22%22%0A%7C%20%20%20%20%20%20%20limitingConeAngle%3D%22%22%0A%7C%20%20%20%20%20%20%20markerHeight%3D%22%22%0A%7C%20%20%20%20%20%20%20markerUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20markerWidth%3D%22%22%0A%7C%20%20%20%20%20%20%20maskContentUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20maskUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20numOctaves%3D%22%22%0A%7C%20%20%20%20%20%20%20pathLength%3D%22%22%0A%7C%20%20%20%20%20%20%20patternContentUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20patternTransform%3D%22%22%0A%7C%20%20%20%20%20%20%20patternUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtX%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtY%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsAtZ%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveAlpha%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveAspectRatio%3D%22%22%0A%7C%20%20%20%20%20%20%20primitiveUnits%3D%22%22%0A%7C%20%20%20%20%20%20%20refX%3D%22%22%0A%7C%20%20%20%20%20%20%20refY%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatCount%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatDur%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredExtensions%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredFeatures%3D%22%22%0A%7C%20%20%20%20%20%20%20specularConstant%3D%22%22%0A%7C%20%20%20%20%20%20%20specularExponent%3D%22%22%0A%7C%20%20%20%20%20%20%20spreadMethod%3D%22%22%0A%7C%20%20%20%20%20%20%20startOffset%3D%22%22%0A%7C%20%20%20%20%20%20%20stdDeviation%3D%22%22%0A%7C%20%20%20%20%20%20%20stitchTiles%3D%22%22%0A%7C%20%20%20%20%20%20%20surfaceScale%3D%22%22%0A%7C%20%20%20%20%20%20%20systemLanguage%3D%22%22%0A%7C%20%20%20%20%20%20%20tableValues%3D%22%22%0A%7C%20%20%20%20%20%20%20targetX%3D%22%22%0A%7C%20%20%20%20%20%20%20targetY%3D%22%22%0A%7C%20%20%20%20%20%20%20textLength%3D%22%22%0A%7C%20%20%20%20%20%20%20viewBox%3D%22%22%0A%7C%20%20%20%20%20%20%20viewTarget%3D%22%22%0A%7C%20%20%20%20%20%20%20xChannelSelector%3D%22%22%0A%7C%20%20%20%20%20%20%20yChannelSelector%3D%22%22%0A%7C%20%20%20%20%20%20%20zoomAndPan%3D%22%22"],"f71dd198831309fc9ccd66ef91cde63fda9b9bda":[async_test('html5lib_tests11.html f71dd198831309fc9ccd66ef91cde63fda9b9bda'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmath%20attributeName%3D%27%27%20attributeType%3D%27%27%20baseFrequency%3D%27%27%20baseProfile%3D%27%27%20calcMode%3D%27%27%20clipPathUnits%3D%27%27%20diffuseConstant%3D%27%27%20edgeMode%3D%27%27%20filterUnits%3D%27%27%20glyphRef%3D%27%27%20gradientTransform%3D%27%27%20gradientUnits%3D%27%27%20kernelMatrix%3D%27%27%20kernelUnitLength%3D%27%27%20keyPoints%3D%27%27%20keySplines%3D%27%27%20keyTimes%3D%27%27%20lengthAdjust%3D%27%27%20limitingConeAngle%3D%27%27%20markerHeight%3D%27%27%20markerUnits%3D%27%27%20markerWidth%3D%27%27%20maskContentUnits%3D%27%27%20maskUnits%3D%27%27%20numOctaves%3D%27%27%20pathLength%3D%27%27%20patternContentUnits%3D%27%27%20patternTransform%3D%27%27%20patternUnits%3D%27%27%20pointsAtX%3D%27%27%20pointsAtY%3D%27%27%20pointsAtZ%3D%27%27%20preserveAlpha%3D%27%27%20preserveAspectRatio%3D%27%27%20primitiveUnits%3D%27%27%20refX%3D%27%27%20refY%3D%27%27%20repeatCount%3D%27%27%20repeatDur%3D%27%27%20requiredExtensions%3D%27%27%20requiredFeatures%3D%27%27%20specularConstant%3D%27%27%20specularExponent%3D%27%27%20spreadMethod%3D%27%27%20startOffset%3D%27%27%20stdDeviation%3D%27%27%20stitchTiles%3D%27%27%20surfaceScale%3D%27%27%20systemLanguage%3D%27%27%20tableValues%3D%27%27%20targetX%3D%27%27%20targetY%3D%27%27%20textLength%3D%27%27%20viewBox%3D%27%27%20viewTarget%3D%27%27%20xChannelSelector%3D%27%27%20yChannelSelector%3D%27%27%20zoomAndPan%3D%27%27%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20attributename%3D%22%22%0A%7C%20%20%20%20%20%20%20attributetype%3D%22%22%0A%7C%20%20%20%20%20%20%20basefrequency%3D%22%22%0A%7C%20%20%20%20%20%20%20baseprofile%3D%22%22%0A%7C%20%20%20%20%20%20%20calcmode%3D%22%22%0A%7C%20%20%20%20%20%20%20clippathunits%3D%22%22%0A%7C%20%20%20%20%20%20%20diffuseconstant%3D%22%22%0A%7C%20%20%20%20%20%20%20edgemode%3D%22%22%0A%7C%20%20%20%20%20%20%20filterunits%3D%22%22%0A%7C%20%20%20%20%20%20%20glyphref%3D%22%22%0A%7C%20%20%20%20%20%20%20gradienttransform%3D%22%22%0A%7C%20%20%20%20%20%20%20gradientunits%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelmatrix%3D%22%22%0A%7C%20%20%20%20%20%20%20kernelunitlength%3D%22%22%0A%7C%20%20%20%20%20%20%20keypoints%3D%22%22%0A%7C%20%20%20%20%20%20%20keysplines%3D%22%22%0A%7C%20%20%20%20%20%20%20keytimes%3D%22%22%0A%7C%20%20%20%20%20%20%20lengthadjust%3D%22%22%0A%7C%20%20%20%20%20%20%20limitingconeangle%3D%22%22%0A%7C%20%20%20%20%20%20%20markerheight%3D%22%22%0A%7C%20%20%20%20%20%20%20markerunits%3D%22%22%0A%7C%20%20%20%20%20%20%20markerwidth%3D%22%22%0A%7C%20%20%20%20%20%20%20maskcontentunits%3D%22%22%0A%7C%20%20%20%20%20%20%20maskunits%3D%22%22%0A%7C%20%20%20%20%20%20%20numoctaves%3D%22%22%0A%7C%20%20%20%20%20%20%20pathlength%3D%22%22%0A%7C%20%20%20%20%20%20%20patterncontentunits%3D%22%22%0A%7C%20%20%20%20%20%20%20patterntransform%3D%22%22%0A%7C%20%20%20%20%20%20%20patternunits%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsatx%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsaty%3D%22%22%0A%7C%20%20%20%20%20%20%20pointsatz%3D%22%22%0A%7C%20%20%20%20%20%20%20preservealpha%3D%22%22%0A%7C%20%20%20%20%20%20%20preserveaspectratio%3D%22%22%0A%7C%20%20%20%20%20%20%20primitiveunits%3D%22%22%0A%7C%20%20%20%20%20%20%20refx%3D%22%22%0A%7C%20%20%20%20%20%20%20refy%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatcount%3D%22%22%0A%7C%20%20%20%20%20%20%20repeatdur%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredextensions%3D%22%22%0A%7C%20%20%20%20%20%20%20requiredfeatures%3D%22%22%0A%7C%20%20%20%20%20%20%20specularconstant%3D%22%22%0A%7C%20%20%20%20%20%20%20specularexponent%3D%22%22%0A%7C%20%20%20%20%20%20%20spreadmethod%3D%22%22%0A%7C%20%20%20%20%20%20%20startoffset%3D%22%22%0A%7C%20%20%20%20%20%20%20stddeviation%3D%22%22%0A%7C%20%20%20%20%20%20%20stitchtiles%3D%22%22%0A%7C%20%20%20%20%20%20%20surfacescale%3D%22%22%0A%7C%20%20%20%20%20%20%20systemlanguage%3D%22%22%0A%7C%20%20%20%20%20%20%20tablevalues%3D%22%22%0A%7C%20%20%20%20%20%20%20targetx%3D%22%22%0A%7C%20%20%20%20%20%20%20targety%3D%22%22%0A%7C%20%20%20%20%20%20%20textlength%3D%22%22%0A%7C%20%20%20%20%20%20%20viewbox%3D%22%22%0A%7C%20%20%20%20%20%20%20viewtarget%3D%22%22%0A%7C%20%20%20%20%20%20%20xchannelselector%3D%22%22%0A%7C%20%20%20%20%20%20%20ychannelselector%3D%22%22%0A%7C%20%20%20%20%20%20%20zoomandpan%3D%22%22"],"a8f7a23601363454b4a13f66aed99ec9708ae87b":[async_test('html5lib_tests11.html a8f7a23601363454b4a13f66aed99ec9708ae87b'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%20contentScriptType%3D%27%27%20contentStyleType%3D%27%27%20externalResourcesRequired%3D%27%27%20filterRes%3D%27%27%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20contentscripttype%3D%22%22%0A%7C%20%20%20%20%20%20%20contentstyletype%3D%22%22%0A%7C%20%20%20%20%20%20%20externalresourcesrequired%3D%22%22%0A%7C%20%20%20%20%20%20%20filterres%3D%22%22"],"f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f":[async_test('html5lib_tests11.html f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%20CONTENTSCRIPTTYPE%3D%27%27%20CONTENTSTYLETYPE%3D%27%27%20EXTERNALRESOURCESREQUIRED%3D%27%27%20FILTERRES%3D%27%27%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20contentscripttype%3D%22%22%0A%7C%20%20%20%20%20%20%20contentstyletype%3D%22%22%0A%7C%20%20%20%20%20%20%20externalresourcesrequired%3D%22%22%0A%7C%20%20%20%20%20%20%20filterres%3D%22%22"],"fb4dc9f70129a8a045fca3a1e3acee052d0990b3":[async_test('html5lib_tests11.html fb4dc9f70129a8a045fca3a1e3acee052d0990b3'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%20contentscripttype%3D%27%27%20contentstyletype%3D%27%27%20externalresourcesrequired%3D%27%27%20filterres%3D%27%27%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20contentscripttype%3D%22%22%0A%7C%20%20%20%20%20%20%20contentstyletype%3D%22%22%0A%7C%20%20%20%20%20%20%20externalresourcesrequired%3D%22%22%0A%7C%20%20%20%20%20%20%20filterres%3D%22%22"],"8f77b846acce75edf1988ea655c79f1de4321de9":[async_test('html5lib_tests11.html 8f77b846acce75edf1988ea655c79f1de4321de9'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmath%20contentScriptType%3D%27%27%20contentStyleType%3D%27%27%20externalResourcesRequired%3D%27%27%20filterRes%3D%27%27%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20contentscripttype%3D%22%22%0A%7C%20%20%20%20%20%20%20contentstyletype%3D%22%22%0A%7C%20%20%20%20%20%20%20externalresourcesrequired%3D%22%22%0A%7C%20%20%20%20%20%20%20filterres%3D%22%22"],"39c50f080b2b9ae9e7a1070679ab97d7b814f9ec":[async_test('html5lib_tests11.html 39c50f080b2b9ae9e7a1070679ab97d7b814f9ec'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%3E%3CaltGlyph%20/%3E%3CaltGlyphDef%20/%3E%3CaltGlyphItem%20/%3E%3CanimateColor%20/%3E%3CanimateMotion%20/%3E%3CanimateTransform%20/%3E%3CclipPath%20/%3E%3CfeBlend%20/%3E%3CfeColorMatrix%20/%3E%3CfeComponentTransfer%20/%3E%3CfeComposite%20/%3E%3CfeConvolveMatrix%20/%3E%3CfeDiffuseLighting%20/%3E%3CfeDisplacementMap%20/%3E%3CfeDistantLight%20/%3E%3CfeFlood%20/%3E%3CfeFuncA%20/%3E%3CfeFuncB%20/%3E%3CfeFuncG%20/%3E%3CfeFuncR%20/%3E%3CfeGaussianBlur%20/%3E%3CfeImage%20/%3E%3CfeMerge%20/%3E%3CfeMergeNode%20/%3E%3CfeMorphology%20/%3E%3CfeOffset%20/%3E%3CfePointLight%20/%3E%3CfeSpecularLighting%20/%3E%3CfeSpotLight%20/%3E%3CfeTile%20/%3E%3CfeTurbulence%20/%3E%3CforeignObject%20/%3E%3CglyphRef%20/%3E%3ClinearGradient%20/%3E%3CradialGradient%20/%3E%3CtextPath%20/%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyph%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyphDef%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyphItem%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateColor%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateMotion%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateTransform%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20clipPath%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feBlend%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feColorMatrix%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feComponentTransfer%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feComposite%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feConvolveMatrix%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDiffuseLighting%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDisplacementMap%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDistantLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFlood%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncA%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncB%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncG%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncR%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feGaussianBlur%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feImage%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMerge%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMergeNode%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMorphology%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feOffset%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20fePointLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feSpecularLighting%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feSpotLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feTile%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feTurbulence%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20glyphRef%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20linearGradient%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20radialGradient%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20textPath%3E"],"6d1fa1599f75625fe4d019abb04a064cf6ed39e8":[async_test('html5lib_tests11.html 6d1fa1599f75625fe4d019abb04a064cf6ed39e8'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%3E%3Caltglyph%20/%3E%3Caltglyphdef%20/%3E%3Caltglyphitem%20/%3E%3Canimatecolor%20/%3E%3Canimatemotion%20/%3E%3Canimatetransform%20/%3E%3Cclippath%20/%3E%3Cfeblend%20/%3E%3Cfecolormatrix%20/%3E%3Cfecomponenttransfer%20/%3E%3Cfecomposite%20/%3E%3Cfeconvolvematrix%20/%3E%3Cfediffuselighting%20/%3E%3Cfedisplacementmap%20/%3E%3Cfedistantlight%20/%3E%3Cfeflood%20/%3E%3Cfefunca%20/%3E%3Cfefuncb%20/%3E%3Cfefuncg%20/%3E%3Cfefuncr%20/%3E%3Cfegaussianblur%20/%3E%3Cfeimage%20/%3E%3Cfemerge%20/%3E%3Cfemergenode%20/%3E%3Cfemorphology%20/%3E%3Cfeoffset%20/%3E%3Cfepointlight%20/%3E%3Cfespecularlighting%20/%3E%3Cfespotlight%20/%3E%3Cfetile%20/%3E%3Cfeturbulence%20/%3E%3Cforeignobject%20/%3E%3Cglyphref%20/%3E%3Clineargradient%20/%3E%3Cradialgradient%20/%3E%3Ctextpath%20/%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyph%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyphDef%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyphItem%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateColor%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateMotion%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateTransform%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20clipPath%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feBlend%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feColorMatrix%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feComponentTransfer%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feComposite%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feConvolveMatrix%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDiffuseLighting%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDisplacementMap%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDistantLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFlood%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncA%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncB%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncG%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncR%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feGaussianBlur%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feImage%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMerge%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMergeNode%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMorphology%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feOffset%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20fePointLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feSpecularLighting%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feSpotLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feTile%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feTurbulence%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20glyphRef%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20linearGradient%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20radialGradient%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20textPath%3E"],"791437ece7ba684e00162d1dd79dfe540e3621a7":[async_test('html5lib_tests11.html 791437ece7ba684e00162d1dd79dfe540e3621a7'), "%3C%21DOCTYPE%20html%3E%3CBODY%3E%3CSVG%3E%3CALTGLYPH%20/%3E%3CALTGLYPHDEF%20/%3E%3CALTGLYPHITEM%20/%3E%3CANIMATECOLOR%20/%3E%3CANIMATEMOTION%20/%3E%3CANIMATETRANSFORM%20/%3E%3CCLIPPATH%20/%3E%3CFEBLEND%20/%3E%3CFECOLORMATRIX%20/%3E%3CFECOMPONENTTRANSFER%20/%3E%3CFECOMPOSITE%20/%3E%3CFECONVOLVEMATRIX%20/%3E%3CFEDIFFUSELIGHTING%20/%3E%3CFEDISPLACEMENTMAP%20/%3E%3CFEDISTANTLIGHT%20/%3E%3CFEFLOOD%20/%3E%3CFEFUNCA%20/%3E%3CFEFUNCB%20/%3E%3CFEFUNCG%20/%3E%3CFEFUNCR%20/%3E%3CFEGAUSSIANBLUR%20/%3E%3CFEIMAGE%20/%3E%3CFEMERGE%20/%3E%3CFEMERGENODE%20/%3E%3CFEMORPHOLOGY%20/%3E%3CFEOFFSET%20/%3E%3CFEPOINTLIGHT%20/%3E%3CFESPECULARLIGHTING%20/%3E%3CFESPOTLIGHT%20/%3E%3CFETILE%20/%3E%3CFETURBULENCE%20/%3E%3CFOREIGNOBJECT%20/%3E%3CGLYPHREF%20/%3E%3CLINEARGRADIENT%20/%3E%3CRADIALGRADIENT%20/%3E%3CTEXTPATH%20/%3E%3C/SVG%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyph%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyphDef%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20altGlyphItem%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateColor%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateMotion%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20animateTransform%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20clipPath%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feBlend%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feColorMatrix%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feComponentTransfer%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feComposite%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feConvolveMatrix%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDiffuseLighting%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDisplacementMap%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feDistantLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFlood%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncA%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncB%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncG%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feFuncR%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feGaussianBlur%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feImage%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMerge%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMergeNode%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feMorphology%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feOffset%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20fePointLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feSpecularLighting%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feSpotLight%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feTile%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20feTurbulence%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20glyphRef%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20linearGradient%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20radialGradient%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20textPath%3E"],"af40d26164229c29b9be77ed6dd7dda780cba55c":[async_test('html5lib_tests11.html af40d26164229c29b9be77ed6dd7dda780cba55c'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmath%3E%3CaltGlyph%20/%3E%3CaltGlyphDef%20/%3E%3CaltGlyphItem%20/%3E%3CanimateColor%20/%3E%3CanimateMotion%20/%3E%3CanimateTransform%20/%3E%3CclipPath%20/%3E%3CfeBlend%20/%3E%3CfeColorMatrix%20/%3E%3CfeComponentTransfer%20/%3E%3CfeComposite%20/%3E%3CfeConvolveMatrix%20/%3E%3CfeDiffuseLighting%20/%3E%3CfeDisplacementMap%20/%3E%3CfeDistantLight%20/%3E%3CfeFlood%20/%3E%3CfeFuncA%20/%3E%3CfeFuncB%20/%3E%3CfeFuncG%20/%3E%3CfeFuncR%20/%3E%3CfeGaussianBlur%20/%3E%3CfeImage%20/%3E%3CfeMerge%20/%3E%3CfeMergeNode%20/%3E%3CfeMorphology%20/%3E%3CfeOffset%20/%3E%3CfePointLight%20/%3E%3CfeSpecularLighting%20/%3E%3CfeSpotLight%20/%3E%3CfeTile%20/%3E%3CfeTurbulence%20/%3E%3CforeignObject%20/%3E%3CglyphRef%20/%3E%3ClinearGradient%20/%3E%3CradialGradient%20/%3E%3CtextPath%20/%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20altglyph%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20altglyphdef%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20altglyphitem%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20animatecolor%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20animatemotion%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20animatetransform%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20clippath%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20feblend%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fecolormatrix%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fecomponenttransfer%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fecomposite%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20feconvolvematrix%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fediffuselighting%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fedisplacementmap%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fedistantlight%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20feflood%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fefunca%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fefuncb%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fefuncg%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fefuncr%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fegaussianblur%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20feimage%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20femerge%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20femergenode%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20femorphology%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20feoffset%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fepointlight%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fespecularlighting%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fespotlight%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20fetile%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20feturbulence%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20foreignobject%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20glyphref%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20lineargradient%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20radialgradient%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20textpath%3E"],"16e68d18f8f0fb81013fe77a30b7d396c5081e5e":[async_test('html5lib_tests11.html 16e68d18f8f0fb81013fe77a30b7d396c5081e5e'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csvg%3E%3CsolidColor%20/%3E%3C/svg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20solidcolor%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests12.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests12.html
new file mode 100644
index 0000000000..4c1b388f04
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests12.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests12.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['95751b82f57d4feaaf06d208d57b7f6cc4d5fef5','411c792cef85cbb029d5c91f4a2142751a319bc2',];
+ var tests = {
+ "95751b82f57d4feaaf06d208d57b7f6cc4d5fef5":[async_test('html5lib_tests12.html 95751b82f57d4feaaf06d208d57b7f6cc4d5fef5'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cp%3Efoo%3Cmath%3E%3Cmtext%3E%3Ci%3Ebaz%3C/i%3E%3C/mtext%3E%3Cannotation-xml%3E%3Csvg%3E%3Cdesc%3E%3Cb%3Eeggs%3C/b%3E%3C/desc%3E%3Cg%3E%3CforeignObject%3E%3CP%3Espam%3CTABLE%3E%3Ctr%3E%3Ctd%3E%3Cimg%3E%3C/td%3E%3C/table%3E%3C/foreignObject%3E%3C/g%3E%3Cg%3Equux%3C/g%3E%3C/svg%3E%3C/annotation-xml%3E%3C/math%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22eggs%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22spam%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22quux%22%0A%7C%20%20%20%20%20%20%20%22bar%22"],"411c792cef85cbb029d5c91f4a2142751a319bc2":[async_test('html5lib_tests12.html 411c792cef85cbb029d5c91f4a2142751a319bc2'), "%3C%21DOCTYPE%20html%3E%3Cbody%3Efoo%3Cmath%3E%3Cmtext%3E%3Ci%3Ebaz%3C/i%3E%3C/mtext%3E%3Cannotation-xml%3E%3Csvg%3E%3Cdesc%3E%3Cb%3Eeggs%3C/b%3E%3C/desc%3E%3Cg%3E%3CforeignObject%3E%3CP%3Espam%3CTABLE%3E%3Ctr%3E%3Ctd%3E%3Cimg%3E%3C/td%3E%3C/table%3E%3C/foreignObject%3E%3C/g%3E%3Cg%3Equux%3C/g%3E%3C/svg%3E%3C/annotation-xml%3E%3C/math%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22eggs%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22spam%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20g%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22quux%22%0A%7C%20%20%20%20%20%22bar%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests14.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests14.html
new file mode 100644
index 0000000000..b1a4323c2d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests14.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests14.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['d0faa36cd34bbc8e41bacd676e995aef68cb8ef7','9d97df65d72e97363840684da4e164b50c4bf1cb','c5de9372cd188bc22d40d4ad08eb6f787ab521ea','d16e1c0655b2086c1bd995cf6f1c5c7106e48ef0','383a71bb62eacf93dcb2399c7dd7419d92a91899','ee5e2e4a3346d225907f27c1f12b3cb2e77c32c4','cd557ae48cd48356c367e470927d0fc108724409',];
+ var tests = {
+ "d0faa36cd34bbc8e41bacd676e995aef68cb8ef7":[async_test('html5lib_tests14.html d0faa36cd34bbc8e41bacd676e995aef68cb8ef7'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Cbody%3E%3Cxyz%3Aabc%3E%3C/xyz%3Aabc%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxyz%3Aabc%3E"],"9d97df65d72e97363840684da4e164b50c4bf1cb":[async_test('html5lib_tests14.html 9d97df65d72e97363840684da4e164b50c4bf1cb'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Cbody%3E%3Cxyz%3Aabc%3E%3C/xyz%3Aabc%3E%3Cspan%3E%3C/span%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxyz%3Aabc%3E%0A%7C%20%20%20%20%20%3Cspan%3E"],"c5de9372cd188bc22d40d4ad08eb6f787ab521ea":[async_test('html5lib_tests14.html c5de9372cd188bc22d40d4ad08eb6f787ab521ea'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chtml%20abc%3Adef%3Dgh%3E%3Cxyz%3Aabc%3E%3C/xyz%3Aabc%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20abc%3Adef%3D%22gh%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxyz%3Aabc%3E"],"d16e1c0655b2086c1bd995cf6f1c5c7106e48ef0":[async_test('html5lib_tests14.html d16e1c0655b2086c1bd995cf6f1c5c7106e48ef0'), "%3C%21DOCTYPE%20html%3E%3Chtml%20xml%3Alang%3Dbar%3E%3Chtml%20xml%3Alang%3Dfoo%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20xml%3Alang%3D%22bar%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"383a71bb62eacf93dcb2399c7dd7419d92a91899":[async_test('html5lib_tests14.html 383a71bb62eacf93dcb2399c7dd7419d92a91899'), "%3C%21DOCTYPE%20html%3E%3Chtml%20123%3D456%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20123%3D%22456%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"ee5e2e4a3346d225907f27c1f12b3cb2e77c32c4":[async_test('html5lib_tests14.html ee5e2e4a3346d225907f27c1f12b3cb2e77c32c4'), "%3C%21DOCTYPE%20html%3E%3Chtml%20123%3D456%3E%3Chtml%20789%3D012%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20123%3D%22456%22%0A%7C%20%20%20789%3D%22012%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"cd557ae48cd48356c367e470927d0fc108724409":[async_test('html5lib_tests14.html cd557ae48cd48356c367e470927d0fc108724409'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Cbody%20789%3D012%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20789%3D%22012%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests15.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests15.html
new file mode 100644
index 0000000000..3e9ac0cbe8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests15.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests15.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['6b53427ced5c2da3830c5053af874df81b59f4dc','e4719f96139431e67dc783631eb1b3b25e0e62e8','6c880904728529240130ab72c30a1f800502e1fc','59cae979c2d8110a1015fd401afb42d1015e2c05','fdac591df8c2ff9db7bdd63adee17e002a620ea1','72352f74535e62a2b0623446073f3edb7698bcf3','93c2841d64ce8d4745de6a0fbd28ddba273fd3d0','e83c7f01a04d3ff180019d1578cc666f67ea71eb','8ed7e05d49dfc6701ef8325a5d9504d596d8d083','938af694979b4eae59e7bd3ab71d76e5254192a0','e7bba1876ae72e36eb68142d21f64fee1043cff6','fc3373f9cb00e32fc98435157d1d74a6a27a7fb9','f4c1486ad877d96aeb9a31fde16d2a93ada53b35','c1176256398117ceca6c3878106893855c39aa5a',];
+ var tests = {
+ "6b53427ced5c2da3830c5053af874df81b59f4dc":[async_test('html5lib_tests15.html 6b53427ced5c2da3830c5053af874df81b59f4dc'), "%3C%21DOCTYPE%20html%3E%3Cp%3E%3Cb%3E%3Ci%3E%3Cu%3E%3C/p%3E%20%3Cp%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cu%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cu%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"e4719f96139431e67dc783631eb1b3b25e0e62e8":[async_test('html5lib_tests15.html e4719f96139431e67dc783631eb1b3b25e0e62e8'), "%3Cp%3E%3Cb%3E%3Ci%3E%3Cu%3E%3C/p%3E%0A%3Cp%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cu%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cu%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"6c880904728529240130ab72c30a1f800502e1fc":[async_test('html5lib_tests15.html 6c880904728529240130ab72c30a1f800502e1fc'), "%3C%21doctype%20html%3E%3C/html%3E%20%3Chead%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%20%22"],"59cae979c2d8110a1015fd401afb42d1015e2c05":[async_test('html5lib_tests15.html 59cae979c2d8110a1015fd401afb42d1015e2c05'), "%3C%21doctype%20html%3E%3C/body%3E%3Cmeta%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmeta%3E"],"fdac591df8c2ff9db7bdd63adee17e002a620ea1":[async_test('html5lib_tests15.html fdac591df8c2ff9db7bdd63adee17e002a620ea1'), "%3Chtml%3E%3C/html%3E%3C%21--%20foo%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%3C%21--%20%20foo%20%20--%3E"],"72352f74535e62a2b0623446073f3edb7698bcf3":[async_test('html5lib_tests15.html 72352f74535e62a2b0623446073f3edb7698bcf3'), "%3C%21doctype%20html%3E%3C/body%3E%3Ctitle%3EX%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"93c2841d64ce8d4745de6a0fbd28ddba273fd3d0":[async_test('html5lib_tests15.html 93c2841d64ce8d4745de6a0fbd28ddba273fd3d0'), "%3C%21doctype%20html%3E%3Ctable%3E%20X%3Cmeta%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%20X%22%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"e83c7f01a04d3ff180019d1578cc666f67ea71eb":[async_test('html5lib_tests15.html e83c7f01a04d3ff180019d1578cc666f67ea71eb'), "%3C%21doctype%20html%3E%3Ctable%3E%20x%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%20x%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"8ed7e05d49dfc6701ef8325a5d9504d596d8d083":[async_test('html5lib_tests15.html 8ed7e05d49dfc6701ef8325a5d9504d596d8d083'), "%3C%21doctype%20html%3E%3Ctable%3E%20x%20%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%20x%20%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"938af694979b4eae59e7bd3ab71d76e5254192a0":[async_test('html5lib_tests15.html 938af694979b4eae59e7bd3ab71d76e5254192a0'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%20x%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%20x%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"e7bba1876ae72e36eb68142d21f64fee1043cff6":[async_test('html5lib_tests15.html e7bba1876ae72e36eb68142d21f64fee1043cff6'), "%3C%21doctype%20html%3E%3Ctable%3EX%3Cstyle%3E%20%3Ctr%3Ex%20%3C/style%3E%20%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20%3Ctr%3Ex%20%22%0A%7C%20%20%20%20%20%20%20%22%20%22"],"fc3373f9cb00e32fc98435157d1d74a6a27a7fb9":[async_test('html5lib_tests15.html fc3373f9cb00e32fc98435157d1d74a6a27a7fb9'), "%3C%21doctype%20html%3E%3Cdiv%3E%3Ctable%3E%3Ca%3Efoo%3C/a%3E%20%3Ctr%3E%3Ctd%3Ebar%3C/td%3E%20%3C/tr%3E%3C/table%3E%3C/div%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20%22"],"f4c1486ad877d96aeb9a31fde16d2a93ada53b35":[async_test('html5lib_tests15.html f4c1486ad877d96aeb9a31fde16d2a93ada53b35'), "%3Cframe%3E%3C/frame%3E%3C/frame%3E%3Cframeset%3E%3Cframe%3E%3Cframeset%3E%3Cframe%3E%3C/frameset%3E%3Cnoframes%3E%3C/frameset%3E%3Cnoframes%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E%0A%7C%20%20%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%20%20%3Cframe%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%20%20%22%3C/frameset%3E%3Cnoframes%3E%22"],"c1176256398117ceca6c3878106893855c39aa5a":[async_test('html5lib_tests15.html c1176256398117ceca6c3878106893855c39aa5a'), "%3C%21DOCTYPE%20html%3E%3Cobject%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cobject%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests16.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests16.html
new file mode 100644
index 0000000000..f6c8a027ce
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests16.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests16.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['6d8b9d29f1890d59ef2453cff3f6d57b7e398c5c','5d4ac4961f9d52a42f309886d16fbe9c55c198bb','132c6e3cd2659e15b69904c67981a04e81fabe78','bf0b3062e7cbe684380581919947333beef23a8c','cd76a82b9a4bde442e4f8819b37e6308e3eef8f5','747087d5bf2fe9a8a6c0ecf822211d93a4e0cc2a','413482922b0185970bfdd6008e6a0e70ad1b554f','0e3cc8b1f36a34fb3048bb4f01e0e7fec678ceef','3d7a659a8880588e831c7198867b65ac2a974353','46914793d44763c3cd37c3aef0c3689d826602d1','bc8ed1aea5ac5d7eac284386a5defe779eeab3d7','48e7e206aade47bdd9ad3a7cce2c9c86fb4227f6','cc10f706cec3e9356f8c42f77b970f669f74be03','9a6506b01fabf7ba73bb5c90f11b3898c2f119fa','f840264cf775999580e621a83d34af302e139632','efe27c508629d48cf36861e680918f11f48aad15','c51f18f140335e61f0158fadd282fb0f0c75bee6','76d621ce4bd9e462bacaa40ebf43e1ccb569bd21','70e4352779315880955134dfe67c53acb76c4850','b05be3f93446c26026591cbfee84b9603cd6f151','3f08f2e2326b621f819b73336f502610dd94d54f','4932d705ce9c31d4141a630d305e16ae130982e7','accb817d72edbb0d9f72e2c44f47055fb1719d0a','b7b2e78af3f5846dc7f67246c92d95aacc2bd996','52e03d2903a9556823275541c58c173ac077a2a9','1daec6e34a3b4b4ea28f3e90595052090e67cbf7','539e26d76efe146f95bd7b6bfa88ae2d29afd35a','ab43ce067468a33bb658e0d6cc542b9dbcd0c80f','3f93565e7a692675cc519326cc4122b5ea44b533','e579c03d00de7a95bad40602af783b4d7775ab78','1541ebd513bc357af538635050f1b3ec854648e5','ae91f664e0c85f63d21dddaa03a9104d27a9d5ce','17b1bf0912a302c2bed5358791fae3ea6d3efa7d','beac9d7ec99b6317c8504e80118dd0f2d5fad573','d5ead5851ba4d1cdac136d97a449e6b48b0c2cb4','17fe63597371d22c41ccbc4abcd8f468373559d7','26a585731ba7caa063ad5c87a09748a223e56639','91dc36fa03b62334c115db6d4b4a420ef1081753','b0ee0820468ee622b802020e20be120d3c534af2','65907331b39d13cc2128eb57afb7185f0173a953','c284310f4becf9d64252eaec25fe46de8c6e4f2c','63bbe135b3dbb75f2262ce1cc5e9259634596a55','c83e5a48a9409482b62903960b0a04a932832668','193aa9aa570a39d74e340e8d6ddd015ee0a7477c','0ce3d12fa6ac40027b789b09fd987194426e09e6','fd613c2eb713e158fae7a54c45a3d952efa3d5a7','14220896fd483fbeae58f2d69975acc99682be0c','11ca3aa17a2c0b1b6cfc0fb842105247272fbc8d','b524c040a6ab671b006713c8f117d494b11e92ce','9032e7dd5c12caaaf2baf259cee186aaaa67e0e7','aea756cf197079dc506242b729a1d16231644e31','7446d6b66ccedb48db489df92102a0cf439004ce','935849b22e851061994b7da0a7abb626cfe27cab','075cdcf1f8b05fe1a1306ae9702fb7442a76754c','c7d08dec7a358d06f64235f1f6189c0c53e7e75e','c0c7b3e8f7109cf2fef447c2ac28e1566a246a74','d95e3c1ce7b2b79e43654cc23a4a1fc65c084d82','49e2f750500035dfc265752923b58a26d743bc60','c9a6e8a5f0da04035a690465b85c49e1c7259390','7e0c780436a6c11fcdc39dfa30c7e40542bb4745','10b54008a6e2f12bbfcaa0d9e19c0f98d67dfb53','6cdd162096c7fb581b808d491baff3c1234b02e1','243a2da6a25d3d7641fac624e712f4c96376d23c','86ff3afe4315b87db9a5d1d566b029c775e62b94','e20f08402b6afc6d237e8261e512f89ce5299881','c48c5eae7882c00df9026ba16f890266291635f2','d055df57faa87a91d463956c4816bb9c67384c73','33cc450505dd8b55c690589d441a793bb8985f11','40077f2a5b88cf53f3a53485194fc29e39feb39b','10bd03da7b29a7ebe5e18e2163849c2521ae4555','39e7696382843bda945f5717030388257f54dad0','6d0edc9ca958384e4c608386588400b63f8cbc1a','0ec48786ebc1bf532930e5f442c83fc05d5ab873','763803287fa8300b3fd5a0285ce1ab6520640245','f9b350e5c8304caf954b333f54060cd1ab377b47','c82aa963e4443053afe065da586dc6f5df062f9f','a97946be8e03c386e23023e6b6184d11517fc4f5','5b1e9bf7ee6e6222b78d38d99ffd3d0281b930a3','252c0a3870902b1fdf15224188ffd5abf56ced5f','10f2c0e9041fe19c9aea3c9f6a61842372242691','a68fa9f51d285e08b95b34a1ad7ae303d1180cda','1553cebdf01dc953ed7983d39a18752a4fbb24d7','802e7c9b307082d9f15835722eb9ef2dee60ea5f','c7f41e79f00db5b41872c0ef1443094e7ad5bc22','ae3967a139a3ecf61ecbc59c8c769a2731626fac','3586a5a4a1d1d69b139d139b0823af4753bc3e8d','0e99e2603bc91553c252713108e30495d71c3f37','f9858d096fa1e68cce0742d125c551878d2d7020','225e87bce5a4518c3e5cd248ef93ebc39dba14e0','bb08b00b361470ce18b435c97aff4449dc98cc51','cd74b727c1c8233f98e325293a2307e882e10f41','367bf426c092467300f78e5d7526b5a95b490871','96630ff73c222ae5aa31c5d8d32391c00e01d4ae','efd159c8bb96c72857a1b23247240fef25c4bc16','302c14341a82cd1ed9c77beb7ad60ce574f764ff','40369d98631eb17e8ae0cad61d9b7d6dbcddf424','4285eba81853a6d9ea3121ffa93f1b68bb33c157','824bd03d81ed9d5c1d3effe1ea45db39c27d520e','5593651c759624a4b7d91f3e07fc3e02c9bc6642','8862cf5a3972eec607fabbac4bd1dcf5eb50c3f2','bdaf31925507cd81bace2411601cb50be9ed3339','7df307e7cede64fda865c44c0897fc6191ce788c','8f275021b4d57f5235abc4efa2f53d0c633a22d6','b3b17f7b0a43afc62fcc24602488f7c1535eafb1','4383e943d6be1525114a923c5c5c7875d3506f43','c47db9cd301d75cc4ff1f4f66a70efaf04d88d34','c02e6a5ec0971e7e860b61f3638baecfe8d12edc','b3e566664033b9b6c550d44627807a9c17ac0fec','e1b7c9e452fbd47b9f62901e2802d4880c9798d5','20b70b5e4c22aae23ed2f06f957d611b60a16e69','80275b0c1f6bd16a37660822a9accc973b9ad6f6','0707f977884170b8e752fb7956e658e60b96a39c','3634374d8c7b8c049cfeb6cc9cab3284103d7745','1cef2f6f416ac760843e475fdc3aca248fde2a64','bcc75b33353806f86f5ecb7137309fe33fbc39cf','2b2b5615880e8fdd80ec772540344d3bf9f6cf98','87f5714929355b5a84c5bd86ade881e98135bbb8','bc926c61b947962e23f1424d178e8b6caec63984','0f8650ed2fd554c65428eed896e5a6d0276ffe43','e6c000aaa91a5cf04f15a4b6775e17d1bd9143b7','6783594161f7848e42e7c89a32da546163892d75','9c23cc23237032d8decf39d3d886a300c9304707','985c2415bc39a322004bbba6817df37dcdf3f10b','649e75657bd308f81f93189a02efa6b9a7702902','d42bb3557b0fbbe59cf5f606445ba973d4a3d720','d0178734ef1a063624bfd6a737dba933a54bf63d','f6ac88b3fe1743a446da7e0ad895b8f46ea31b23','fb513439a4a4683ec8fc60dc5f2d5588bd656910','4ed828c62d9dcc18ecf8608c9c38708b0b89b83d','51bbdaeed5d24b370a3456040561f8cad226b1a7','45b8f97a3a29d8b1d5e7b7f2586189ead21873b7','1ca26210654f4c95e3f5a337922cd5e8b0694789','a2cd3e4d9dfccfe71bbf5780b537396b5f76c0d6','bb1450fbedebc1605f79eaa4dc501f47d1d7feb6','a9d29f0909132226fd57de4a55282f95682778fd','1fdf0dda892b230252ce864b5c7073ee09aa9165','af1c863ec4e65c29006a0c98ef0872950618a05e','18763f4dd0f9681f043e0124ac26b76795f8afad','499e8bdd759619c5c2248e854e7cd9148ff5fe6d','b442057918b0f6954cf88be6da17b0c5ace03382','8a4c1d1a49ab635498f581f8341f0f037178d01d','c4d806ce1a7cb0abe0cb26e6950839b47134dc68','189378cd03b029adb6e679b6a349124155c697b7','6c9b32168850736c788f14208a39e70272ccc54e','2e9cd7a39540b3bd1df32320556cec71585fb2df','15fee76589fa386fa841a369bf84eb5c75ec131a','689bc409ce3f93662f1223f16271f8ca9883c647','47097173fe23e65b63647777b53b0bdde6ce0f18','fcaa6c59f13ef6a3d6cafeaffaad71b017c34c3c','dd0a2f0c0e6fdcf01c7a917ea662a7ef1e953f11','b29fb15f9b7a448bb70ca27a4b1aac48c1d4f51f','0d91bcb1f42c1a7214168ee61e875166bd75d547','d561d1634333a05fe3428e355f6ab3d67b69ed44','6a13a34b36f6ea738d10b2a2da4958045c243fb7','ee49c31a8c40676f366959341cd98aecdcf9c14f','c541aa24beb8107a3726bd8b9e655ca8f95d7b48','7ae06c19dd24dea99940ceaed8dffdd0e24cd5f9','6d2029f0e2404dcc7f836481cef6bf56f060b248','5c5a26c8bcb37a214c47f4b6d9843de20a8fb7e1','3ee633bf4e4eadc2b70c6eebfa14c600435604c9','ad5d10a0d7d8fc98040ff33f1db197735d6d3d52','2bde3ac14192be5f4e664c2b01b5aaa57c14e347','a87a03c8c3a06269e6ff8d11e142f6ebb05e9306','190325aed218711647eae5581a1f629c76da297c','e244d9f1edb6275b69c4a832620b9439d39bfb22','751f7c9538b9fd00f5c7dd0ed59df07f4d51fdac','762904de405fa26afdd39e024395a441bc6a0f8a','4df21df646897816e166b3dd829a8a3e21157f22','9c241f721c1f6677d736b37ecd86bb230df329df','96ebedcc684f27f984cc7be467c908bdab2470a9','419cfbd87ad35c1d43214b122630cfde1c3ccf1b','cf75ace0d7531b8daa271001dbf92b93b0b4490c','a058b4bb03a689ce8528ed412d62cdd5bb879571','d7c871c41c9db40312ffc5af996ede62ecdfc579','6c353ee8f48c1227eeab81279dc3eb3890c9c3bd','fea28aab54637701c5dfaef4f3fe64c72b272e1c','ecd79b7eb7af2bb4dadf710f70e0d78f62adc40e','43917824cc1d9b5a65601f46e13a0779c3dcff4e','5423bb28649f37e70a0559cba78c3b253a60c277','2c091a50dfd31e766a5a629c0b7c21973e33319d','920feb4f9d1032dcec2abc5c526e4996f642968b','31b9b446263cd5b7a844d43f2a235ed9b0c53efb','dbb5127246fee18718bcffc6cf0730674d12b98a','3872a4cfeba7651f0671de7e5f3922fd5053837b','2fbcb2db61b6416cdf46e0526e1929d146ab3da7','999da234e770bbf681a819423d04ea57415d9bbc','6fc6be53a87bbb2d2a51a5617009063002321d09','b0de72088fa3e543572329eda36fa4bd16e29fa3','2a6d8110b8148a9aa83db81dc38d544becea2fa9','6556aaaca3956eafbc1660bce50a2f3568f1bff6','8ba3d2c7712e9c0484a4cafc8b0ca6f35d8f11ed',];
+ var tests = {
+ "6d8b9d29f1890d59ef2453cff3f6d57b7e398c5c":[async_test('html5lib_tests16.html 6d8b9d29f1890d59ef2453cff3f6d57b7e398c5c'), "%3C%21doctype%20html%3E%3Cscript%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"5d4ac4961f9d52a42f309886d16fbe9c55c198bb":[async_test('html5lib_tests16.html 5d4ac4961f9d52a42f309886d16fbe9c55c198bb'), "%3C%21doctype%20html%3E%3Cscript%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%3Cbody%3E"],"132c6e3cd2659e15b69904c67981a04e81fabe78":[async_test('html5lib_tests16.html 132c6e3cd2659e15b69904c67981a04e81fabe78'), "%3C%21doctype%20html%3E%3Cscript%3E%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%22%0A%7C%20%20%20%3Cbody%3E"],"bf0b3062e7cbe684380581919947333beef23a8c":[async_test('html5lib_tests16.html bf0b3062e7cbe684380581919947333beef23a8c'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"cd76a82b9a4bde442e4f8819b37e6308e3eef8f5":[async_test('html5lib_tests16.html cd76a82b9a4bde442e4f8819b37e6308e3eef8f5'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/S", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/S%22%0A%7C%20%20%20%3Cbody%3E"],"747087d5bf2fe9a8a6c0ecf822211d93a4e0cc2a":[async_test('html5lib_tests16.html 747087d5bf2fe9a8a6c0ecf822211d93a4e0cc2a'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/SC", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SC%22%0A%7C%20%20%20%3Cbody%3E"],"413482922b0185970bfdd6008e6a0e70ad1b554f":[async_test('html5lib_tests16.html 413482922b0185970bfdd6008e6a0e70ad1b554f'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/SCR", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCR%22%0A%7C%20%20%20%3Cbody%3E"],"0e3cc8b1f36a34fb3048bb4f01e0e7fec678ceef":[async_test('html5lib_tests16.html 0e3cc8b1f36a34fb3048bb4f01e0e7fec678ceef'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/SCRI", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCRI%22%0A%7C%20%20%20%3Cbody%3E"],"3d7a659a8880588e831c7198867b65ac2a974353":[async_test('html5lib_tests16.html 3d7a659a8880588e831c7198867b65ac2a974353'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/SCRIP", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCRIP%22%0A%7C%20%20%20%3Cbody%3E"],"46914793d44763c3cd37c3aef0c3689d826602d1":[async_test('html5lib_tests16.html 46914793d44763c3cd37c3aef0c3689d826602d1'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/SCRIPT", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCRIPT%22%0A%7C%20%20%20%3Cbody%3E"],"bc8ed1aea5ac5d7eac284386a5defe779eeab3d7":[async_test('html5lib_tests16.html bc8ed1aea5ac5d7eac284386a5defe779eeab3d7'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/SCRIPT%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"48e7e206aade47bdd9ad3a7cce2c9c86fb4227f6":[async_test('html5lib_tests16.html 48e7e206aade47bdd9ad3a7cce2c9c86fb4227f6'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/s", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/s%22%0A%7C%20%20%20%3Cbody%3E"],"cc10f706cec3e9356f8c42f77b970f669f74be03":[async_test('html5lib_tests16.html cc10f706cec3e9356f8c42f77b970f669f74be03'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/sc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/sc%22%0A%7C%20%20%20%3Cbody%3E"],"9a6506b01fabf7ba73bb5c90f11b3898c2f119fa":[async_test('html5lib_tests16.html 9a6506b01fabf7ba73bb5c90f11b3898c2f119fa'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/scr", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/scr%22%0A%7C%20%20%20%3Cbody%3E"],"f840264cf775999580e621a83d34af302e139632":[async_test('html5lib_tests16.html f840264cf775999580e621a83d34af302e139632'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/scri", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/scri%22%0A%7C%20%20%20%3Cbody%3E"],"efe27c508629d48cf36861e680918f11f48aad15":[async_test('html5lib_tests16.html efe27c508629d48cf36861e680918f11f48aad15'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/scrip", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/scrip%22%0A%7C%20%20%20%3Cbody%3E"],"c51f18f140335e61f0158fadd282fb0f0c75bee6":[async_test('html5lib_tests16.html c51f18f140335e61f0158fadd282fb0f0c75bee6'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/script", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"76d621ce4bd9e462bacaa40ebf43e1ccb569bd21":[async_test('html5lib_tests16.html 76d621ce4bd9e462bacaa40ebf43e1ccb569bd21'), "%3C%21doctype%20html%3E%3Cscript%3E%3C/script%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"70e4352779315880955134dfe67c53acb76c4850":[async_test('html5lib_tests16.html 70e4352779315880955134dfe67c53acb76c4850'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21%22%0A%7C%20%20%20%3Cbody%3E"],"b05be3f93446c26026591cbfee84b9603cd6f151":[async_test('html5lib_tests16.html b05be3f93446c26026591cbfee84b9603cd6f151'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21a%22%0A%7C%20%20%20%3Cbody%3E"],"3f08f2e2326b621f819b73336f502610dd94d54f":[async_test('html5lib_tests16.html 3f08f2e2326b621f819b73336f502610dd94d54f'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21-", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21-%22%0A%7C%20%20%20%3Cbody%3E"],"4932d705ce9c31d4141a630d305e16ae130982e7":[async_test('html5lib_tests16.html 4932d705ce9c31d4141a630d305e16ae130982e7'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21-a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21-a%22%0A%7C%20%20%20%3Cbody%3E"],"accb817d72edbb0d9f72e2c44f47055fb1719d0a":[async_test('html5lib_tests16.html accb817d72edbb0d9f72e2c44f47055fb1719d0a'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"b7b2e78af3f5846dc7f67246c92d95aacc2bd996":[async_test('html5lib_tests16.html b7b2e78af3f5846dc7f67246c92d95aacc2bd996'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--a%22%0A%7C%20%20%20%3Cbody%3E"],"52e03d2903a9556823275541c58c173ac077a2a9":[async_test('html5lib_tests16.html 52e03d2903a9556823275541c58c173ac077a2a9'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C%22%0A%7C%20%20%20%3Cbody%3E"],"1daec6e34a3b4b4ea28f3e90595052090e67cbf7":[async_test('html5lib_tests16.html 1daec6e34a3b4b4ea28f3e90595052090e67cbf7'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Ca", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ca%22%0A%7C%20%20%20%3Cbody%3E"],"539e26d76efe146f95bd7b6bfa88ae2d29afd35a":[async_test('html5lib_tests16.html 539e26d76efe146f95bd7b6bfa88ae2d29afd35a'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3C/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"ab43ce067468a33bb658e0d6cc542b9dbcd0c80f":[async_test('html5lib_tests16.html ab43ce067468a33bb658e0d6cc542b9dbcd0c80f'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3C/script", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"3f93565e7a692675cc519326cc4122b5ea44b533":[async_test('html5lib_tests16.html 3f93565e7a692675cc519326cc4122b5ea44b533'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3C/script%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"e579c03d00de7a95bad40602af783b4d7775ab78":[async_test('html5lib_tests16.html e579c03d00de7a95bad40602af783b4d7775ab78'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cs", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cs%22%0A%7C%20%20%20%3Cbody%3E"],"1541ebd513bc357af538635050f1b3ec854648e5":[async_test('html5lib_tests16.html 1541ebd513bc357af538635050f1b3ec854648e5'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%22%0A%7C%20%20%20%3Cbody%3E"],"ae91f664e0c85f63d21dddaa03a9104d27a9d5ce":[async_test('html5lib_tests16.html ae91f664e0c85f63d21dddaa03a9104d27a9d5ce'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%22%0A%7C%20%20%20%3Cbody%3E"],"17b1bf0912a302c2bed5358791fae3ea6d3efa7d":[async_test('html5lib_tests16.html 17b1bf0912a302c2bed5358791fae3ea6d3efa7d'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C%22%0A%7C%20%20%20%3Cbody%3E"],"beac9d7ec99b6317c8504e80118dd0f2d5fad573":[async_test('html5lib_tests16.html beac9d7ec99b6317c8504e80118dd0f2d5fad573'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3Ca", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3Ca%22%0A%7C%20%20%20%3Cbody%3E"],"d5ead5851ba4d1cdac136d97a449e6b48b0c2cb4":[async_test('html5lib_tests16.html d5ead5851ba4d1cdac136d97a449e6b48b0c2cb4'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"17fe63597371d22c41ccbc4abcd8f468373559d7":[async_test('html5lib_tests16.html 17fe63597371d22c41ccbc4abcd8f468373559d7'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/s", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/s%22%0A%7C%20%20%20%3Cbody%3E"],"26a585731ba7caa063ad5c87a09748a223e56639":[async_test('html5lib_tests16.html 26a585731ba7caa063ad5c87a09748a223e56639'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"91dc36fa03b62334c115db6d4b4a420ef1081753":[async_test('html5lib_tests16.html 91dc36fa03b62334c115db6d4b4a420ef1081753'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/scripta", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/scripta%22%0A%7C%20%20%20%3Cbody%3E"],"b0ee0820468ee622b802020e20be120d3c534af2":[async_test('html5lib_tests16.html b0ee0820468ee622b802020e20be120d3c534af2'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"65907331b39d13cc2128eb57afb7185f0173a953":[async_test('html5lib_tests16.html 65907331b39d13cc2128eb57afb7185f0173a953'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"c284310f4becf9d64252eaec25fe46de8c6e4f2c":[async_test('html5lib_tests16.html c284310f4becf9d64252eaec25fe46de8c6e4f2c'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script/%22%0A%7C%20%20%20%3Cbody%3E"],"63bbe135b3dbb75f2262ce1cc5e9259634596a55":[async_test('html5lib_tests16.html 63bbe135b3dbb75f2262ce1cc5e9259634596a55'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3C%22%0A%7C%20%20%20%3Cbody%3E"],"c83e5a48a9409482b62903960b0a04a932832668":[async_test('html5lib_tests16.html c83e5a48a9409482b62903960b0a04a932832668'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3Ca", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3Ca%22%0A%7C%20%20%20%3Cbody%3E"],"193aa9aa570a39d74e340e8d6ddd015ee0a7477c":[async_test('html5lib_tests16.html 193aa9aa570a39d74e340e8d6ddd015ee0a7477c'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"0ce3d12fa6ac40027b789b09fd987194426e09e6":[async_test('html5lib_tests16.html 0ce3d12fa6ac40027b789b09fd987194426e09e6'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"fd613c2eb713e158fae7a54c45a3d952efa3d5a7":[async_test('html5lib_tests16.html fd613c2eb713e158fae7a54c45a3d952efa3d5a7'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"14220896fd483fbeae58f2d69975acc99682be0c":[async_test('html5lib_tests16.html 14220896fd483fbeae58f2d69975acc99682be0c'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"11ca3aa17a2c0b1b6cfc0fb842105247272fbc8d":[async_test('html5lib_tests16.html 11ca3aa17a2c0b1b6cfc0fb842105247272fbc8d'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"b524c040a6ab671b006713c8f117d494b11e92ce":[async_test('html5lib_tests16.html b524c040a6ab671b006713c8f117d494b11e92ce'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20-", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20-%22%0A%7C%20%20%20%3Cbody%3E"],"9032e7dd5c12caaaf2baf259cee186aaaa67e0e7":[async_test('html5lib_tests16.html 9032e7dd5c12caaaf2baf259cee186aaaa67e0e7'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20-a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20-a%22%0A%7C%20%20%20%3Cbody%3E"],"aea756cf197079dc506242b729a1d16231644e31":[async_test('html5lib_tests16.html aea756cf197079dc506242b729a1d16231644e31'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20-%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20-%3C%22%0A%7C%20%20%20%3Cbody%3E"],"7446d6b66ccedb48db489df92102a0cf439004ce":[async_test('html5lib_tests16.html 7446d6b66ccedb48db489df92102a0cf439004ce'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%22%0A%7C%20%20%20%3Cbody%3E"],"935849b22e851061994b7da0a7abb626cfe27cab":[async_test('html5lib_tests16.html 935849b22e851061994b7da0a7abb626cfe27cab'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--a", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--a%22%0A%7C%20%20%20%3Cbody%3E"],"075cdcf1f8b05fe1a1306ae9702fb7442a76754c":[async_test('html5lib_tests16.html 075cdcf1f8b05fe1a1306ae9702fb7442a76754c'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3C%22%0A%7C%20%20%20%3Cbody%3E"],"c7d08dec7a358d06f64235f1f6189c0c53e7e75e":[async_test('html5lib_tests16.html c7d08dec7a358d06f64235f1f6189c0c53e7e75e'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"c0c7b3e8f7109cf2fef447c2ac28e1566a246a74":[async_test('html5lib_tests16.html c0c7b3e8f7109cf2fef447c2ac28e1566a246a74'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%3C%22%0A%7C%20%20%20%3Cbody%3E"],"d95e3c1ce7b2b79e43654cc23a4a1fc65c084d82":[async_test('html5lib_tests16.html d95e3c1ce7b2b79e43654cc23a4a1fc65c084d82'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"49e2f750500035dfc265752923b58a26d743bc60":[async_test('html5lib_tests16.html 49e2f750500035dfc265752923b58a26d743bc60'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"c9a6e8a5f0da04035a690465b85c49e1c7259390":[async_test('html5lib_tests16.html c9a6e8a5f0da04035a690465b85c49e1c7259390'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"7e0c780436a6c11fcdc39dfa30c7e40542bb4745":[async_test('html5lib_tests16.html 7e0c780436a6c11fcdc39dfa30c7e40542bb4745'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script/", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"10b54008a6e2f12bbfcaa0d9e19c0f98d67dfb53":[async_test('html5lib_tests16.html 10b54008a6e2f12bbfcaa0d9e19c0f98d67dfb53'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"6cdd162096c7fb581b808d491baff3c1234b02e1":[async_test('html5lib_tests16.html 6cdd162096c7fb581b808d491baff3c1234b02e1'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C%5C/script%3E--%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C%5C/script%3E--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"243a2da6a25d3d7641fac624e712f4c96376d23c":[async_test('html5lib_tests16.html 243a2da6a25d3d7641fac624e712f4c96376d23c'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E--%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"86ff3afe4315b87db9a5d1d566b029c775e62b94":[async_test('html5lib_tests16.html 86ff3afe4315b87db9a5d1d566b029c775e62b94'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"e20f08402b6afc6d237e8261e512f89ce5299881":[async_test('html5lib_tests16.html e20f08402b6afc6d237e8261e512f89ce5299881'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%3E%3C%21--%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%3E%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"c48c5eae7882c00df9026ba16f890266291635f2":[async_test('html5lib_tests16.html c48c5eae7882c00df9026ba16f890266291635f2'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%20%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%20%3E%22%0A%7C%20%20%20%3Cbody%3E"],"d055df57faa87a91d463956c4816bb9c67384c73":[async_test('html5lib_tests16.html d055df57faa87a91d463956c4816bb9c67384c73'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%3E%22%0A%7C%20%20%20%3Cbody%3E"],"33cc450505dd8b55c690589d441a793bb8985f11":[async_test('html5lib_tests16.html 33cc450505dd8b55c690589d441a793bb8985f11'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%20%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%20%3E%22%0A%7C%20%20%20%3Cbody%3E"],"40077f2a5b88cf53f3a53485194fc29e39feb39b":[async_test('html5lib_tests16.html 40077f2a5b88cf53f3a53485194fc29e39feb39b'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%3E%22%0A%7C%20%20%20%3Cbody%3E"],"10bd03da7b29a7ebe5e18e2163849c2521ae4555":[async_test('html5lib_tests16.html 10bd03da7b29a7ebe5e18e2163849c2521ae4555'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E--%21%3E%3C/script%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E--%21%3E%3C/script%3EX%22%0A%7C%20%20%20%3Cbody%3E"],"39e7696382843bda945f5717030388257f54dad0":[async_test('html5lib_tests16.html 39e7696382843bda945f5717030388257f54dad0'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscr%27%2B%27ipt%3E%3C/script%3E--%3E%3C/script%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscr%27%2B%27ipt%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"6d0edc9ca958384e4c608386588400b63f8cbc1a":[async_test('html5lib_tests16.html 6d0edc9ca958384e4c608386588400b63f8cbc1a'), "%3C%21doctype%20html%3E%3Cscript%3E%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E%3C/script%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E%3C/script%3EX%22%0A%7C%20%20%20%3Cbody%3E"],"0ec48786ebc1bf532930e5f442c83fc05d5ab873":[async_test('html5lib_tests16.html 0ec48786ebc1bf532930e5f442c83fc05d5ab873'), "%3C%21doctype%20html%3E%3Cstyle%3E%3C%21--%3Cstyle%3E%3C/style%3E--%3E%3C/style%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cstyle%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"763803287fa8300b3fd5a0285ce1ab6520640245":[async_test('html5lib_tests16.html 763803287fa8300b3fd5a0285ce1ab6520640245'), "%3C%21doctype%20html%3E%3Cstyle%3E%3C%21--%3C/style%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"f9b350e5c8304caf954b333f54060cd1ab377b47":[async_test('html5lib_tests16.html f9b350e5c8304caf954b333f54060cd1ab377b47'), "%3C%21doctype%20html%3E%3Cstyle%3E%3C%21--...%3C/style%3E...--%3E%3C/style%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--...%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22...--%3E%22"],"c82aa963e4443053afe065da586dc6f5df062f9f":[async_test('html5lib_tests16.html c82aa963e4443053afe065da586dc6f5df062f9f'), "%3C%21doctype%20html%3E%3Cstyle%3E%3C%21--%3Cbr%3E%3Chtml%20xmlns%3Av%3D%22urn%3Aschemas-microsoft-com%3Avml%22%3E%3C%21--%5Bif%20%21mso%5D%3E%3Cstyle%3E%3C/style%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cbr%3E%3Chtml%20xmlns%3Av%3D%22urn%3Aschemas-microsoft-com%3Avml%22%3E%3C%21--%5Bif%20%21mso%5D%3E%3Cstyle%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"a97946be8e03c386e23023e6b6184d11517fc4f5":[async_test('html5lib_tests16.html a97946be8e03c386e23023e6b6184d11517fc4f5'), "%3C%21doctype%20html%3E%3Cstyle%3E%3C%21--...%3Cstyle%3E%3C%21--...--%21%3E%3C/style%3E--%3E%3C/style%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--...%3Cstyle%3E%3C%21--...--%21%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"5b1e9bf7ee6e6222b78d38d99ffd3d0281b930a3":[async_test('html5lib_tests16.html 5b1e9bf7ee6e6222b78d38d99ffd3d0281b930a3'), "%3C%21doctype%20html%3E%3Cstyle%3E%3C%21--...%3C/style%3E%3C%21--%20--%3E%3Cstyle%3E%40import%20...%3C/style%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--...%22%0A%7C%20%20%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%40import%20...%22%0A%7C%20%20%20%3Cbody%3E"],"252c0a3870902b1fdf15224188ffd5abf56ced5f":[async_test('html5lib_tests16.html 252c0a3870902b1fdf15224188ffd5abf56ced5f'), "%3C%21doctype%20html%3E%3Cstyle%3E...%3Cstyle%3E%3C%21--...%3C/style%3E%3C%21--%20--%3E%3C/style%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22...%3Cstyle%3E%3C%21--...%22%0A%7C%20%20%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%3Cbody%3E"],"10f2c0e9041fe19c9aea3c9f6a61842372242691":[async_test('html5lib_tests16.html 10f2c0e9041fe19c9aea3c9f6a61842372242691'), "%3C%21doctype%20html%3E%3Cstyle%3E...%3C%21--%5Bif%20IE%5D%3E%3Cstyle%3E...%3C/style%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22...%3C%21--%5Bif%20IE%5D%3E%3Cstyle%3E...%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"a68fa9f51d285e08b95b34a1ad7ae303d1180cda":[async_test('html5lib_tests16.html a68fa9f51d285e08b95b34a1ad7ae303d1180cda'), "%3C%21doctype%20html%3E%3Ctitle%3E%3C%21--%3Ctitle%3E%3C/title%3E--%3E%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ctitle%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"1553cebdf01dc953ed7983d39a18752a4fbb24d7":[async_test('html5lib_tests16.html 1553cebdf01dc953ed7983d39a18752a4fbb24d7'), "%3C%21doctype%20html%3E%3Ctitle%3E%26lt%3B/title%3E%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C/title%3E%22%0A%7C%20%20%20%3Cbody%3E"],"802e7c9b307082d9f15835722eb9ef2dee60ea5f":[async_test('html5lib_tests16.html 802e7c9b307082d9f15835722eb9ef2dee60ea5f'), "%3C%21doctype%20html%3E%3Ctitle%3Efoo/title%3E%3Clink%3E%3C/head%3E%3Cbody%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22foo/title%3E%3Clink%3E%3C/head%3E%3Cbody%3EX%22%0A%7C%20%20%20%3Cbody%3E"],"c7f41e79f00db5b41872c0ef1443094e7ad5bc22":[async_test('html5lib_tests16.html c7f41e79f00db5b41872c0ef1443094e7ad5bc22'), "%3C%21doctype%20html%3E%3Cnoscript%3E%3C%21--%3Cnoscript%3E%3C/noscript%3E--%3E%3C/noscript%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cnoscript%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"ae3967a139a3ecf61ecbc59c8c769a2731626fac":[async_test('html5lib_tests16.html ae3967a139a3ecf61ecbc59c8c769a2731626fac'), "%3C%21doctype%20html%3E%3Cnoscript%3E%3C%21--%3C/noscript%3EX%3Cnoscript%3E--%3E%3C/noscript%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22--%3E%22"],"3586a5a4a1d1d69b139d139b0823af4753bc3e8d":[async_test('html5lib_tests16.html 3586a5a4a1d1d69b139d139b0823af4753bc3e8d'), "%3C%21doctype%20html%3E%3Cnoscript%3E%3Ciframe%3E%3C/noscript%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3Ciframe%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"0e99e2603bc91553c252713108e30495d71c3f37":[async_test('html5lib_tests16.html 0e99e2603bc91553c252713108e30495d71c3f37'), "%3C%21doctype%20html%3E%3Cnoframes%3E%3C%21--%3Cnoframes%3E%3C/noframes%3E--%3E%3C/noframes%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cnoframes%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"f9858d096fa1e68cce0742d125c551878d2d7020":[async_test('html5lib_tests16.html f9858d096fa1e68cce0742d125c551878d2d7020'), "%3C%21doctype%20html%3E%3Cnoframes%3E%3Cbody%3E%3Cscript%3E%3C%21--...%3C/script%3E%3C/body%3E%3C/noframes%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%20%20%22%3Cbody%3E%3Cscript%3E%3C%21--...%3C/script%3E%3C/body%3E%22%0A%7C%20%20%20%3Cbody%3E"],"225e87bce5a4518c3e5cd248ef93ebc39dba14e0":[async_test('html5lib_tests16.html 225e87bce5a4518c3e5cd248ef93ebc39dba14e0'), "%3C%21doctype%20html%3E%3Ctextarea%3E%3C%21--%3Ctextarea%3E%3C/textarea%3E--%3E%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ctextarea%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"bb08b00b361470ce18b435c97aff4449dc98cc51":[async_test('html5lib_tests16.html bb08b00b361470ce18b435c97aff4449dc98cc51'), "%3C%21doctype%20html%3E%3Ctextarea%3E%26lt%3B/textarea%3E%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C/textarea%3E%22"],"cd74b727c1c8233f98e325293a2307e882e10f41":[async_test('html5lib_tests16.html cd74b727c1c8233f98e325293a2307e882e10f41'), "%3C%21doctype%20html%3E%3Ctextarea%3E%26lt%3B%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C%22"],"367bf426c092467300f78e5d7526b5a95b490871":[async_test('html5lib_tests16.html 367bf426c092467300f78e5d7526b5a95b490871'), "%3C%21doctype%20html%3E%3Ctextarea%3Ea%26lt%3Bb%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22a%3Cb%22"],"96630ff73c222ae5aa31c5d8d32391c00e01d4ae":[async_test('html5lib_tests16.html 96630ff73c222ae5aa31c5d8d32391c00e01d4ae'), "%3C%21doctype%20html%3E%3Ciframe%3E%3C%21--%3Ciframe%3E%3C/iframe%3E--%3E%3C/iframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ciframe%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"efd159c8bb96c72857a1b23247240fef25c4bc16":[async_test('html5lib_tests16.html efd159c8bb96c72857a1b23247240fef25c4bc16'), "%3C%21doctype%20html%3E%3Ciframe%3E...%3C%21--X-%3E...%3C%21--/X-%3E...%3C/iframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E%0A%7C%20%20%20%20%20%20%20%22...%3C%21--X-%3E...%3C%21--/X-%3E...%22"],"302c14341a82cd1ed9c77beb7ad60ce574f764ff":[async_test('html5lib_tests16.html 302c14341a82cd1ed9c77beb7ad60ce574f764ff'), "%3C%21doctype%20html%3E%3Cxmp%3E%3C%21--%3Cxmp%3E%3C/xmp%3E--%3E%3C/xmp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxmp%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cxmp%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"40369d98631eb17e8ae0cad61d9b7d6dbcddf424":[async_test('html5lib_tests16.html 40369d98631eb17e8ae0cad61d9b7d6dbcddf424'), "%3C%21doctype%20html%3E%3Cnoembed%3E%3C%21--%3Cnoembed%3E%3C/noembed%3E--%3E%3C/noembed%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cnoembed%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cnoembed%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"4285eba81853a6d9ea3121ffa93f1b68bb33c157":[async_test('html5lib_tests16.html 4285eba81853a6d9ea3121ffa93f1b68bb33c157'), "%3Cscript%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"824bd03d81ed9d5c1d3effe1ea45db39c27d520e":[async_test('html5lib_tests16.html 824bd03d81ed9d5c1d3effe1ea45db39c27d520e'), "%3Cscript%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%3Cbody%3E"],"5593651c759624a4b7d91f3e07fc3e02c9bc6642":[async_test('html5lib_tests16.html 5593651c759624a4b7d91f3e07fc3e02c9bc6642'), "%3Cscript%3E%3C", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%22%0A%7C%20%20%20%3Cbody%3E"],"8862cf5a3972eec607fabbac4bd1dcf5eb50c3f2":[async_test('html5lib_tests16.html 8862cf5a3972eec607fabbac4bd1dcf5eb50c3f2'), "%3Cscript%3E%3C/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"bdaf31925507cd81bace2411601cb50be9ed3339":[async_test('html5lib_tests16.html bdaf31925507cd81bace2411601cb50be9ed3339'), "%3Cscript%3E%3C/S", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/S%22%0A%7C%20%20%20%3Cbody%3E"],"7df307e7cede64fda865c44c0897fc6191ce788c":[async_test('html5lib_tests16.html 7df307e7cede64fda865c44c0897fc6191ce788c'), "%3Cscript%3E%3C/SC", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SC%22%0A%7C%20%20%20%3Cbody%3E"],"8f275021b4d57f5235abc4efa2f53d0c633a22d6":[async_test('html5lib_tests16.html 8f275021b4d57f5235abc4efa2f53d0c633a22d6'), "%3Cscript%3E%3C/SCR", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCR%22%0A%7C%20%20%20%3Cbody%3E"],"b3b17f7b0a43afc62fcc24602488f7c1535eafb1":[async_test('html5lib_tests16.html b3b17f7b0a43afc62fcc24602488f7c1535eafb1'), "%3Cscript%3E%3C/SCRI", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCRI%22%0A%7C%20%20%20%3Cbody%3E"],"4383e943d6be1525114a923c5c5c7875d3506f43":[async_test('html5lib_tests16.html 4383e943d6be1525114a923c5c5c7875d3506f43'), "%3Cscript%3E%3C/SCRIP", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCRIP%22%0A%7C%20%20%20%3Cbody%3E"],"c47db9cd301d75cc4ff1f4f66a70efaf04d88d34":[async_test('html5lib_tests16.html c47db9cd301d75cc4ff1f4f66a70efaf04d88d34'), "%3Cscript%3E%3C/SCRIPT", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/SCRIPT%22%0A%7C%20%20%20%3Cbody%3E"],"c02e6a5ec0971e7e860b61f3638baecfe8d12edc":[async_test('html5lib_tests16.html c02e6a5ec0971e7e860b61f3638baecfe8d12edc'), "%3Cscript%3E%3C/SCRIPT%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"b3e566664033b9b6c550d44627807a9c17ac0fec":[async_test('html5lib_tests16.html b3e566664033b9b6c550d44627807a9c17ac0fec'), "%3Cscript%3E%3C/s", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/s%22%0A%7C%20%20%20%3Cbody%3E"],"e1b7c9e452fbd47b9f62901e2802d4880c9798d5":[async_test('html5lib_tests16.html e1b7c9e452fbd47b9f62901e2802d4880c9798d5'), "%3Cscript%3E%3C/sc", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/sc%22%0A%7C%20%20%20%3Cbody%3E"],"20b70b5e4c22aae23ed2f06f957d611b60a16e69":[async_test('html5lib_tests16.html 20b70b5e4c22aae23ed2f06f957d611b60a16e69'), "%3Cscript%3E%3C/scr", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/scr%22%0A%7C%20%20%20%3Cbody%3E"],"80275b0c1f6bd16a37660822a9accc973b9ad6f6":[async_test('html5lib_tests16.html 80275b0c1f6bd16a37660822a9accc973b9ad6f6'), "%3Cscript%3E%3C/scri", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/scri%22%0A%7C%20%20%20%3Cbody%3E"],"0707f977884170b8e752fb7956e658e60b96a39c":[async_test('html5lib_tests16.html 0707f977884170b8e752fb7956e658e60b96a39c'), "%3Cscript%3E%3C/scrip", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/scrip%22%0A%7C%20%20%20%3Cbody%3E"],"3634374d8c7b8c049cfeb6cc9cab3284103d7745":[async_test('html5lib_tests16.html 3634374d8c7b8c049cfeb6cc9cab3284103d7745'), "%3Cscript%3E%3C/script", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"1cef2f6f416ac760843e475fdc3aca248fde2a64":[async_test('html5lib_tests16.html 1cef2f6f416ac760843e475fdc3aca248fde2a64'), "%3Cscript%3E%3C/script%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"bcc75b33353806f86f5ecb7137309fe33fbc39cf":[async_test('html5lib_tests16.html bcc75b33353806f86f5ecb7137309fe33fbc39cf'), "%3Cscript%3E%3C%21", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21%22%0A%7C%20%20%20%3Cbody%3E"],"2b2b5615880e8fdd80ec772540344d3bf9f6cf98":[async_test('html5lib_tests16.html 2b2b5615880e8fdd80ec772540344d3bf9f6cf98'), "%3Cscript%3E%3C%21a", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21a%22%0A%7C%20%20%20%3Cbody%3E"],"87f5714929355b5a84c5bd86ade881e98135bbb8":[async_test('html5lib_tests16.html 87f5714929355b5a84c5bd86ade881e98135bbb8'), "%3Cscript%3E%3C%21-", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21-%22%0A%7C%20%20%20%3Cbody%3E"],"bc926c61b947962e23f1424d178e8b6caec63984":[async_test('html5lib_tests16.html bc926c61b947962e23f1424d178e8b6caec63984'), "%3Cscript%3E%3C%21-a", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21-a%22%0A%7C%20%20%20%3Cbody%3E"],"0f8650ed2fd554c65428eed896e5a6d0276ffe43":[async_test('html5lib_tests16.html 0f8650ed2fd554c65428eed896e5a6d0276ffe43'), "%3Cscript%3E%3C%21--", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"e6c000aaa91a5cf04f15a4b6775e17d1bd9143b7":[async_test('html5lib_tests16.html e6c000aaa91a5cf04f15a4b6775e17d1bd9143b7'), "%3Cscript%3E%3C%21--a", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--a%22%0A%7C%20%20%20%3Cbody%3E"],"6783594161f7848e42e7c89a32da546163892d75":[async_test('html5lib_tests16.html 6783594161f7848e42e7c89a32da546163892d75'), "%3Cscript%3E%3C%21--%3C", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C%22%0A%7C%20%20%20%3Cbody%3E"],"9c23cc23237032d8decf39d3d886a300c9304707":[async_test('html5lib_tests16.html 9c23cc23237032d8decf39d3d886a300c9304707'), "%3Cscript%3E%3C%21--%3Ca", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ca%22%0A%7C%20%20%20%3Cbody%3E"],"985c2415bc39a322004bbba6817df37dcdf3f10b":[async_test('html5lib_tests16.html 985c2415bc39a322004bbba6817df37dcdf3f10b'), "%3Cscript%3E%3C%21--%3C/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"649e75657bd308f81f93189a02efa6b9a7702902":[async_test('html5lib_tests16.html 649e75657bd308f81f93189a02efa6b9a7702902'), "%3Cscript%3E%3C%21--%3C/script", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"d42bb3557b0fbbe59cf5f606445ba973d4a3d720":[async_test('html5lib_tests16.html d42bb3557b0fbbe59cf5f606445ba973d4a3d720'), "%3Cscript%3E%3C%21--%3C/script%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"d0178734ef1a063624bfd6a737dba933a54bf63d":[async_test('html5lib_tests16.html d0178734ef1a063624bfd6a737dba933a54bf63d'), "%3Cscript%3E%3C%21--%3Cs", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cs%22%0A%7C%20%20%20%3Cbody%3E"],"f6ac88b3fe1743a446da7e0ad895b8f46ea31b23":[async_test('html5lib_tests16.html f6ac88b3fe1743a446da7e0ad895b8f46ea31b23'), "%3Cscript%3E%3C%21--%3Cscript", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%22%0A%7C%20%20%20%3Cbody%3E"],"fb513439a4a4683ec8fc60dc5f2d5588bd656910":[async_test('html5lib_tests16.html fb513439a4a4683ec8fc60dc5f2d5588bd656910'), "%3Cscript%3E%3C%21--%3Cscript%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%22%0A%7C%20%20%20%3Cbody%3E"],"4ed828c62d9dcc18ecf8608c9c38708b0b89b83d":[async_test('html5lib_tests16.html 4ed828c62d9dcc18ecf8608c9c38708b0b89b83d'), "%3Cscript%3E%3C%21--%3Cscript%20%3C", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C%22%0A%7C%20%20%20%3Cbody%3E"],"51bbdaeed5d24b370a3456040561f8cad226b1a7":[async_test('html5lib_tests16.html 51bbdaeed5d24b370a3456040561f8cad226b1a7'), "%3Cscript%3E%3C%21--%3Cscript%20%3Ca", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3Ca%22%0A%7C%20%20%20%3Cbody%3E"],"45b8f97a3a29d8b1d5e7b7f2586189ead21873b7":[async_test('html5lib_tests16.html 45b8f97a3a29d8b1d5e7b7f2586189ead21873b7'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"1ca26210654f4c95e3f5a337922cd5e8b0694789":[async_test('html5lib_tests16.html 1ca26210654f4c95e3f5a337922cd5e8b0694789'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/s", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/s%22%0A%7C%20%20%20%3Cbody%3E"],"a2cd3e4d9dfccfe71bbf5780b537396b5f76c0d6":[async_test('html5lib_tests16.html a2cd3e4d9dfccfe71bbf5780b537396b5f76c0d6'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"bb1450fbedebc1605f79eaa4dc501f47d1d7feb6":[async_test('html5lib_tests16.html bb1450fbedebc1605f79eaa4dc501f47d1d7feb6'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/scripta", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/scripta%22%0A%7C%20%20%20%3Cbody%3E"],"a9d29f0909132226fd57de4a55282f95682778fd":[async_test('html5lib_tests16.html a9d29f0909132226fd57de4a55282f95682778fd'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"1fdf0dda892b230252ce864b5c7073ee09aa9165":[async_test('html5lib_tests16.html 1fdf0dda892b230252ce864b5c7073ee09aa9165'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"af1c863ec4e65c29006a0c98ef0872950618a05e":[async_test('html5lib_tests16.html af1c863ec4e65c29006a0c98ef0872950618a05e'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script/%22%0A%7C%20%20%20%3Cbody%3E"],"18763f4dd0f9681f043e0124ac26b76795f8afad":[async_test('html5lib_tests16.html 18763f4dd0f9681f043e0124ac26b76795f8afad'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3C%22%0A%7C%20%20%20%3Cbody%3E"],"499e8bdd759619c5c2248e854e7cd9148ff5fe6d":[async_test('html5lib_tests16.html 499e8bdd759619c5c2248e854e7cd9148ff5fe6d'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3Ca", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3Ca%22%0A%7C%20%20%20%3Cbody%3E"],"b442057918b0f6954cf88be6da17b0c5ace03382":[async_test('html5lib_tests16.html b442057918b0f6954cf88be6da17b0c5ace03382'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"8a4c1d1a49ab635498f581f8341f0f037178d01d":[async_test('html5lib_tests16.html 8a4c1d1a49ab635498f581f8341f0f037178d01d'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"c4d806ce1a7cb0abe0cb26e6950839b47134dc68":[async_test('html5lib_tests16.html c4d806ce1a7cb0abe0cb26e6950839b47134dc68'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"189378cd03b029adb6e679b6a349124155c697b7":[async_test('html5lib_tests16.html 189378cd03b029adb6e679b6a349124155c697b7'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"6c9b32168850736c788f14208a39e70272ccc54e":[async_test('html5lib_tests16.html 6c9b32168850736c788f14208a39e70272ccc54e'), "%3Cscript%3E%3C%21--%3Cscript%20%3C/script%20%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20%3C/script%20%22%0A%7C%20%20%20%3Cbody%3E"],"2e9cd7a39540b3bd1df32320556cec71585fb2df":[async_test('html5lib_tests16.html 2e9cd7a39540b3bd1df32320556cec71585fb2df'), "%3Cscript%3E%3C%21--%3Cscript%20-", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20-%22%0A%7C%20%20%20%3Cbody%3E"],"15fee76589fa386fa841a369bf84eb5c75ec131a":[async_test('html5lib_tests16.html 15fee76589fa386fa841a369bf84eb5c75ec131a'), "%3Cscript%3E%3C%21--%3Cscript%20-a", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20-a%22%0A%7C%20%20%20%3Cbody%3E"],"689bc409ce3f93662f1223f16271f8ca9883c647":[async_test('html5lib_tests16.html 689bc409ce3f93662f1223f16271f8ca9883c647'), "%3Cscript%3E%3C%21--%3Cscript%20--", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%22%0A%7C%20%20%20%3Cbody%3E"],"47097173fe23e65b63647777b53b0bdde6ce0f18":[async_test('html5lib_tests16.html 47097173fe23e65b63647777b53b0bdde6ce0f18'), "%3Cscript%3E%3C%21--%3Cscript%20--a", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--a%22%0A%7C%20%20%20%3Cbody%3E"],"fcaa6c59f13ef6a3d6cafeaffaad71b017c34c3c":[async_test('html5lib_tests16.html fcaa6c59f13ef6a3d6cafeaffaad71b017c34c3c'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"dd0a2f0c0e6fdcf01c7a917ea662a7ef1e953f11":[async_test('html5lib_tests16.html dd0a2f0c0e6fdcf01c7a917ea662a7ef1e953f11'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%3C%22%0A%7C%20%20%20%3Cbody%3E"],"b29fb15f9b7a448bb70ca27a4b1aac48c1d4f51f":[async_test('html5lib_tests16.html b29fb15f9b7a448bb70ca27a4b1aac48c1d4f51f'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%3C/%22%0A%7C%20%20%20%3Cbody%3E"],"0d91bcb1f42c1a7214168ee61e875166bd75d547":[async_test('html5lib_tests16.html 0d91bcb1f42c1a7214168ee61e875166bd75d547'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%3C/script%22%0A%7C%20%20%20%3Cbody%3E"],"d561d1634333a05fe3428e355f6ab3d67b69ed44":[async_test('html5lib_tests16.html d561d1634333a05fe3428e355f6ab3d67b69ed44'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"6a13a34b36f6ea738d10b2a2da4958045c243fb7":[async_test('html5lib_tests16.html 6a13a34b36f6ea738d10b2a2da4958045c243fb7'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script/", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"ee49c31a8c40676f366959341cd98aecdcf9c14f":[async_test('html5lib_tests16.html ee49c31a8c40676f366959341cd98aecdcf9c14f'), "%3Cscript%3E%3C%21--%3Cscript%20--%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%20--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"c541aa24beb8107a3726bd8b9e655ca8f95d7b48":[async_test('html5lib_tests16.html c541aa24beb8107a3726bd8b9e655ca8f95d7b48'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C%5C/script%3E--%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C%5C/script%3E--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"7ae06c19dd24dea99940ceaed8dffdd0e24cd5f9":[async_test('html5lib_tests16.html 7ae06c19dd24dea99940ceaed8dffdd0e24cd5f9'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E--%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"6d2029f0e2404dcc7f836481cef6bf56f060b248":[async_test('html5lib_tests16.html 6d2029f0e2404dcc7f836481cef6bf56f060b248'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E%22%0A%7C%20%20%20%3Cbody%3E"],"5c5a26c8bcb37a214c47f4b6d9843de20a8fb7e1":[async_test('html5lib_tests16.html 5c5a26c8bcb37a214c47f4b6d9843de20a8fb7e1'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%3E%3C%21--%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%3E%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"3ee633bf4e4eadc2b70c6eebfa14c600435604c9":[async_test('html5lib_tests16.html 3ee633bf4e4eadc2b70c6eebfa14c600435604c9'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%20%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E--%20%3E%22%0A%7C%20%20%20%3Cbody%3E"],"ad5d10a0d7d8fc98040ff33f1db197735d6d3d52":[async_test('html5lib_tests16.html ad5d10a0d7d8fc98040ff33f1db197735d6d3d52'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%3E%22%0A%7C%20%20%20%3Cbody%3E"],"2bde3ac14192be5f4e664c2b01b5aaa57c14e347":[async_test('html5lib_tests16.html 2bde3ac14192be5f4e664c2b01b5aaa57c14e347'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%20%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%20-%20%3E%22%0A%7C%20%20%20%3Cbody%3E"],"a87a03c8c3a06269e6ff8d11e142f6ebb05e9306":[async_test('html5lib_tests16.html a87a03c8c3a06269e6ff8d11e142f6ebb05e9306'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/script%3E%3Cscript%3E%3C/script%3E-%3E%22%0A%7C%20%20%20%3Cbody%3E"],"190325aed218711647eae5581a1f629c76da297c":[async_test('html5lib_tests16.html 190325aed218711647eae5581a1f629c76da297c'), "%3Cscript%3E%3C%21--%3Cscript%3E--%21%3E%3C/script%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E--%21%3E%3C/script%3EX%22%0A%7C%20%20%20%3Cbody%3E"],"e244d9f1edb6275b69c4a832620b9439d39bfb22":[async_test('html5lib_tests16.html e244d9f1edb6275b69c4a832620b9439d39bfb22'), "%3Cscript%3E%3C%21--%3Cscr%27%2B%27ipt%3E%3C/script%3E--%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscr%27%2B%27ipt%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"751f7c9538b9fd00f5c7dd0ed59df07f4d51fdac":[async_test('html5lib_tests16.html 751f7c9538b9fd00f5c7dd0ed59df07f4d51fdac'), "%3Cscript%3E%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E%3C/script%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cscript%3E%3C/scr%27%2B%27ipt%3E%3C/script%3EX%22%0A%7C%20%20%20%3Cbody%3E"],"762904de405fa26afdd39e024395a441bc6a0f8a":[async_test('html5lib_tests16.html 762904de405fa26afdd39e024395a441bc6a0f8a'), "%3Cstyle%3E%3C%21--%3Cstyle%3E%3C/style%3E--%3E%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cstyle%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"4df21df646897816e166b3dd829a8a3e21157f22":[async_test('html5lib_tests16.html 4df21df646897816e166b3dd829a8a3e21157f22'), "%3Cstyle%3E%3C%21--%3C/style%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"9c241f721c1f6677d736b37ecd86bb230df329df":[async_test('html5lib_tests16.html 9c241f721c1f6677d736b37ecd86bb230df329df'), "%3Cstyle%3E%3C%21--...%3C/style%3E...--%3E%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--...%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22...--%3E%22"],"96ebedcc684f27f984cc7be467c908bdab2470a9":[async_test('html5lib_tests16.html 96ebedcc684f27f984cc7be467c908bdab2470a9'), "%3Cstyle%3E%3C%21--%3Cbr%3E%3Chtml%20xmlns%3Av%3D%22urn%3Aschemas-microsoft-com%3Avml%22%3E%3C%21--%5Bif%20%21mso%5D%3E%3Cstyle%3E%3C/style%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cbr%3E%3Chtml%20xmlns%3Av%3D%22urn%3Aschemas-microsoft-com%3Avml%22%3E%3C%21--%5Bif%20%21mso%5D%3E%3Cstyle%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"419cfbd87ad35c1d43214b122630cfde1c3ccf1b":[async_test('html5lib_tests16.html 419cfbd87ad35c1d43214b122630cfde1c3ccf1b'), "%3Cstyle%3E%3C%21--...%3Cstyle%3E%3C%21--...--%21%3E%3C/style%3E--%3E%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--...%3Cstyle%3E%3C%21--...--%21%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"cf75ace0d7531b8daa271001dbf92b93b0b4490c":[async_test('html5lib_tests16.html cf75ace0d7531b8daa271001dbf92b93b0b4490c'), "%3Cstyle%3E%3C%21--...%3C/style%3E%3C%21--%20--%3E%3Cstyle%3E%40import%20...%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--...%22%0A%7C%20%20%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%40import%20...%22%0A%7C%20%20%20%3Cbody%3E"],"a058b4bb03a689ce8528ed412d62cdd5bb879571":[async_test('html5lib_tests16.html a058b4bb03a689ce8528ed412d62cdd5bb879571'), "%3Cstyle%3E...%3Cstyle%3E%3C%21--...%3C/style%3E%3C%21--%20--%3E%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22...%3Cstyle%3E%3C%21--...%22%0A%7C%20%20%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%3Cbody%3E"],"d7c871c41c9db40312ffc5af996ede62ecdfc579":[async_test('html5lib_tests16.html d7c871c41c9db40312ffc5af996ede62ecdfc579'), "%3Cstyle%3E...%3C%21--%5Bif%20IE%5D%3E%3Cstyle%3E...%3C/style%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22...%3C%21--%5Bif%20IE%5D%3E%3Cstyle%3E...%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"6c353ee8f48c1227eeab81279dc3eb3890c9c3bd":[async_test('html5lib_tests16.html 6c353ee8f48c1227eeab81279dc3eb3890c9c3bd'), "%3Ctitle%3E%3C%21--%3Ctitle%3E%3C/title%3E--%3E%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ctitle%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"fea28aab54637701c5dfaef4f3fe64c72b272e1c":[async_test('html5lib_tests16.html fea28aab54637701c5dfaef4f3fe64c72b272e1c'), "%3Ctitle%3E%26lt%3B/title%3E%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C/title%3E%22%0A%7C%20%20%20%3Cbody%3E"],"ecd79b7eb7af2bb4dadf710f70e0d78f62adc40e":[async_test('html5lib_tests16.html ecd79b7eb7af2bb4dadf710f70e0d78f62adc40e'), "%3Ctitle%3Efoo/title%3E%3Clink%3E%3C/head%3E%3Cbody%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22foo/title%3E%3Clink%3E%3C/head%3E%3Cbody%3EX%22%0A%7C%20%20%20%3Cbody%3E"],"43917824cc1d9b5a65601f46e13a0779c3dcff4e":[async_test('html5lib_tests16.html 43917824cc1d9b5a65601f46e13a0779c3dcff4e'), "%3Cnoscript%3E%3C%21--%3Cnoscript%3E%3C/noscript%3E--%3E%3C/noscript%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cnoscript%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"5423bb28649f37e70a0559cba78c3b253a60c277":[async_test('html5lib_tests16.html 5423bb28649f37e70a0559cba78c3b253a60c277'), "%3Cnoscript%3E%3C%21--%3C/noscript%3EX%3Cnoscript%3E--%3E%3C/noscript%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22--%3E%22"],"2c091a50dfd31e766a5a629c0b7c21973e33319d":[async_test('html5lib_tests16.html 2c091a50dfd31e766a5a629c0b7c21973e33319d'), "%3Cnoscript%3E%3Ciframe%3E%3C/noscript%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3Ciframe%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"920feb4f9d1032dcec2abc5c526e4996f642968b":[async_test('html5lib_tests16.html 920feb4f9d1032dcec2abc5c526e4996f642968b'), "%3Cnoframes%3E%3C%21--%3Cnoframes%3E%3C/noframes%3E--%3E%3C/noframes%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cnoframes%3E%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"31b9b446263cd5b7a844d43f2a235ed9b0c53efb":[async_test('html5lib_tests16.html 31b9b446263cd5b7a844d43f2a235ed9b0c53efb'), "%3Cnoframes%3E%3Cbody%3E%3Cscript%3E%3C%21--...%3C/script%3E%3C/body%3E%3C/noframes%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%20%20%22%3Cbody%3E%3Cscript%3E%3C%21--...%3C/script%3E%3C/body%3E%22%0A%7C%20%20%20%3Cbody%3E"],"dbb5127246fee18718bcffc6cf0730674d12b98a":[async_test('html5lib_tests16.html dbb5127246fee18718bcffc6cf0730674d12b98a'), "%3Ctextarea%3E%3C%21--%3Ctextarea%3E%3C/textarea%3E--%3E%3C/textarea%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ctextarea%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"3872a4cfeba7651f0671de7e5f3922fd5053837b":[async_test('html5lib_tests16.html 3872a4cfeba7651f0671de7e5f3922fd5053837b'), "%3Ctextarea%3E%26lt%3B/textarea%3E%3C/textarea%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%3C/textarea%3E%22"],"2fbcb2db61b6416cdf46e0526e1929d146ab3da7":[async_test('html5lib_tests16.html 2fbcb2db61b6416cdf46e0526e1929d146ab3da7'), "%3Ciframe%3E%3C%21--%3Ciframe%3E%3C/iframe%3E--%3E%3C/iframe%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Ciframe%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"999da234e770bbf681a819423d04ea57415d9bbc":[async_test('html5lib_tests16.html 999da234e770bbf681a819423d04ea57415d9bbc'), "%3Ciframe%3E...%3C%21--X-%3E...%3C%21--/X-%3E...%3C/iframe%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E%0A%7C%20%20%20%20%20%20%20%22...%3C%21--X-%3E...%3C%21--/X-%3E...%22"],"6fc6be53a87bbb2d2a51a5617009063002321d09":[async_test('html5lib_tests16.html 6fc6be53a87bbb2d2a51a5617009063002321d09'), "%3Cxmp%3E%3C%21--%3Cxmp%3E%3C/xmp%3E--%3E%3C/xmp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxmp%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cxmp%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"b0de72088fa3e543572329eda36fa4bd16e29fa3":[async_test('html5lib_tests16.html b0de72088fa3e543572329eda36fa4bd16e29fa3'), "%3Cnoembed%3E%3C%21--%3Cnoembed%3E%3C/noembed%3E--%3E%3C/noembed%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cnoembed%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%3Cnoembed%3E%22%0A%7C%20%20%20%20%20%22--%3E%22"],"2a6d8110b8148a9aa83db81dc38d544becea2fa9":[async_test('html5lib_tests16.html 2a6d8110b8148a9aa83db81dc38d544becea2fa9'), "%3C%21doctype%20html%3E%3Ctable%3E%0A", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22"],"6556aaaca3956eafbc1660bce50a2f3568f1bff6":[async_test('html5lib_tests16.html 6556aaaca3956eafbc1660bce50a2f3568f1bff6'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctd%3E%3Cspan%3E%3Cfont%3E%3C/span%3E%3Cspan%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E"],"8ba3d2c7712e9c0484a4cafc8b0ca6f35d8f11ed":[async_test('html5lib_tests16.html 8ba3d2c7712e9c0484a4cafc8b0ca6f35d8f11ed'), "%3C%21doctype%20html%3E%3Cform%3E%3Ctable%3E%3C/form%3E%3Cform%3E%3C/table%3E%3C/form%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cform%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests17.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests17.html
new file mode 100644
index 0000000000..6363ca72b2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests17.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests17.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['bad1cc428ca144d278d40343f9da4d22d43b7b50','8a99dcd95c28dc294ec302998adac16111085aea','1d2be91c91dc2506354f01bb0058d0e10123668a','37ef4643c5f11b68f8991c4f1b34c3fe4d78c0af','0739d340b754e400864a668ac7f72259965b8bc7','16cb95e820b074bad119f13b1204cac90db8cf82','8b6c1a5706c668ccc47a4ff61527a30daa14848e','92ebd54a48d986a555e1a456565b3cbd06c78ffa','1fdd1835ee0cb01351d30fc567cd19b3ecda7966','55412bdbb0fe315b9ff46592e8f08ba47568f2e9','d5e1450f92115f6c5704b0b5f27699cd418816f9','a3ed0cf6e162498c7c5b87228c33bbcd960087a6','c1af331cb6400571f5e2b6ec81461223ab603d3d',];
+ var tests = {
+ "bad1cc428ca144d278d40343f9da4d22d43b7b50":[async_test('html5lib_tests17.html bad1cc428ca144d278d40343f9da4d22d43b7b50'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctbody%3E%3Cselect%3E%3Ctr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"8a99dcd95c28dc294ec302998adac16111085aea":[async_test('html5lib_tests17.html 8a99dcd95c28dc294ec302998adac16111085aea'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3Cselect%3E%3Ctd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"1d2be91c91dc2506354f01bb0058d0e10123668a":[async_test('html5lib_tests17.html 1d2be91c91dc2506354f01bb0058d0e10123668a'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Ctd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"37ef4643c5f11b68f8991c4f1b34c3fe4d78c0af":[async_test('html5lib_tests17.html 37ef4643c5f11b68f8991c4f1b34c3fe4d78c0af'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3Cth%3E%3Cselect%3E%3Ctd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cth%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"0739d340b754e400864a668ac7f72259965b8bc7":[async_test('html5lib_tests17.html 0739d340b754e400864a668ac7f72259965b8bc7'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ccaption%3E%3Cselect%3E%3Ctr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"16cb95e820b074bad119f13b1204cac90db8cf82":[async_test('html5lib_tests17.html 16cb95e820b074bad119f13b1204cac90db8cf82'), "%3C%21doctype%20html%3E%3Cselect%3E%3Ctr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"8b6c1a5706c668ccc47a4ff61527a30daa14848e":[async_test('html5lib_tests17.html 8b6c1a5706c668ccc47a4ff61527a30daa14848e'), "%3C%21doctype%20html%3E%3Cselect%3E%3Ctd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"92ebd54a48d986a555e1a456565b3cbd06c78ffa":[async_test('html5lib_tests17.html 92ebd54a48d986a555e1a456565b3cbd06c78ffa'), "%3C%21doctype%20html%3E%3Cselect%3E%3Cth%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"1fdd1835ee0cb01351d30fc567cd19b3ecda7966":[async_test('html5lib_tests17.html 1fdd1835ee0cb01351d30fc567cd19b3ecda7966'), "%3C%21doctype%20html%3E%3Cselect%3E%3Ctbody%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"55412bdbb0fe315b9ff46592e8f08ba47568f2e9":[async_test('html5lib_tests17.html 55412bdbb0fe315b9ff46592e8f08ba47568f2e9'), "%3C%21doctype%20html%3E%3Cselect%3E%3Cthead%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"d5e1450f92115f6c5704b0b5f27699cd418816f9":[async_test('html5lib_tests17.html d5e1450f92115f6c5704b0b5f27699cd418816f9'), "%3C%21doctype%20html%3E%3Cselect%3E%3Ctfoot%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"a3ed0cf6e162498c7c5b87228c33bbcd960087a6":[async_test('html5lib_tests17.html a3ed0cf6e162498c7c5b87228c33bbcd960087a6'), "%3C%21doctype%20html%3E%3Cselect%3E%3Ccaption%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"c1af331cb6400571f5e2b6ec81461223ab603d3d":[async_test('html5lib_tests17.html c1af331cb6400571f5e2b6ec81461223ab603d3d'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3C/table%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%22a%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests18.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests18.html
new file mode 100644
index 0000000000..a17580471f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests18.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests18.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['7471f6a45872ac6d70f69fc3f4e10b13c7c1ac45','0d0085749435e0d0ddb56c9db809bfcbbc995767','9052b915187ac505be8958ab5e9f8d4ca0bfde81','66191ae802c83e7319dd5c747f3a46dd157f5919','12cece9ece2085b8073d668ddd8ebe1ddb39962c','bbbed0387a4534ef054a1f9fcf3c1cb15e12ab49','863c5dd5ef7e9279342de0f714383d3e47033e95','ddeaaff85a50ea415dee1c4ee6c43e98ea331953','61eb7572a2490ac82423953eefe8fcef8dbc78ee','df407b3f102bc2504539136b46afbb895763dc27','9ac591f40aae947707f7d5e83947712bbeca9574','d44cf9a5fcf0759fce78497c7f10e3019c361274','e4eb33f77ae641718853d2cfddbdb2eece6b266b','53ce5b102579af9830bf561b634af681bbdb5dfd','cd24d93d1235e4aabbdcfab1d3acdbe488325666','abae66ad61e145e32fb4fc4946b839f56b16bb3d','9d38e0731d08aec061003c7783c70e682221378b','9df08923a41bf58c6291f9ce6d9e36a29d336bd6','ecba80b891396c970db720681124a1cac2aea91f','c70f0b382961e8449567414fd541cc2ee0695eb9','bb5432233eeaeab374a545ad60bbd004c9d2c02b','e3980c50b81e2673e9ffbd8cc12300e975bd9175','4b6f10fa2d8b7cc70e3b3085aac46c64a0c42eaf','1e88e5946ba773f1202e8af27f2a17ef2658e3ee','17ec3aff2568b56687f00d6ee3aeb6625fdd8ecc','b22cb10082e7328708e1da334a12b015b90535a4','9bfd787aa3b30eb38ce7942696ccc01d991e8e52','41edb5b76ce7a4378daa093e59b1225af546864f','5c6c65bd01758ecb6eb539a979dfacf50ff93a78','76d96fecc3d88820bab5274089886d20bc164d74','28a8566daaae49c529298d0de8a26af1263ff625','13eb2279a1e58eb281541564ae945b87880ae7c2','3c7d4e068461b340966e07dff93d93503fcfa46c','d38ed6488066d3e0d4d74b29888c5d000c2f4808','43180045ad714b405e6fe110a27011f2644f16c2',];
+ var tests = {
+ "7471f6a45872ac6d70f69fc3f4e10b13c7c1ac45":[async_test('html5lib_tests18.html 7471f6a45872ac6d70f69fc3f4e10b13c7c1ac45'), "%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"0d0085749435e0d0ddb56c9db809bfcbbc995767":[async_test('html5lib_tests18.html 0d0085749435e0d0ddb56c9db809bfcbbc995767'), "%3C%21doctype%20html%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"9052b915187ac505be8958ab5e9f8d4ca0bfde81":[async_test('html5lib_tests18.html 9052b915187ac505be8958ab5e9f8d4ca0bfde81'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"66191ae802c83e7319dd5c747f3a46dd157f5919":[async_test('html5lib_tests18.html 66191ae802c83e7319dd5c747f3a46dd157f5919'), "%3C%21doctype%20html%3E%3Chead%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"12cece9ece2085b8073d668ddd8ebe1ddb39962c":[async_test('html5lib_tests18.html 12cece9ece2085b8073d668ddd8ebe1ddb39962c'), "%3C%21doctype%20html%3E%3C/head%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"bbbed0387a4534ef054a1f9fcf3c1cb15e12ab49":[async_test('html5lib_tests18.html bbbed0387a4534ef054a1f9fcf3c1cb15e12ab49'), "%3C%21doctype%20html%3E%3Cbody%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"863c5dd5ef7e9279342de0f714383d3e47033e95":[async_test('html5lib_tests18.html 863c5dd5ef7e9279342de0f714383d3e47033e95'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"ddeaaff85a50ea415dee1c4ee6c43e98ea331953":[async_test('html5lib_tests18.html ddeaaff85a50ea415dee1c4ee6c43e98ea331953'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctbody%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E"],"61eb7572a2490ac82423953eefe8fcef8dbc78ee":[async_test('html5lib_tests18.html 61eb7572a2490ac82423953eefe8fcef8dbc78ee'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"df407b3f102bc2504539136b46afbb895763dc27":[async_test('html5lib_tests18.html df407b3f102bc2504539136b46afbb895763dc27'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctd%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"9ac591f40aae947707f7d5e83947712bbeca9574":[async_test('html5lib_tests18.html 9ac591f40aae947707f7d5e83947712bbeca9574'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ccaption%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"d44cf9a5fcf0759fce78497c7f10e3019c361274":[async_test('html5lib_tests18.html d44cf9a5fcf0759fce78497c7f10e3019c361274'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ccolgroup%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"e4eb33f77ae641718853d2cfddbdb2eece6b266b":[async_test('html5lib_tests18.html e4eb33f77ae641718853d2cfddbdb2eece6b266b'), "%3C%21doctype%20html%3E%3Cselect%3E%3Cplaintext%3E%3C/plaintext%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"53ce5b102579af9830bf561b634af681bbdb5dfd":[async_test('html5lib_tests18.html 53ce5b102579af9830bf561b634af681bbdb5dfd'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cselect%3E%3Cplaintext%3Ea%3Ccaption%3Eb", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22"],"cd24d93d1235e4aabbdcfab1d3acdbe488325666":[async_test('html5lib_tests18.html cd24d93d1235e4aabbdcfab1d3acdbe488325666'), "%3C%21doctype%20html%3E%3Ctemplate%3E%3Cplaintext%3Ea%3C/template%3Eb", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctemplate%3E%0A%7C%20%20%20%20%20%20%20content%0A%7C%20%20%20%20%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%3C/template%3Eb%22%0A%7C%20%20%20%3Cbody%3E"],"abae66ad61e145e32fb4fc4946b839f56b16bb3d":[async_test('html5lib_tests18.html abae66ad61e145e32fb4fc4946b839f56b16bb3d'), "%3C%21doctype%20html%3E%3Cbody%3E%3C/body%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"9d38e0731d08aec061003c7783c70e682221378b":[async_test('html5lib_tests18.html 9d38e0731d08aec061003c7783c70e682221378b'), "%3C%21doctype%20html%3E%3Cframeset%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"9df08923a41bf58c6291f9ce6d9e36a29d336bd6":[async_test('html5lib_tests18.html 9df08923a41bf58c6291f9ce6d9e36a29d336bd6'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/frameset%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"ecba80b891396c970db720681124a1cac2aea91f":[async_test('html5lib_tests18.html ecba80b891396c970db720681124a1cac2aea91f'), "%3C%21doctype%20html%3E%3Cbody%3E%3C/body%3E%3C/html%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"c70f0b382961e8449567414fd541cc2ee0695eb9":[async_test('html5lib_tests18.html c70f0b382961e8449567414fd541cc2ee0695eb9'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"bb5432233eeaeab374a545ad60bbd004c9d2c02b":[async_test('html5lib_tests18.html bb5432233eeaeab374a545ad60bbd004c9d2c02b'), "%3C%21doctype%20html%3E%3Csvg%3E%3Cplaintext%3Ea%3C/plaintext%3Eb", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20plaintext%3E%0A%7C%20%20%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%22b%22"],"e3980c50b81e2673e9ffbd8cc12300e975bd9175":[async_test('html5lib_tests18.html e3980c50b81e2673e9ffbd8cc12300e975bd9175'), "%3C%21doctype%20html%3E%3Csvg%3E%3Ctitle%3E%3Cplaintext%3Ea%3C/plaintext%3Eb", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%3C/plaintext%3Eb%22"],"4b6f10fa2d8b7cc70e3b3085aac46c64a0c42eaf":[async_test('html5lib_tests18.html 4b6f10fa2d8b7cc70e3b3085aac46c64a0c42eaf'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3Cstyle%3E%3C/script%3E%3C/style%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%3C/script%3E%22"],"1e88e5946ba773f1202e8af27f2a17ef2658e3ee":[async_test('html5lib_tests18.html 1e88e5946ba773f1202e8af27f2a17ef2658e3ee'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3Cscript%3E%3C/style%3E%3C/script%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%3C/style%3E%22"],"17ec3aff2568b56687f00d6ee3aeb6625fdd8ecc":[async_test('html5lib_tests18.html 17ec3aff2568b56687f00d6ee3aeb6625fdd8ecc'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ccaption%3E%3Cstyle%3E%3C/script%3E%3C/style%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%3C/script%3E%22%0A%7C%20%20%20%20%20%20%20%20%20%22abc%22"],"b22cb10082e7328708e1da334a12b015b90535a4":[async_test('html5lib_tests18.html b22cb10082e7328708e1da334a12b015b90535a4'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctd%3E%3Cstyle%3E%3C/script%3E%3C/style%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%3C/script%3E%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22abc%22"],"9bfd787aa3b30eb38ce7942696ccc01d991e8e52":[async_test('html5lib_tests18.html 9bfd787aa3b30eb38ce7942696ccc01d991e8e52'), "%3C%21doctype%20html%3E%3Cselect%3E%3Cscript%3E%3C/style%3E%3C/script%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%3C/style%3E%22%0A%7C%20%20%20%20%20%20%20%22abc%22"],"41edb5b76ce7a4378daa093e59b1225af546864f":[async_test('html5lib_tests18.html 41edb5b76ce7a4378daa093e59b1225af546864f'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cselect%3E%3Cscript%3E%3C/style%3E%3C/script%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%3C/style%3E%22%0A%7C%20%20%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"5c6c65bd01758ecb6eb539a979dfacf50ff93a78":[async_test('html5lib_tests18.html 5c6c65bd01758ecb6eb539a979dfacf50ff93a78'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3Cselect%3E%3Cscript%3E%3C/style%3E%3C/script%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%3C/style%3E%22%0A%7C%20%20%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"76d96fecc3d88820bab5274089886d20bc164d74":[async_test('html5lib_tests18.html 76d96fecc3d88820bab5274089886d20bc164d74'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/frameset%3E%3Cnoframes%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%22abc%22"],"28a8566daaae49c529298d0de8a26af1263ff625":[async_test('html5lib_tests18.html 28a8566daaae49c529298d0de8a26af1263ff625'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/frameset%3E%3Cnoframes%3Eabc%3C/noframes%3E%3C%21--abc--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%22abc%22%0A%7C%20%20%20%3C%21--%20abc%20--%3E"],"13eb2279a1e58eb281541564ae945b87880ae7c2":[async_test('html5lib_tests18.html 13eb2279a1e58eb281541564ae945b87880ae7c2'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3Cnoframes%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%22abc%22"],"3c7d4e068461b340966e07dff93d93503fcfa46c":[async_test('html5lib_tests18.html 3c7d4e068461b340966e07dff93d93503fcfa46c'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3Cnoframes%3Eabc%3C/noframes%3E%3C%21--abc--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%22abc%22%0A%7C%20%3C%21--%20abc%20--%3E"],"d38ed6488066d3e0d4d74b29888c5d000c2f4808":[async_test('html5lib_tests18.html d38ed6488066d3e0d4d74b29888c5d000c2f4808'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctr%3E%3C/tbody%3E%3Ctfoot%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Ctfoot%3E"],"43180045ad714b405e6fe110a27011f2644f16c2":[async_test('html5lib_tests18.html 43180045ad714b405e6fe110a27011f2644f16c2'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctd%3E%3Csvg%3E%3C/svg%3Eabc%3Ctd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests19.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests19.html
new file mode 100644
index 0000000000..529cf5885c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests19.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests19.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['6135e0cbdbb22a97e8a13c2442c3e9a9e0a53298','6b46dba2f4d7d1a08359ab21fe5e011463dd8746','bd558a6d89fae63fed9c0801e6fd8e8737bc8dc1','a7955e9f06178980cbc13fc4d548f196fef42b13','2fda53e44aa91cb475f8b1aa57e938adcce60d4d','9f55c21807de5c769197a9a2f29f836f08af050b','197605d0b406dbb3de884de6949237dd33669997','3b1730b917da1c33da80ee08d41573c44404c663','ac6b608079815ad00c84b291ad6715eec523ccf4','a68acf7673e0c886fcf8cf609f3a39fb36362de5','266157f051148b068dad52e9786a0bda96e851db','2fd40bb6048be379000d73bc52a50405ca99b356','19652e3b1ec783f279f527ddfb07073684520ab8','e5676878cff9332b572ebfd327e426f87e32ab4d','03bbba49b30ec908e06e3c84e1fcede1ac7508ff','5f9f25a089e72b4a4e5d7ebbacb440349c53f52f','d26f2542fc6fcee4e737b578c8db716a96a22ade','0e8c4b181993b477f4f215d5724b99ad04f18b2d','e3f1de111562f25106efad76583a3b6c0e3516ba','84db6521d1350830f3e46b7d9676527e1b4ee9e2','033d9b356b2a646471de009fa8a75e40500d2dd2','0971186f913b3c7f915817d2b82c73ea6487e932','5257f17c3ecab5b65d74d7c27f0fd492f82ef9b9','b8c3379e60829428188fd57e974ea4d8a7e7ec45','f9ab61cdf08301bcf02208165cc94e6bdbad746c','c6aa9952dcccdde3fc6d4ba104647f049d038e66','3984cbe166b42d77ff6dadc8e1687075db7a8e65','2d78ba34eecedf8261e9a9e3f8858baf00a0d960','8d45a57b7093df38c88dccb1f3fba6a62c810445','871917ed049ff21b35e74e39de2ca1eef6863562','74ad5d3026f1b3eb6553086eb2811eed4418e334','0b1e97138c4d8e8d770f107202e46a18362fd587','02624fcb7ddb77b15e9bc553d8392fc8cd031f68','a2579d287fd8111306e6dcd7248971a6baa4488d','acd1c9218828ea4367920c7a499c54de7f9a618f','36a6346b03982942b4427d5089271a101ebf1605','e58ed5b56f81d057c23be31e068a10e694f52adf','d422166b880468765f34d89075d4db9c4fcbfee9','fc673f5874c0cf1477554dfb733d6292cc01558b','0d2192c16cc224e770abff9e9e89e860aff9da78','d5941f6b68ef817d062636d0d61c24c68d0d86a2','259a085138224e3dfe0dceded2a043e72a8b6d76','869fff76cfe00ff33987de007ce98dc949bf8cbf','c06518cdbf3816faf265644d28d93b7aee9258f7','2fb0cdb3a9f69ca6c3d564e01f89d7173cd51295','138623cd07ccff1ce13bb1aa5dbaaadc962c414f','52e4a8422d6ef591f33f8686842d974dbaa33302','5ba1d0e97f121810025c1d6447a426c669661637','709ec07924db4c9fd66d48eac08575dfdef01d8f','f72edb80bc3be091e4b448cd1de8fe851d623e05','cb7de0dc7e17c1454ceaa7eb49cb9f9476a1f510','511bf4bae15c8119042e5e80b5358b70e7da26c1','c51ee24ef9d92206318cc5bbba784630cd10e531','819d39ae49fd04f0dfce90ac8ed2f8e423bb9329','ef6bdf5b3ba9d41d6c1c08ede60c2e7fb21c6d71','6bf9c038255c31f20d8fbeaebdf3609eb3c9ed75','08983ab2a54f61b09a1df134cdaf51d321f3ef32','2ef94ed028fa71b70540cf41f0884ae0c1cf8077','5c9ed202789fb29566e0d146d155e0d672e8a037','7d766253cbf500df03506dfb7f2cbdd0f0f533c6','4d5629c61993ef0bb83fcbd80ccc6ead7cd776ee','6320d9fa3295984d3da7e4831ced75dfb97d4848','bdb97868e951b7a719fa8b1afc79650bf9aae7a5','81868cde252694a252b6b0c8d366850f8a54736c','20651db48147f8dda189c563f5fa60bfd0913ac0','d098e8a39897cd8453fc18399622e413872b054c','0beb7903dcc0dbee206d8b6e729963a0461eedb3','78e5cdb86bf2aecef4697d70d50499b50de5c25b','cfb1d482e5971a6915c90434f580721b772fc09b','99d8bff8bbcca1c7faa7b6e10b9ff305b9f99594','daaa43db05ffe9bdd8d734a4389fb3c459caddf1','b3d421e57a4135731309152d7f47e26a4866f3d6','aa5eac4b7a0bafdafcd52cb190a8e181ff74144c','91d56a57f4c8af2bce03e9974df0a80f62686fb4','9cbad5cad719a63d2eb7721de6737a346ad42da1','057c2e91a7e6053d39436efe2bc29049f6fa8e82','61e6517e5e82cdaed41ab3e1f6fa927731aa0c82','9274ab4f08baa52c5d7016f6062f186730cfbe6c','fc2fa41ebadc21653b38d70c1097bd4ac5979948','473303e65f26fafacbaf01c11b04d745ff293963','7854276e1637619f693cd87f64542c08c35d40bd','a2d262d392e8d10645ce559edf401df3f3872eb3','d5e50987bf495e285e279ff8670255d9b1314f5d','be54d7506e54a127a05b115a8659a5b52fa57f6c','af389f1a8ef93c457560fd2445df80a6789dab0d','601dfa9502942deb8bf46a91c64f10f649bc1875','4b01442faf29563d3b736d235515f77c20c81863','696a2b60681b0b6758f165a67e29a84b0f75a153','7a48b98cbae5cd7cbbb90f138c0d12da6c4448b3','d7693a0f2be68925250d3aa2cf295b1d1a60bf94','9e4d91f02184de1b1e5d927144bb06d3bc78bb09','9655591702381a52fe0eb3224e63e2d8bfd735e8','fe9aa1c8ec32796e26f3e58022f0e42dc365b5c7','4c9ec04359c3e94d4a56d6932d289f0c4246d1ef','3fcc2f15951b3c3375c3e359cf7888c71187994a','a94b35c317763de75150df6b436c7c153aeb8c51','173b990198dd8fd9534d7808817c19440b75d406','48ed5945491d4ad0c00acfd01c2060a459436d34','392b8d4d25351467da961e4ab011a1d4e970b97a','bd14373173ea3617610fc8154237f59f1a810733','db3c4ddb389a2b8f42ca6b3719007d4de2eccc41','c1741a62627b2e5bb1cfa2b2cd667f3f9f76157e','0d6cf626790e9f06e30ceb6baf3004663b0247e7',];
+ var tests = {
+ "6135e0cbdbb22a97e8a13c2442c3e9a9e0a53298":[async_test('html5lib_tests19.html 6135e0cbdbb22a97e8a13c2442c3e9a9e0a53298'), "%3C%21doctype%20html%3E%3Cmath%3E%3Cmn%20DefinitionUrl%3D%22foo%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20definitionURL%3D%22foo%22"],"6b46dba2f4d7d1a08359ab21fe5e011463dd8746":[async_test('html5lib_tests19.html 6b46dba2f4d7d1a08359ab21fe5e011463dd8746'), "%3C%21doctype%20html%3E%3Chtml%3E%3C/p%3E%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3C%21--%20foo%20--%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"bd558a6d89fae63fed9c0801e6fd8e8737bc8dc1":[async_test('html5lib_tests19.html bd558a6d89fae63fed9c0801e6fd8e8737bc8dc1'), "%3C%21doctype%20html%3E%3Chead%3E%3C/head%3E%3C/p%3E%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3C%21--%20foo%20--%3E%0A%7C%20%20%20%3Cbody%3E"],"a7955e9f06178980cbc13fc4d548f196fef42b13":[async_test('html5lib_tests19.html a7955e9f06178980cbc13fc4d548f196fef42b13'), "%3C%21doctype%20html%3E%3Cbody%3E%3Cp%3E%3Cpre%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cpre%3E"],"2fda53e44aa91cb475f8b1aa57e938adcce60d4d":[async_test('html5lib_tests19.html 2fda53e44aa91cb475f8b1aa57e938adcce60d4d'), "%3C%21doctype%20html%3E%3Cbody%3E%3Cp%3E%3Clisting%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Clisting%3E"],"9f55c21807de5c769197a9a2f29f836f08af050b":[async_test('html5lib_tests19.html 9f55c21807de5c769197a9a2f29f836f08af050b'), "%3C%21doctype%20html%3E%3Cp%3E%3Cplaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E"],"197605d0b406dbb3de884de6949237dd33669997":[async_test('html5lib_tests19.html 197605d0b406dbb3de884de6949237dd33669997'), "%3C%21doctype%20html%3E%3Cp%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Ch1%3E"],"3b1730b917da1c33da80ee08d41573c44404c663":[async_test('html5lib_tests19.html 3b1730b917da1c33da80ee08d41573c44404c663'), "%3C%21doctype%20html%3E%3Cisindex%20type%3D%22hidden%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cisindex%3E%0A%7C%20%20%20%20%20%20%20type%3D%22hidden%22"],"ac6b608079815ad00c84b291ad6715eec523ccf4":[async_test('html5lib_tests19.html ac6b608079815ad00c84b291ad6715eec523ccf4'), "%3C%21doctype%20html%3E%3Cruby%3E%3Cp%3E%3Crp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Crp%3E"],"a68acf7673e0c886fcf8cf609f3a39fb36362de5":[async_test('html5lib_tests19.html a68acf7673e0c886fcf8cf609f3a39fb36362de5'), "%3C%21doctype%20html%3E%3Cruby%3E%3Cdiv%3E%3Cspan%3E%3Crp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Crp%3E"],"266157f051148b068dad52e9786a0bda96e851db":[async_test('html5lib_tests19.html 266157f051148b068dad52e9786a0bda96e851db'), "%3C%21doctype%20html%3E%3Cruby%3E%3Cdiv%3E%3Cp%3E%3Crp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Crp%3E"],"2fd40bb6048be379000d73bc52a50405ca99b356":[async_test('html5lib_tests19.html 2fd40bb6048be379000d73bc52a50405ca99b356'), "%3C%21doctype%20html%3E%3Cruby%3E%3Cp%3E%3Crt%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"19652e3b1ec783f279f527ddfb07073684520ab8":[async_test('html5lib_tests19.html 19652e3b1ec783f279f527ddfb07073684520ab8'), "%3C%21doctype%20html%3E%3Cruby%3E%3Cdiv%3E%3Cspan%3E%3Crt%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Crt%3E"],"e5676878cff9332b572ebfd327e426f87e32ab4d":[async_test('html5lib_tests19.html e5676878cff9332b572ebfd327e426f87e32ab4d'), "%3C%21doctype%20html%3E%3Cruby%3E%3Cdiv%3E%3Cp%3E%3Crt%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Crt%3E"],"03bbba49b30ec908e06e3c84e1fcede1ac7508ff":[async_test('html5lib_tests19.html 03bbba49b30ec908e06e3c84e1fcede1ac7508ff'), "%3Chtml%3E%3Cruby%3Ea%3Crb%3Eb%3Crt%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"5f9f25a089e72b4a4e5d7ebbacb440349c53f52f":[async_test('html5lib_tests19.html 5f9f25a089e72b4a4e5d7ebbacb440349c53f52f'), "%3Chtml%3E%3Cruby%3Ea%3Crp%3Eb%3Crt%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"d26f2542fc6fcee4e737b578c8db716a96a22ade":[async_test('html5lib_tests19.html d26f2542fc6fcee4e737b578c8db716a96a22ade'), "%3Chtml%3E%3Cruby%3Ea%3Crt%3Eb%3Crt%3E%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Crt%3E"],"0e8c4b181993b477f4f215d5724b99ad04f18b2d":[async_test('html5lib_tests19.html 0e8c4b181993b477f4f215d5724b99ad04f18b2d'), "%3Chtml%3E%3Cruby%3Ea%3Crtc%3Eb%3Crt%3Ec%3Crb%3Ed%3C/ruby%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Crtc%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%3Crb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22d%22"],"e3f1de111562f25106efad76583a3b6c0e3516ba":[async_test('html5lib_tests19.html e3f1de111562f25106efad76583a3b6c0e3516ba'), "%3C%21doctype%20html%3E%3Cmath/%3E%3Cfoo%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%3Cfoo%3E"],"84db6521d1350830f3e46b7d9676527e1b4ee9e2":[async_test('html5lib_tests19.html 84db6521d1350830f3e46b7d9676527e1b4ee9e2'), "%3C%21doctype%20html%3E%3Csvg/%3E%3Cfoo%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cfoo%3E"],"033d9b356b2a646471de009fa8a75e40500d2dd2":[async_test('html5lib_tests19.html 033d9b356b2a646471de009fa8a75e40500d2dd2'), "%3C%21doctype%20html%3E%3Cdiv%3E%3C/body%3E%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%3C%21--%20foo%20--%3E"],"0971186f913b3c7f915817d2b82c73ea6487e932":[async_test('html5lib_tests19.html 0971186f913b3c7f915817d2b82c73ea6487e932'), "%3C%21doctype%20html%3E%3Ch1%3E%3Cdiv%3E%3Ch3%3E%3Cspan%3E%3C/h1%3Efoo", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ch1%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ch3%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22"],"5257f17c3ecab5b65d74d7c27f0fd492f82ef9b9":[async_test('html5lib_tests19.html 5257f17c3ecab5b65d74d7c27f0fd492f82ef9b9'), "%3C%21doctype%20html%3E%3Cp%3E%3C/h3%3Efoo", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"b8c3379e60829428188fd57e974ea4d8a7e7ec45":[async_test('html5lib_tests19.html b8c3379e60829428188fd57e974ea4d8a7e7ec45'), "%3C%21doctype%20html%3E%3Ch3%3E%3Cli%3Eabc%3C/h2%3Efoo", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ch3%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%22foo%22"],"f9ab61cdf08301bcf02208165cc94e6bdbad746c":[async_test('html5lib_tests19.html f9ab61cdf08301bcf02208165cc94e6bdbad746c'), "%3C%21doctype%20html%3E%3Ctable%3Eabc%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22abc%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3C%21--%20foo%20--%3E"],"c6aa9952dcccdde3fc6d4ba104647f049d038e66":[async_test('html5lib_tests19.html c6aa9952dcccdde3fc6d4ba104647f049d038e66'), "%3C%21doctype%20html%3E%3Ctable%3E%20%20%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%20%20%22%0A%7C%20%20%20%20%20%20%20%3C%21--%20foo%20--%3E"],"3984cbe166b42d77ff6dadc8e1687075db7a8e65":[async_test('html5lib_tests19.html 3984cbe166b42d77ff6dadc8e1687075db7a8e65'), "%3C%21doctype%20html%3E%3Ctable%3E%20b%20%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%20b%20%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3C%21--%20foo%20--%3E"],"2d78ba34eecedf8261e9a9e3f8858baf00a0d960":[async_test('html5lib_tests19.html 2d78ba34eecedf8261e9a9e3f8858baf00a0d960'), "%3C%21doctype%20html%3E%3Cselect%3E%3Coption%3E%3Coption%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E"],"8d45a57b7093df38c88dccb1f3fba6a62c810445":[async_test('html5lib_tests19.html 8d45a57b7093df38c88dccb1f3fba6a62c810445'), "%3C%21doctype%20html%3E%3Cselect%3E%3Coption%3E%3C/optgroup%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E"],"871917ed049ff21b35e74e39de2ca1eef6863562":[async_test('html5lib_tests19.html 871917ed049ff21b35e74e39de2ca1eef6863562'), "%3C%21doctype%20html%3E%3Cdd%3E%3Coptgroup%3E%3Cdd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%3Cdd%3E"],"74ad5d3026f1b3eb6553086eb2811eed4418e334":[async_test('html5lib_tests19.html 74ad5d3026f1b3eb6553086eb2811eed4418e334'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3Cmi%3E%3Cp%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ch1%3E"],"0b1e97138c4d8e8d770f107202e46a18362fd587":[async_test('html5lib_tests19.html 0b1e97138c4d8e8d770f107202e46a18362fd587'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3Cmo%3E%3Cp%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ch1%3E"],"02624fcb7ddb77b15e9bc553d8392fc8cd031f68":[async_test('html5lib_tests19.html 02624fcb7ddb77b15e9bc553d8392fc8cd031f68'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3Cmn%3E%3Cp%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ch1%3E"],"a2579d287fd8111306e6dcd7248971a6baa4488d":[async_test('html5lib_tests19.html a2579d287fd8111306e6dcd7248971a6baa4488d'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3Cms%3E%3Cp%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20ms%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ch1%3E"],"acd1c9218828ea4367920c7a499c54de7f9a618f":[async_test('html5lib_tests19.html acd1c9218828ea4367920c7a499c54de7f9a618f'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3Cmtext%3E%3Cp%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ch1%3E"],"36a6346b03982942b4427d5089271a101ebf1605":[async_test('html5lib_tests19.html 36a6346b03982942b4427d5089271a101ebf1605'), "%3C%21doctype%20html%3E%3Cframeset%3E%3C/noframes%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"e58ed5b56f81d057c23be31e068a10e694f52adf":[async_test('html5lib_tests19.html e58ed5b56f81d057c23be31e068a10e694f52adf'), "%3C%21doctype%20html%3E%3Chtml%20c%3Dd%3E%3Cbody%3E%3C/html%3E%3Chtml%20a%3Db%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20a%3D%22b%22%0A%7C%20%20%20c%3D%22d%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"d422166b880468765f34d89075d4db9c4fcbfee9":[async_test('html5lib_tests19.html d422166b880468765f34d89075d4db9c4fcbfee9'), "%3C%21doctype%20html%3E%3Chtml%20c%3Dd%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3Chtml%20a%3Db%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20a%3D%22b%22%0A%7C%20%20%20c%3D%22d%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"fc673f5874c0cf1477554dfb733d6292cc01558b":[async_test('html5lib_tests19.html fc673f5874c0cf1477554dfb733d6292cc01558b'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3C%21--foo--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%3C%21--%20foo%20--%3E"],"0d2192c16cc224e770abff9e9e89e860aff9da78":[async_test('html5lib_tests19.html 0d2192c16cc224e770abff9e9e89e860aff9da78'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%20%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%20%20%22"],"d5941f6b68ef817d062636d0d61c24c68d0d86a2":[async_test('html5lib_tests19.html d5941f6b68ef817d062636d0d61c24c68d0d86a2'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"259a085138224e3dfe0dceded2a043e72a8b6d76":[async_test('html5lib_tests19.html 259a085138224e3dfe0dceded2a043e72a8b6d76'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3Cp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"869fff76cfe00ff33987de007ce98dc949bf8cbf":[async_test('html5lib_tests19.html 869fff76cfe00ff33987de007ce98dc949bf8cbf'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3C/p%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"c06518cdbf3816faf265644d28d93b7aee9258f7":[async_test('html5lib_tests19.html c06518cdbf3816faf265644d28d93b7aee9258f7'), "%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%3C%21doctype%20html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"2fb0cdb3a9f69ca6c3d564e01f89d7173cd51295":[async_test('html5lib_tests19.html 2fb0cdb3a9f69ca6c3d564e01f89d7173cd51295'), "%3C%21doctype%20html%3E%3Cbody%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"138623cd07ccff1ce13bb1aa5dbaaadc962c414f":[async_test('html5lib_tests19.html 138623cd07ccff1ce13bb1aa5dbaaadc962c414f'), "%3C%21doctype%20html%3E%3Cp%3E%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"52e4a8422d6ef591f33f8686842d974dbaa33302":[async_test('html5lib_tests19.html 52e4a8422d6ef591f33f8686842d974dbaa33302'), "%3C%21doctype%20html%3E%3Cp%3Ea%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22a%22"],"5ba1d0e97f121810025c1d6447a426c669661637":[async_test('html5lib_tests19.html 5ba1d0e97f121810025c1d6447a426c669661637'), "%3C%21doctype%20html%3E%3Cp%3E%20%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"709ec07924db4c9fd66d48eac08575dfdef01d8f":[async_test('html5lib_tests19.html 709ec07924db4c9fd66d48eac08575dfdef01d8f'), "%3C%21doctype%20html%3E%3Cpre%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E"],"f72edb80bc3be091e4b448cd1de8fe851d623e05":[async_test('html5lib_tests19.html f72edb80bc3be091e4b448cd1de8fe851d623e05'), "%3C%21doctype%20html%3E%3Clisting%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Clisting%3E"],"cb7de0dc7e17c1454ceaa7eb49cb9f9476a1f510":[async_test('html5lib_tests19.html cb7de0dc7e17c1454ceaa7eb49cb9f9476a1f510'), "%3C%21doctype%20html%3E%3Cli%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cli%3E"],"511bf4bae15c8119042e5e80b5358b70e7da26c1":[async_test('html5lib_tests19.html 511bf4bae15c8119042e5e80b5358b70e7da26c1'), "%3C%21doctype%20html%3E%3Cdd%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdd%3E"],"c51ee24ef9d92206318cc5bbba784630cd10e531":[async_test('html5lib_tests19.html c51ee24ef9d92206318cc5bbba784630cd10e531'), "%3C%21doctype%20html%3E%3Cdt%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdt%3E"],"819d39ae49fd04f0dfce90ac8ed2f8e423bb9329":[async_test('html5lib_tests19.html 819d39ae49fd04f0dfce90ac8ed2f8e423bb9329'), "%3C%21doctype%20html%3E%3Cbutton%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbutton%3E"],"ef6bdf5b3ba9d41d6c1c08ede60c2e7fb21c6d71":[async_test('html5lib_tests19.html ef6bdf5b3ba9d41d6c1c08ede60c2e7fb21c6d71'), "%3C%21doctype%20html%3E%3Capplet%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Capplet%3E"],"6bf9c038255c31f20d8fbeaebdf3609eb3c9ed75":[async_test('html5lib_tests19.html 6bf9c038255c31f20d8fbeaebdf3609eb3c9ed75'), "%3C%21doctype%20html%3E%3Cmarquee%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmarquee%3E"],"08983ab2a54f61b09a1df134cdaf51d321f3ef32":[async_test('html5lib_tests19.html 08983ab2a54f61b09a1df134cdaf51d321f3ef32'), "%3C%21doctype%20html%3E%3Cobject%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cobject%3E"],"2ef94ed028fa71b70540cf41f0884ae0c1cf8077":[async_test('html5lib_tests19.html 2ef94ed028fa71b70540cf41f0884ae0c1cf8077'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"5c9ed202789fb29566e0d146d155e0d672e8a037":[async_test('html5lib_tests19.html 5c9ed202789fb29566e0d146d155e0d672e8a037'), "%3C%21doctype%20html%3E%3Carea%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Carea%3E"],"7d766253cbf500df03506dfb7f2cbdd0f0f533c6":[async_test('html5lib_tests19.html 7d766253cbf500df03506dfb7f2cbdd0f0f533c6'), "%3C%21doctype%20html%3E%3Cbasefont%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cbasefont%3E%0A%7C%20%20%20%3Cframeset%3E"],"4d5629c61993ef0bb83fcbd80ccc6ead7cd776ee":[async_test('html5lib_tests19.html 4d5629c61993ef0bb83fcbd80ccc6ead7cd776ee'), "%3C%21doctype%20html%3E%3Cbgsound%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cbgsound%3E%0A%7C%20%20%20%3Cframeset%3E"],"6320d9fa3295984d3da7e4831ced75dfb97d4848":[async_test('html5lib_tests19.html 6320d9fa3295984d3da7e4831ced75dfb97d4848'), "%3C%21doctype%20html%3E%3Cbr%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbr%3E"],"bdb97868e951b7a719fa8b1afc79650bf9aae7a5":[async_test('html5lib_tests19.html bdb97868e951b7a719fa8b1afc79650bf9aae7a5'), "%3C%21doctype%20html%3E%3Cembed%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cembed%3E"],"81868cde252694a252b6b0c8d366850f8a54736c":[async_test('html5lib_tests19.html 81868cde252694a252b6b0c8d366850f8a54736c'), "%3C%21doctype%20html%3E%3Cimg%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cimg%3E"],"20651db48147f8dda189c563f5fa60bfd0913ac0":[async_test('html5lib_tests19.html 20651db48147f8dda189c563f5fa60bfd0913ac0'), "%3C%21doctype%20html%3E%3Cinput%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cinput%3E"],"d098e8a39897cd8453fc18399622e413872b054c":[async_test('html5lib_tests19.html d098e8a39897cd8453fc18399622e413872b054c'), "%3C%21doctype%20html%3E%3Ckeygen%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ckeygen%3E"],"0beb7903dcc0dbee206d8b6e729963a0461eedb3":[async_test('html5lib_tests19.html 0beb7903dcc0dbee206d8b6e729963a0461eedb3'), "%3C%21doctype%20html%3E%3Cwbr%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cwbr%3E"],"78e5cdb86bf2aecef4697d70d50499b50de5c25b":[async_test('html5lib_tests19.html 78e5cdb86bf2aecef4697d70d50499b50de5c25b'), "%3C%21doctype%20html%3E%3Chr%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Chr%3E"],"cfb1d482e5971a6915c90434f580721b772fc09b":[async_test('html5lib_tests19.html cfb1d482e5971a6915c90434f580721b772fc09b'), "%3C%21doctype%20html%3E%3Ctextarea%3E%3C/textarea%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E"],"99d8bff8bbcca1c7faa7b6e10b9ff305b9f99594":[async_test('html5lib_tests19.html 99d8bff8bbcca1c7faa7b6e10b9ff305b9f99594'), "%3C%21doctype%20html%3E%3Cxmp%3E%3C/xmp%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxmp%3E"],"daaa43db05ffe9bdd8d734a4389fb3c459caddf1":[async_test('html5lib_tests19.html daaa43db05ffe9bdd8d734a4389fb3c459caddf1'), "%3C%21doctype%20html%3E%3Ciframe%3E%3C/iframe%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E"],"b3d421e57a4135731309152d7f47e26a4866f3d6":[async_test('html5lib_tests19.html b3d421e57a4135731309152d7f47e26a4866f3d6'), "%3C%21doctype%20html%3E%3Cselect%3E%3C/select%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"aa5eac4b7a0bafdafcd52cb190a8e181ff74144c":[async_test('html5lib_tests19.html aa5eac4b7a0bafdafcd52cb190a8e181ff74144c'), "%3C%21doctype%20html%3E%3Csvg%3E%3C/svg%3E%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"91d56a57f4c8af2bce03e9974df0a80f62686fb4":[async_test('html5lib_tests19.html 91d56a57f4c8af2bce03e9974df0a80f62686fb4'), "%3C%21doctype%20html%3E%3Cmath%3E%3C/math%3E%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"9cbad5cad719a63d2eb7721de6737a346ad42da1":[async_test('html5lib_tests19.html 9cbad5cad719a63d2eb7721de6737a346ad42da1'), "%3C%21doctype%20html%3E%3Csvg%3E%3CforeignObject%3E%3Cdiv%3E%20%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"057c2e91a7e6053d39436efe2bc29049f6fa8e82":[async_test('html5lib_tests19.html 057c2e91a7e6053d39436efe2bc29049f6fa8e82'), "%3C%21doctype%20html%3E%3Csvg%3Ea%3C/svg%3E%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22a%22"],"61e6517e5e82cdaed41ab3e1f6fa927731aa0c82":[async_test('html5lib_tests19.html 61e6517e5e82cdaed41ab3e1f6fa927731aa0c82'), "%3C%21doctype%20html%3E%3Csvg%3E%20%3C/svg%3E%3Cframeset%3E%3Cframe%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3Cframe%3E"],"9274ab4f08baa52c5d7016f6062f186730cfbe6c":[async_test('html5lib_tests19.html 9274ab4f08baa52c5d7016f6062f186730cfbe6c'), "%3Chtml%3Eaaa%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22aaa%22"],"fc2fa41ebadc21653b38d70c1097bd4ac5979948":[async_test('html5lib_tests19.html fc2fa41ebadc21653b38d70c1097bd4ac5979948'), "%3Chtml%3E%20a%20%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22a%20%22"],"473303e65f26fafacbaf01c11b04d745ff293963":[async_test('html5lib_tests19.html 473303e65f26fafacbaf01c11b04d745ff293963'), "%3C%21doctype%20html%3E%3Cdiv%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"7854276e1637619f693cd87f64542c08c35d40bd":[async_test('html5lib_tests19.html 7854276e1637619f693cd87f64542c08c35d40bd'), "%3C%21doctype%20html%3E%3Cdiv%3E%3Cbody%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"a2d262d392e8d10645ce559edf401df3f3872eb3":[async_test('html5lib_tests19.html a2d262d392e8d10645ce559edf401df3f3872eb3'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3C/p%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%22a%22"],"d5e50987bf495e285e279ff8670255d9b1314f5d":[async_test('html5lib_tests19.html d5e50987bf495e285e279ff8670255d9b1314f5d'), "%3C%21doctype%20html%3E%3Cp%3E%3Cmath%3E%3Cmn%3E%3Cspan%3E%3C/p%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"be54d7506e54a127a05b115a8659a5b52fa57f6c":[async_test('html5lib_tests19.html be54d7506e54a127a05b115a8659a5b52fa57f6c'), "%3C%21doctype%20html%3E%3Cmath%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E"],"af389f1a8ef93c457560fd2445df80a6789dab0d":[async_test('html5lib_tests19.html af389f1a8ef93c457560fd2445df80a6789dab0d'), "%3C%21doctype%20html%3E%3Cmeta%20charset%3D%22ascii%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20charset%3D%22ascii%22%0A%7C%20%20%20%3Cbody%3E"],"601dfa9502942deb8bf46a91c64f10f649bc1875":[async_test('html5lib_tests19.html 601dfa9502942deb8bf46a91c64f10f649bc1875'), "%3C%21doctype%20html%3E%3Cmeta%20http-equiv%3D%22content-type%22%20content%3D%22text/html%3Bcharset%3Dascii%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20content%3D%22text/html%3Bcharset%3Dascii%22%0A%7C%20%20%20%20%20%20%20http-equiv%3D%22content-type%22%0A%7C%20%20%20%3Cbody%3E"],"4b01442faf29563d3b736d235515f77c20c81863":[async_test('html5lib_tests19.html 4b01442faf29563d3b736d235515f77c20c81863'), "%3C%21doctype%20html%3E%3Chead%3E%3C%21--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--%3E%3Cmeta%20charset%3D%22utf8%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3C%21--%20aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%20--%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20charset%3D%22utf8%22%0A%7C%20%20%20%3Cbody%3E"],"696a2b60681b0b6758f165a67e29a84b0f75a153":[async_test('html5lib_tests19.html 696a2b60681b0b6758f165a67e29a84b0f75a153'), "%3C%21doctype%20html%3E%3Chtml%20a%3Db%3E%3Chead%3E%3C/head%3E%3Chtml%20c%3Dd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20a%3D%22b%22%0A%7C%20%20%20c%3D%22d%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"7a48b98cbae5cd7cbbb90f138c0d12da6c4448b3":[async_test('html5lib_tests19.html 7a48b98cbae5cd7cbbb90f138c0d12da6c4448b3'), "%3C%21doctype%20html%3E%3Cimage/%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cimg%3E"],"d7693a0f2be68925250d3aa2cf295b1d1a60bf94":[async_test('html5lib_tests19.html d7693a0f2be68925250d3aa2cf295b1d1a60bf94'), "%3C%21doctype%20html%3Ea%3Ci%3Eb%3Ctable%3Ec%3Cb%3Ed%3C/i%3Ee%3C/b%3Ef", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22bc%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22de%22%0A%7C%20%20%20%20%20%20%20%22f%22%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"9e4d91f02184de1b1e5d927144bb06d3bc78bb09":[async_test('html5lib_tests19.html 9e4d91f02184de1b1e5d927144bb06d3bc78bb09'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ci%3Ea%3Cb%3Eb%3Cdiv%3Ec%3Ca%3Ed%3C/i%3Ee%3C/b%3Ef", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22d%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22e%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22f%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"9655591702381a52fe0eb3224e63e2d8bfd735e8":[async_test('html5lib_tests19.html 9655591702381a52fe0eb3224e63e2d8bfd735e8'), "%3C%21doctype%20html%3E%3Ci%3Ea%3Cb%3Eb%3Cdiv%3Ec%3Ca%3Ed%3C/i%3Ee%3C/b%3Ef", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22d%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22e%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22f%22"],"fe9aa1c8ec32796e26f3e58022f0e42dc365b5c7":[async_test('html5lib_tests19.html fe9aa1c8ec32796e26f3e58022f0e42dc365b5c7'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ci%3Ea%3Cb%3Eb%3Cdiv%3Ec%3C/i%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"4c9ec04359c3e94d4a56d6932d289f0c4246d1ef":[async_test('html5lib_tests19.html 4c9ec04359c3e94d4a56d6932d289f0c4246d1ef'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ci%3Ea%3Cdiv%3Eb%3Ctr%3Ec%3Cb%3Ed%3C/i%3Ee", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22d%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22e%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"3fcc2f15951b3c3375c3e359cf7888c71187994a":[async_test('html5lib_tests19.html 3fcc2f15951b3c3375c3e359cf7888c71187994a'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctd%3E%3Ctable%3E%3Ci%3Ea%3Cdiv%3Eb%3Cb%3Ec%3C/i%3Ed", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22d%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E"],"a94b35c317763de75150df6b436c7c153aeb8c51":[async_test('html5lib_tests19.html a94b35c317763de75150df6b436c7c153aeb8c51'), "%3C%21doctype%20html%3E%3Cbody%3E%3Cbgsound%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbgsound%3E"],"173b990198dd8fd9534d7808817c19440b75d406":[async_test('html5lib_tests19.html 173b990198dd8fd9534d7808817c19440b75d406'), "%3C%21doctype%20html%3E%3Cbody%3E%3Cbasefont%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbasefont%3E"],"48ed5945491d4ad0c00acfd01c2060a459436d34":[async_test('html5lib_tests19.html 48ed5945491d4ad0c00acfd01c2060a459436d34'), "%3C%21doctype%20html%3E%3Ca%3E%3Cb%3E%3C/a%3E%3Cbasefont%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cbasefont%3E"],"392b8d4d25351467da961e4ab011a1d4e970b97a":[async_test('html5lib_tests19.html 392b8d4d25351467da961e4ab011a1d4e970b97a'), "%3C%21doctype%20html%3E%3Ca%3E%3Cb%3E%3C/a%3E%3Cbgsound%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cbgsound%3E"],"bd14373173ea3617610fc8154237f59f1a810733":[async_test('html5lib_tests19.html bd14373173ea3617610fc8154237f59f1a810733'), "%3C%21doctype%20html%3E%3Cfigcaption%3E%3Carticle%3E%3C/figcaption%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfigcaption%3E%0A%7C%20%20%20%20%20%20%20%3Carticle%3E%0A%7C%20%20%20%20%20%22a%22"],"db3c4ddb389a2b8f42ca6b3719007d4de2eccc41":[async_test('html5lib_tests19.html db3c4ddb389a2b8f42ca6b3719007d4de2eccc41'), "%3C%21doctype%20html%3E%3Csummary%3E%3Carticle%3E%3C/summary%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csummary%3E%0A%7C%20%20%20%20%20%20%20%3Carticle%3E%0A%7C%20%20%20%20%20%22a%22"],"c1741a62627b2e5bb1cfa2b2cd667f3f9f76157e":[async_test('html5lib_tests19.html c1741a62627b2e5bb1cfa2b2cd667f3f9f76157e'), "%3C%21doctype%20html%3E%3Cp%3E%3Ca%3E%3Cplaintext%3Eb", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22b%22"],"0d6cf626790e9f06e30ceb6baf3004663b0247e7":[async_test('html5lib_tests19.html 0d6cf626790e9f06e30ceb6baf3004663b0247e7'), "%3C%21DOCTYPE%20html%3E%3Cdiv%3Ea%3Ca%3E%3C/div%3Eb%3Cp%3Ec%3C/p%3Ed", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%22b%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22c%22%0A%7C%20%20%20%20%20%20%20%22d%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests2.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests2.html
new file mode 100644
index 0000000000..eddf34c2ff
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests2.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests2.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['e070301fb578bd639ecbc7ec720fa60222d05826','aaf24dabcb42470e447d241a40def0d136c12b93','b6c1142484570bb90c36e454ee193cca17bb618a','1977644a94de1a04245dfef3f3db69c7ac41aa6f','fb0d7207ed9fbc3fe5d1e0f85ad18c247dfb05a3','d662798ca6dd95a205069658396d0f3d78237233','1ec72d53c4c68f9ca56f037ec53a7dc261886131','2d58ae67534b42e52e34c6b2a275fcb30a878008','14836de42a7fb86b75fef03f08823f90d389b7f3','8ced679aed45a123b97a574f24fba909b65f94dd','932ff3ff2c75f7b28ef562dfa9c7cb208f0712d4','c863d867f843bd66c5303db1634931a36afd3ea9','2221f89de75008a31506b22756a5499bc6bda9bd','7471f6a45872ac6d70f69fc3f4e10b13c7c1ac45','47b9eaef1b5aad0e3963a8d415236fed12702d65','decb4ad6eac317f262b4b87c86b33d2d9d700e75','ffcb1856faa7e09cc892c0f5a4d3353716830784','a259db8ee062d858027148f92811ba0f5796e4b9','bf369032d1e6ebb52ab133e4c4b8c2e872349843','73b97cd984a62703ec54ec4a876ec32aa5fd3b8c','2db9616ed62fc2a26056f3395459869cf556974d','b59aa1c714892618eaccd51696658887fcbd2045','98818e7fda2506603bd208662613edb40297c2d3','e0c43080cf61c0696031bdb097bea4f2a647cfc2','f7753d80a422c40b5fa04d99e52d8ae83369757a','7cbd584aef9508a90c98f80040078149a92ec869','e0f7f130b1e3653dd06f10f3492e4f0bf4cd3cfa','4fb9b13eeb5d8a201884c572764a70477822f2d4','7ec82c93064966931ce76618a0cce4f275aafdaf','a8fb1cffc8683f0c47fdf9963e0d52c627343ff0','8dc47e70b94f2bea514ceaa51153ec1beeeda7ef','571719c0f9e1dae32ef993917b02c57f698be3d9','7f3afa5785d4b7ea37f8bae17226528f2a30e818','37918d1876724d3a8980920cf4cf2cbef2c3ac06','5da4e202a8962cacf567ce864873ddbff73f8217','4ca566310edc49450571677e8ef195883919ec2f','8a559c045c3a880e555d31de4dd3aa0b06930b73','3067a820b0195f9c08b8d0fe1dd7f8d800e10779','e1011849d36ebf9d1577c53d940a75c462dcb1e7','c9938e14b139e9c2af300bacd38f2f3cfca3fe58','0582a2e2c0eb00e0ba60b280187006c5e7de6991','478db7eafb3ac4a6abb8dbe083664c8d3ada35d8','c6abe422542794d7e8196d73283e562c309fe2e3','9fd0577023d0eb3662569333f5f231090439a217','54033c6b90b549fabfc15ad346ce9b985fa45fdc','0c917166dc089cb23a100af2f07cbf95f164533a','60f3ef7971b3259c3d800da672d886b2db778276','341bdf232d96b774988ee3163c953f2581752335','84570bfd25f23f0f40e31ba0c6a08906a2676b6d','4dbef924230e654860aa288a28f6304a062b3faf','2e8a5d6aa8cb0011b6caa08a44cd8871e4b15b71','06e43760aeadae330ad5ba80c4b93952ba568b29','4e58f3f3c581dec50f939a660fd5b5828396dac4','693974a6cb0defd3e0b2d63b31d420f39c83d262','3e03ddf29af0af9c9ece091251f0c1c5e08a5e41','9a5211623fcdd9fc3ad2ea4addc608d7c2574b90','39f31f0fbfcc91157104d64ca081d4271bc7e838','86d793db69ce071e78a18c85f8345316f09e1790','182036d2ef28f86873aee09b15125c828179c1b4','2a818d5fd74c60ac2bb369fb2355b84edab31777','9f88d21c8b77696f7238064a4ee87931cc16a03f','1d00919bf0b2493dfee7422a24acee9026de5fff','0c48a9e7584ede9d13d606057202883c5cff3eab',];
+ var tests = {
+ "e070301fb578bd639ecbc7ec720fa60222d05826":[async_test('html5lib_tests2.html e070301fb578bd639ecbc7ec720fa60222d05826'), "%3C%21DOCTYPE%20html%3ETest", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Test%22"],"aaf24dabcb42470e447d241a40def0d136c12b93":[async_test('html5lib_tests2.html aaf24dabcb42470e447d241a40def0d136c12b93'), "%3Ctextarea%3Etest%3C/div%3Etest", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22test%3C/div%3Etest%22"],"b6c1142484570bb90c36e454ee193cca17bb618a":[async_test('html5lib_tests2.html b6c1142484570bb90c36e454ee193cca17bb618a'), "%3Ctable%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"1977644a94de1a04245dfef3f3db69c7ac41aa6f":[async_test('html5lib_tests2.html 1977644a94de1a04245dfef3f3db69c7ac41aa6f'), "%3Ctable%3E%3Ctd%3Etest%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22test%22"],"fb0d7207ed9fbc3fe5d1e0f85ad18c247dfb05a3":[async_test('html5lib_tests2.html fb0d7207ed9fbc3fe5d1e0f85ad18c247dfb05a3'), "%3Cframe%3Etest", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22test%22"],"d662798ca6dd95a205069658396d0f3d78237233":[async_test('html5lib_tests2.html d662798ca6dd95a205069658396d0f3d78237233'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3Etest", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"1ec72d53c4c68f9ca56f037ec53a7dc261886131":[async_test('html5lib_tests2.html 1ec72d53c4c68f9ca56f037ec53a7dc261886131'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%20te%20st", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%22%20%20%22"],"2d58ae67534b42e52e34c6b2a275fcb30a878008":[async_test('html5lib_tests2.html 2d58ae67534b42e52e34c6b2a275fcb30a878008'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%3C/frameset%3E%20te%20st", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%20%20%22"],"14836de42a7fb86b75fef03f08823f90d389b7f3":[async_test('html5lib_tests2.html 14836de42a7fb86b75fef03f08823f90d389b7f3'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"8ced679aed45a123b97a574f24fba909b65f94dd":[async_test('html5lib_tests2.html 8ced679aed45a123b97a574f24fba909b65f94dd'), "%3C%21DOCTYPE%20html%3E%3Cfont%3E%3Cp%3E%3Cb%3Etest%3C/font%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22test%22"],"932ff3ff2c75f7b28ef562dfa9c7cb208f0712d4":[async_test('html5lib_tests2.html 932ff3ff2c75f7b28ef562dfa9c7cb208f0712d4'), "%3C%21DOCTYPE%20html%3E%3Cdt%3E%3Cdiv%3E%3Cdd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdt%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%3Cdd%3E"],"c863d867f843bd66c5303db1634931a36afd3ea9":[async_test('html5lib_tests2.html c863d867f843bd66c5303db1634931a36afd3ea9'), "%3Cscript%3E%3C/x", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C/x%22%0A%7C%20%20%20%3Cbody%3E"],"2221f89de75008a31506b22756a5499bc6bda9bd":[async_test('html5lib_tests2.html 2221f89de75008a31506b22756a5499bc6bda9bd'), "%3Ctable%3E%3Cplaintext%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3Ctd%3E%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"7471f6a45872ac6d70f69fc3f4e10b13c7c1ac45":[async_test('html5lib_tests2.html 7471f6a45872ac6d70f69fc3f4e10b13c7c1ac45'), "%3Cplaintext%3E%3C/plaintext%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3C/plaintext%3E%22"],"47b9eaef1b5aad0e3963a8d415236fed12702d65":[async_test('html5lib_tests2.html 47b9eaef1b5aad0e3963a8d415236fed12702d65'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ctr%3ETEST", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22TEST%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"decb4ad6eac317f262b4b87c86b33d2d9d700e75":[async_test('html5lib_tests2.html decb4ad6eac317f262b4b87c86b33d2d9d700e75'), "%3C%21DOCTYPE%20html%3E%3Cbody%20t1%3D1%3E%3Cbody%20t2%3D2%3E%3Cbody%20t3%3D3%20t4%3D4%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20t1%3D%221%22%0A%7C%20%20%20%20%20t2%3D%222%22%0A%7C%20%20%20%20%20t3%3D%223%22%0A%7C%20%20%20%20%20t4%3D%224%22"],"ffcb1856faa7e09cc892c0f5a4d3353716830784":[async_test('html5lib_tests2.html ffcb1856faa7e09cc892c0f5a4d3353716830784'), "%3C/b%20test", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"a259db8ee062d858027148f92811ba0f5796e4b9":[async_test('html5lib_tests2.html a259db8ee062d858027148f92811ba0f5796e4b9'), "%3C%21DOCTYPE%20html%3E%3C/b%20test%3Cb%20%26%3D%26amp%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"bf369032d1e6ebb52ab133e4c4b8c2e872349843":[async_test('html5lib_tests2.html bf369032d1e6ebb52ab133e4c4b8c2e872349843'), "%3C%21doctypehtml%3E%3CscrIPt%20type%3Dtext/x-foobar%3Bbaz%3EX%3C/SCRipt", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20type%3D%22text/x-foobar%3Bbaz%22%0A%7C%20%20%20%20%20%20%20%22X%3C/SCRipt%22%0A%7C%20%20%20%3Cbody%3E"],"73b97cd984a62703ec54ec4a876ec32aa5fd3b8c":[async_test('html5lib_tests2.html 73b97cd984a62703ec54ec4a876ec32aa5fd3b8c'), "%26", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26%22"],"2db9616ed62fc2a26056f3395459869cf556974d":[async_test('html5lib_tests2.html 2db9616ed62fc2a26056f3395459869cf556974d'), "%26%23", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26%23%22"],"b59aa1c714892618eaccd51696658887fcbd2045":[async_test('html5lib_tests2.html b59aa1c714892618eaccd51696658887fcbd2045'), "%26%23X", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26%23X%22"],"98818e7fda2506603bd208662613edb40297c2d3":[async_test('html5lib_tests2.html 98818e7fda2506603bd208662613edb40297c2d3'), "%26%23x", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26%23x%22"],"e0c43080cf61c0696031bdb097bea4f2a647cfc2":[async_test('html5lib_tests2.html e0c43080cf61c0696031bdb097bea4f2a647cfc2'), "%26%2345", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22-%22"],"f7753d80a422c40b5fa04d99e52d8ae83369757a":[async_test('html5lib_tests2.html f7753d80a422c40b5fa04d99e52d8ae83369757a'), "%26x-test", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26x-test%22"],"7cbd584aef9508a90c98f80040078149a92ec869":[async_test('html5lib_tests2.html 7cbd584aef9508a90c98f80040078149a92ec869'), "%3C%21doctypehtml%3E%3Cp%3E%3Cli%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cli%3E"],"e0f7f130b1e3653dd06f10f3492e4f0bf4cd3cfa":[async_test('html5lib_tests2.html e0f7f130b1e3653dd06f10f3492e4f0bf4cd3cfa'), "%3C%21doctypehtml%3E%3Cp%3E%3Cdt%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cdt%3E"],"4fb9b13eeb5d8a201884c572764a70477822f2d4":[async_test('html5lib_tests2.html 4fb9b13eeb5d8a201884c572764a70477822f2d4'), "%3C%21doctypehtml%3E%3Cp%3E%3Cdd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cdd%3E"],"7ec82c93064966931ce76618a0cce4f275aafdaf":[async_test('html5lib_tests2.html 7ec82c93064966931ce76618a0cce4f275aafdaf'), "%3C%21doctypehtml%3E%3Cp%3E%3Cform%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cform%3E"],"a8fb1cffc8683f0c47fdf9963e0d52c627343ff0":[async_test('html5lib_tests2.html a8fb1cffc8683f0c47fdf9963e0d52c627343ff0'), "%3C%21DOCTYPE%20html%3E%3Cp%3E%3C/P%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%22X%22"],"8dc47e70b94f2bea514ceaa51153ec1beeeda7ef":[async_test('html5lib_tests2.html 8dc47e70b94f2bea514ceaa51153ec1beeeda7ef'), "%26AMP", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26%22"],"571719c0f9e1dae32ef993917b02c57f698be3d9":[async_test('html5lib_tests2.html 571719c0f9e1dae32ef993917b02c57f698be3d9'), "%26AMp%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%26AMp%3B%22"],"7f3afa5785d4b7ea37f8bae17226528f2a30e818":[async_test('html5lib_tests2.html 7f3afa5785d4b7ea37f8bae17226528f2a30e818'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3CthisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cthisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly%3E"],"37918d1876724d3a8980920cf4cf2cbef2c3ac06":[async_test('html5lib_tests2.html 37918d1876724d3a8980920cf4cf2cbef2c3ac06'), "%3C%21DOCTYPE%20html%3EX%3C/body%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22XX%22"],"5da4e202a8962cacf567ce864873ddbff73f8217":[async_test('html5lib_tests2.html 5da4e202a8962cacf567ce864873ddbff73f8217'), "%3C%21DOCTYPE%20html%3E%3C%21--%20X", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3C%21--%20%20X%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"4ca566310edc49450571677e8ef195883919ec2f":[async_test('html5lib_tests2.html 4ca566310edc49450571677e8ef195883919ec2f'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ccaption%3Etest%20TEST%3C/caption%3E%3Ctd%3Etest", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%22test%20TEST%22%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22test%22"],"8a559c045c3a880e555d31de4dd3aa0b06930b73":[async_test('html5lib_tests2.html 8a559c045c3a880e555d31de4dd3aa0b06930b73'), "%3C%21DOCTYPE%20html%3E%3Cselect%3E%3Coption%3E%3Coptgroup%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E"],"3067a820b0195f9c08b8d0fe1dd7f8d800e10779":[async_test('html5lib_tests2.html 3067a820b0195f9c08b8d0fe1dd7f8d800e10779'), "%3C%21DOCTYPE%20html%3E%3Cselect%3E%3Coptgroup%3E%3Coption%3E%3C/optgroup%3E%3Coption%3E%3Cselect%3E%3Coption%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%3Coption%3E"],"e1011849d36ebf9d1577c53d940a75c462dcb1e7":[async_test('html5lib_tests2.html e1011849d36ebf9d1577c53d940a75c462dcb1e7'), "%3C%21DOCTYPE%20html%3E%3Cselect%3E%3Coptgroup%3E%3Coption%3E%3Coptgroup%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E"],"c9938e14b139e9c2af300bacd38f2f3cfca3fe58":[async_test('html5lib_tests2.html c9938e14b139e9c2af300bacd38f2f3cfca3fe58'), "%3C%21DOCTYPE%20html%3E%3Cdatalist%3E%3Coption%3Efoo%3C/datalist%3Ebar", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdatalist%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%22bar%22"],"0582a2e2c0eb00e0ba60b280187006c5e7de6991":[async_test('html5lib_tests2.html 0582a2e2c0eb00e0ba60b280187006c5e7de6991'), "%3C%21DOCTYPE%20html%3E%3Cfont%3E%3Cinput%3E%3Cinput%3E%3C/font%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E"],"478db7eafb3ac4a6abb8dbe083664c8d3ada35d8":[async_test('html5lib_tests2.html 478db7eafb3ac4a6abb8dbe083664c8d3ada35d8'), "%3C%21DOCTYPE%20html%3E%3C%21--%20XXX%20-%20XXX%20--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3C%21--%20%20XXX%20-%20XXX%20%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"c6abe422542794d7e8196d73283e562c309fe2e3":[async_test('html5lib_tests2.html c6abe422542794d7e8196d73283e562c309fe2e3'), "%3C%21DOCTYPE%20html%3E%3C%21--%20XXX%20-%20XXX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3C%21--%20%20XXX%20-%20XXX%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"9fd0577023d0eb3662569333f5f231090439a217":[async_test('html5lib_tests2.html 9fd0577023d0eb3662569333f5f231090439a217'), "%3C%21DOCTYPE%20html%3E%3C%21--%20XXX%20-%20XXX%20-%20XXX%20--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3C%21--%20%20XXX%20-%20XXX%20-%20XXX%20%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"54033c6b90b549fabfc15ad346ce9b985fa45fdc":[async_test('html5lib_tests2.html 54033c6b90b549fabfc15ad346ce9b985fa45fdc'), "%3C%21DOCTYPE%20html%3E%20%3C%21DOCTYPE%20html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"0c917166dc089cb23a100af2f07cbf95f164533a":[async_test('html5lib_tests2.html 0c917166dc089cb23a100af2f07cbf95f164533a'), "test%0Atest", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22test%0Atest%22"],"60f3ef7971b3259c3d800da672d886b2db778276":[async_test('html5lib_tests2.html 60f3ef7971b3259c3d800da672d886b2db778276'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctitle%3Etest%3C/body%3E%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22test%3C/body%3E%22"],"341bdf232d96b774988ee3163c953f2581752335":[async_test('html5lib_tests2.html 341bdf232d96b774988ee3163c953f2581752335'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctitle%3EX%3C/title%3E%3Cmeta%20name%3Dz%3E%3Clink%20rel%3Dfoo%3E%3Cstyle%3E%0Ax%20%7B%20content%3A%22%3C/style%22%20%7D%20%3C/style%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20name%3D%22z%22%0A%7C%20%20%20%20%20%3Clink%3E%0A%7C%20%20%20%20%20%20%20rel%3D%22foo%22%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%0Ax%20%7B%20content%3A%22%3C/style%22%20%7D%20%22"],"84570bfd25f23f0f40e31ba0c6a08906a2676b6d":[async_test('html5lib_tests2.html 84570bfd25f23f0f40e31ba0c6a08906a2676b6d'), "%3C%21DOCTYPE%20html%3E%3Cselect%3E%3Coptgroup%3E%3C/optgroup%3E%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E"],"4dbef924230e654860aa288a28f6304a062b3faf":[async_test('html5lib_tests2.html 4dbef924230e654860aa288a28f6304a062b3faf'), "%20%0A%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"2e8a5d6aa8cb0011b6caa08a44cd8871e4b15b71":[async_test('html5lib_tests2.html 2e8a5d6aa8cb0011b6caa08a44cd8871e4b15b71'), "%3C%21DOCTYPE%20html%3E%20%20%3Chtml%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"06e43760aeadae330ad5ba80c4b93952ba568b29":[async_test('html5lib_tests2.html 06e43760aeadae330ad5ba80c4b93952ba568b29'), "%3C%21DOCTYPE%20html%3E%3Cscript%3E%0A%3C/script%3E%20%20%3Ctitle%3Ex%3C/title%3E%20%20%3C/head%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%22%20%20%22%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%22%20%20%22%0A%7C%20%20%20%3Cbody%3E"],"4e58f3f3c581dec50f939a660fd5b5828396dac4":[async_test('html5lib_tests2.html 4e58f3f3c581dec50f939a660fd5b5828396dac4'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Cbody%3E%3Chtml%20id%3Dx%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20id%3D%22x%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"693974a6cb0defd3e0b2d63b31d420f39c83d262":[async_test('html5lib_tests2.html 693974a6cb0defd3e0b2d63b31d420f39c83d262'), "%3C%21DOCTYPE%20html%3EX%3C/body%3E%3Chtml%20id%3D%22x%22%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20id%3D%22x%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"3e03ddf29af0af9c9ece091251f0c1c5e08a5e41":[async_test('html5lib_tests2.html 3e03ddf29af0af9c9ece091251f0c1c5e08a5e41'), "%3C%21DOCTYPE%20html%3E%3Chead%3E%3Chtml%20id%3Dx%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20id%3D%22x%22%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"9a5211623fcdd9fc3ad2ea4addc608d7c2574b90":[async_test('html5lib_tests2.html 9a5211623fcdd9fc3ad2ea4addc608d7c2574b90'), "%3C%21DOCTYPE%20html%3EX%3C/html%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22XX%22"],"39f31f0fbfcc91157104d64ca081d4271bc7e838":[async_test('html5lib_tests2.html 39f31f0fbfcc91157104d64ca081d4271bc7e838'), "%3C%21DOCTYPE%20html%3EX%3C/html%3E%20", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%20%22"],"86d793db69ce071e78a18c85f8345316f09e1790":[async_test('html5lib_tests2.html 86d793db69ce071e78a18c85f8345316f09e1790'), "%3C%21DOCTYPE%20html%3EX%3C/html%3E%3Cp%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"182036d2ef28f86873aee09b15125c828179c1b4":[async_test('html5lib_tests2.html 182036d2ef28f86873aee09b15125c828179c1b4'), "%3C%21DOCTYPE%20html%3EX%3Cp/x/y/z%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20x%3D%22%22%0A%7C%20%20%20%20%20%20%20y%3D%22%22%0A%7C%20%20%20%20%20%20%20z%3D%22%22"],"2a818d5fd74c60ac2bb369fb2355b84edab31777":[async_test('html5lib_tests2.html 2a818d5fd74c60ac2bb369fb2355b84edab31777'), "%3C%21DOCTYPE%20html%3E%3C%21--x--", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3C%21--%20x%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"9f88d21c8b77696f7238064a4ee87931cc16a03f":[async_test('html5lib_tests2.html 9f88d21c8b77696f7238064a4ee87931cc16a03f'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3C/p%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E"],"1d00919bf0b2493dfee7422a24acee9026de5fff":[async_test('html5lib_tests2.html 1d00919bf0b2493dfee7422a24acee9026de5fff'), "%3C%21DOCTYPE%20%3C%21DOCTYPE%20HTML%3E%3E%3C%21--%3C%21--x--%3E--%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20%3C%21doctype%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%3E%22%0A%7C%20%20%20%20%20%3C%21--%20%3C%21--x%20--%3E%0A%7C%20%20%20%20%20%22--%3E%22"],"0c48a9e7584ede9d13d606057202883c5cff3eab":[async_test('html5lib_tests2.html 0c48a9e7584ede9d13d606057202883c5cff3eab'), "%3C%21doctype%20html%3E%3Cdiv%3E%3Cform%3E%3C/form%3E%3Cdiv%3E%3C/div%3E%3C/div%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests20.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests20.html
new file mode 100644
index 0000000000..1bda41f46b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests20.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests20.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['cbb5f28bedf4361156ef3c9c37e314c6479be137','e108a4952601b4664098344189c875934ea2f7ab','1ba644a7934a55e4303effe43cae1517ee723e13','8999351d1342a9bcf670dc27eb52aa786d916916','8ecd0d9e2580f78ff920821bd334bd8d04d165e5','e6bf9f94617ae9cb7b663b2c9123a37730600e7f','c5c9728bb5634f47780efefa09f79419db4257c0','5bb84e30031c925aed6eabca8c477d547d522dbb','f1b6f41fa8856b408c3c398b420cbdc40cda555e','d5ea955e51df6ee9c7801d28dfcd85402b8fa710','27f2f34d4101ac4877edf0be8c4065e240aef15c','dcb10e242981a00dc3f6f874ec33318d6f532fff','49781179c56e3e0d4891dfff219a0beda3b86d24','86ac23e2828bb147966ee06690f6051345ce312c','b4eda259a29352b6f8f9cd989e1a0e881793814e','af0e7b907c6791a73f00b4421fa7fe7df6fe07ee','29c71813f1cd5f1ee092548211c8ffaf2d04b4a9','92547b083c29d3ea0ba5304953d254c357bcf11a','ff10749b8b1aca1fba5d07ba86f49612be43caf9','67bcf2e6d67c89c4d5d9c605faa6e5b03e77693f','1e284d72f2de23e31280a0df936043340597d3d0','323a6d9f8d2f74e7e5b88599a87dc5673fb7a0b4','2dd72ef48808b29f998fdd3df6ce7ce18b8753e4','c9e061e2d34063857d7332c66ff0d26beb2aced7','bae8a941fceb91845187cb545c8e02b03af5570d','bb36fb89d118b55c66f17b24ffff0ca09ccc939b','3fed75e1a7f46a6e2a74a078bfd955e7de05de4f','8cb9d8f92ba130618646d6fd1f307ca73f4e4add','2b9e6cb75876b4a33b77ae4b1bd3ef5e73c4a40e','f95c6bf3f935fad9fc354f4cf6e0161d6ebfb08a','0b07b135bf8399742cc9e6f3d14b2ea32e3354d3','076d3588e85ce9566d9575d1564e72e8480fadc8','dfad8fc515d74c19bad1ab72e7a03d59a11c7778','7ff774f225899091d6d64e5512ada13ce32dd72a','2fd8cab5e3cc4635be76e2d430ad6fe6e79b8167','c7399a2e531694b47b436bd153823f60bba9071e','bc4092e0e1aaa4b97464005963345b4b38e1f2a1','d85e49fc5be07a699f3930464996d7ddb6a8e8bd','09cf43bae3a4d875da56c67a46cf79102b20b456','f10ab9901d14c36846c9e6848abce19877f83094','aa2a707a627408758a0ee845896ef088d6136013','bb0737ce6cdbbcc055771e2400afda545d58778f','454bb6d0471536f7b91793ddbc786761b5733902','3c8ff013bf2e80392671760c8d444730b1923c0a','9a4f0cd0bdc672beb1c1c821599a11fc8a3d139d','f5ca3a789b7451da3e6030443aee6fae734fc7a1','ca8826661175c3a1ff7c6f1ebbfe646b238deb75','9e30ae7bbd1193deb0d3599c071960d395ca01f7','4417ddedee8e753fd6e911192458168d3b77d1e8','2de333e449ca13c462832e799e13795e2cf6e3e4','23d4d0aee62db4adc7381010d80776270a6db47b','5463426618ff46188d19595aa1c7fdd86c6909b3','2649b566bd2bccc59813286d647269ad251e2fdf','5df7907b99976e4051d1dd433e2bdbeb4ce200e3','a7e70930137ff8338778253ac93dc66f11eef966','b92100bddc318e13996fbe96c087c35152cbb4e3','f55b68de8cf9ec17e0512a6caae94e0fbf151260','7fb0d4342e3ed3fabee650b83ce66ffb2f66c173','72a6100cd60dd49f780168137ed09e27a8090b34','09ee3f414d08c8a3923e7c72380868617d1a4554','3b854aa3549b6f5cac96176766fccd25c965b5fe','bbc36dce52efacdede3cf4d94582ace2a3fca9fc','d4b924764bf49ceb39aa4f63dc81b7c05bbda84d','19a6c1a25813323193c67a54904a41e389918f48',];
+ var tests = {
+ "cbb5f28bedf4361156ef3c9c37e314c6479be137":[async_test('html5lib_tests20.html cbb5f28bedf4361156ef3c9c37e314c6479be137'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cbutton%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E"],"e108a4952601b4664098344189c875934ea2f7ab":[async_test('html5lib_tests20.html e108a4952601b4664098344189c875934ea2f7ab'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Caddress%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Caddress%3E"],"1ba644a7934a55e4303effe43cae1517ee723e13":[async_test('html5lib_tests20.html 1ba644a7934a55e4303effe43cae1517ee723e13'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Carticle%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Carticle%3E"],"8999351d1342a9bcf670dc27eb52aa786d916916":[async_test('html5lib_tests20.html 8999351d1342a9bcf670dc27eb52aa786d916916'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Caside%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Caside%3E"],"8ecd0d9e2580f78ff920821bd334bd8d04d165e5":[async_test('html5lib_tests20.html 8ecd0d9e2580f78ff920821bd334bd8d04d165e5'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cblockquote%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cblockquote%3E"],"e6bf9f94617ae9cb7b663b2c9123a37730600e7f":[async_test('html5lib_tests20.html e6bf9f94617ae9cb7b663b2c9123a37730600e7f'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Ccenter%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccenter%3E"],"c5c9728bb5634f47780efefa09f79419db4257c0":[async_test('html5lib_tests20.html c5c9728bb5634f47780efefa09f79419db4257c0'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdetails%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdetails%3E"],"5bb84e30031c925aed6eabca8c477d547d522dbb":[async_test('html5lib_tests20.html 5bb84e30031c925aed6eabca8c477d547d522dbb'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdialog%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdialog%3E"],"f1b6f41fa8856b408c3c398b420cbdc40cda555e":[async_test('html5lib_tests20.html f1b6f41fa8856b408c3c398b420cbdc40cda555e'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdir%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdir%3E"],"d5ea955e51df6ee9c7801d28dfcd85402b8fa710":[async_test('html5lib_tests20.html d5ea955e51df6ee9c7801d28dfcd85402b8fa710'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdiv%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"27f2f34d4101ac4877edf0be8c4065e240aef15c":[async_test('html5lib_tests20.html 27f2f34d4101ac4877edf0be8c4065e240aef15c'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdl%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdl%3E"],"dcb10e242981a00dc3f6f874ec33318d6f532fff":[async_test('html5lib_tests20.html dcb10e242981a00dc3f6f874ec33318d6f532fff'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cfieldset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfieldset%3E"],"49781179c56e3e0d4891dfff219a0beda3b86d24":[async_test('html5lib_tests20.html 49781179c56e3e0d4891dfff219a0beda3b86d24'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cfigcaption%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfigcaption%3E"],"86ac23e2828bb147966ee06690f6051345ce312c":[async_test('html5lib_tests20.html 86ac23e2828bb147966ee06690f6051345ce312c'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cfigure%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfigure%3E"],"b4eda259a29352b6f8f9cd989e1a0e881793814e":[async_test('html5lib_tests20.html b4eda259a29352b6f8f9cd989e1a0e881793814e'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cfooter%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfooter%3E"],"af0e7b907c6791a73f00b4421fa7fe7df6fe07ee":[async_test('html5lib_tests20.html af0e7b907c6791a73f00b4421fa7fe7df6fe07ee'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cheader%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cheader%3E"],"29c71813f1cd5f1ee092548211c8ffaf2d04b4a9":[async_test('html5lib_tests20.html 29c71813f1cd5f1ee092548211c8ffaf2d04b4a9'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Chgroup%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Chgroup%3E"],"92547b083c29d3ea0ba5304953d254c357bcf11a":[async_test('html5lib_tests20.html 92547b083c29d3ea0ba5304953d254c357bcf11a'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cmain%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmain%3E"],"ff10749b8b1aca1fba5d07ba86f49612be43caf9":[async_test('html5lib_tests20.html ff10749b8b1aca1fba5d07ba86f49612be43caf9'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cmenu%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmenu%3E"],"67bcf2e6d67c89c4d5d9c605faa6e5b03e77693f":[async_test('html5lib_tests20.html 67bcf2e6d67c89c4d5d9c605faa6e5b03e77693f'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cnav%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnav%3E"],"1e284d72f2de23e31280a0df936043340597d3d0":[async_test('html5lib_tests20.html 1e284d72f2de23e31280a0df936043340597d3d0'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Col%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Col%3E"],"323a6d9f8d2f74e7e5b88599a87dc5673fb7a0b4":[async_test('html5lib_tests20.html 323a6d9f8d2f74e7e5b88599a87dc5673fb7a0b4'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E"],"2dd72ef48808b29f998fdd3df6ce7ce18b8753e4":[async_test('html5lib_tests20.html 2dd72ef48808b29f998fdd3df6ce7ce18b8753e4'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Csearch%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csearch%3E"],"c9e061e2d34063857d7332c66ff0d26beb2aced7":[async_test('html5lib_tests20.html c9e061e2d34063857d7332c66ff0d26beb2aced7'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Csection%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csection%3E"],"bae8a941fceb91845187cb545c8e02b03af5570d":[async_test('html5lib_tests20.html bae8a941fceb91845187cb545c8e02b03af5570d'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Csummary%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csummary%3E"],"bb36fb89d118b55c66f17b24ffff0ca09ccc939b":[async_test('html5lib_tests20.html bb36fb89d118b55c66f17b24ffff0ca09ccc939b'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cul%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cul%3E"],"3fed75e1a7f46a6e2a74a078bfd955e7de05de4f":[async_test('html5lib_tests20.html 3fed75e1a7f46a6e2a74a078bfd955e7de05de4f'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Ch1%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ch1%3E"],"8cb9d8f92ba130618646d6fd1f307ca73f4e4add":[async_test('html5lib_tests20.html 8cb9d8f92ba130618646d6fd1f307ca73f4e4add'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Ch6%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ch6%3E"],"2b9e6cb75876b4a33b77ae4b1bd3ef5e73c4a40e":[async_test('html5lib_tests20.html 2b9e6cb75876b4a33b77ae4b1bd3ef5e73c4a40e'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Clisting%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Clisting%3E"],"f95c6bf3f935fad9fc354f4cf6e0161d6ebfb08a":[async_test('html5lib_tests20.html f95c6bf3f935fad9fc354f4cf6e0161d6ebfb08a'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cpre%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cpre%3E"],"0b07b135bf8399742cc9e6f3d14b2ea32e3354d3":[async_test('html5lib_tests20.html 0b07b135bf8399742cc9e6f3d14b2ea32e3354d3'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cform%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cform%3E"],"076d3588e85ce9566d9575d1564e72e8480fadc8":[async_test('html5lib_tests20.html 076d3588e85ce9566d9575d1564e72e8480fadc8'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cli%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cli%3E"],"dfad8fc515d74c19bad1ab72e7a03d59a11c7778":[async_test('html5lib_tests20.html dfad8fc515d74c19bad1ab72e7a03d59a11c7778'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdd%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdd%3E"],"7ff774f225899091d6d64e5512ada13ce32dd72a":[async_test('html5lib_tests20.html 7ff774f225899091d6d64e5512ada13ce32dd72a'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cdt%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdt%3E"],"2fd8cab5e3cc4635be76e2d430ad6fe6e79b8167":[async_test('html5lib_tests20.html 2fd8cab5e3cc4635be76e2d430ad6fe6e79b8167'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cplaintext%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cplaintext%3E"],"c7399a2e531694b47b436bd153823f60bba9071e":[async_test('html5lib_tests20.html c7399a2e531694b47b436bd153823f60bba9071e'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Ctable%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctable%3E"],"bc4092e0e1aaa4b97464005963345b4b38e1f2a1":[async_test('html5lib_tests20.html bc4092e0e1aaa4b97464005963345b4b38e1f2a1'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Chr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Chr%3E"],"d85e49fc5be07a699f3930464996d7ddb6a8e8bd":[async_test('html5lib_tests20.html d85e49fc5be07a699f3930464996d7ddb6a8e8bd'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3Cxmp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cxmp%3E"],"09cf43bae3a4d875da56c67a46cf79102b20b456":[async_test('html5lib_tests20.html 09cf43bae3a4d875da56c67a46cf79102b20b456'), "%3C%21doctype%20html%3E%3Cp%3E%3Cbutton%3E%3C/p%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E"],"f10ab9901d14c36846c9e6848abce19877f83094":[async_test('html5lib_tests20.html f10ab9901d14c36846c9e6848abce19877f83094'), "%3C%21doctype%20html%3E%3Cbutton%3E%3Cp%3E%3C/button%3Ex", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%22x%22"],"aa2a707a627408758a0ee845896ef088d6136013":[async_test('html5lib_tests20.html aa2a707a627408758a0ee845896ef088d6136013'), "%3C%21doctype%20html%3E%3Caddress%3E%3Cbutton%3E%3C/address%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Caddress%3E%0A%7C%20%20%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%22a%22"],"bb0737ce6cdbbcc055771e2400afda545d58778f":[async_test('html5lib_tests20.html bb0737ce6cdbbcc055771e2400afda545d58778f'), "%3Cp%3E%3Ctable%3E%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"454bb6d0471536f7b91793ddbc786761b5733902":[async_test('html5lib_tests20.html 454bb6d0471536f7b91793ddbc786761b5733902'), "%3C%21doctype%20html%3E%3Csvg%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"3c8ff013bf2e80392671760c8d444730b1923c0a":[async_test('html5lib_tests20.html 3c8ff013bf2e80392671760c8d444730b1923c0a'), "%3C%21doctype%20html%3E%3Cp%3E%3Cfigcaption%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cfigcaption%3E"],"9a4f0cd0bdc672beb1c1c821599a11fc8a3d139d":[async_test('html5lib_tests20.html 9a4f0cd0bdc672beb1c1c821599a11fc8a3d139d'), "%3C%21doctype%20html%3E%3Cp%3E%3Csummary%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Csummary%3E"],"f5ca3a789b7451da3e6030443aee6fae734fc7a1":[async_test('html5lib_tests20.html f5ca3a789b7451da3e6030443aee6fae734fc7a1'), "%3C%21doctype%20html%3E%3Cform%3E%3Ctable%3E%3Cform%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],"ca8826661175c3a1ff7c6f1ebbfe646b238deb75":[async_test('html5lib_tests20.html ca8826661175c3a1ff7c6f1ebbfe646b238deb75'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cform%3E%3Cform%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cform%3E"],"9e30ae7bbd1193deb0d3599c071960d395ca01f7":[async_test('html5lib_tests20.html 9e30ae7bbd1193deb0d3599c071960d395ca01f7'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cform%3E%3C/table%3E%3Cform%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cform%3E"],"4417ddedee8e753fd6e911192458168d3b77d1e8":[async_test('html5lib_tests20.html 4417ddedee8e753fd6e911192458168d3b77d1e8'), "%3C%21doctype%20html%3E%3Csvg%3E%3CforeignObject%3E%3Cp%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E"],"2de333e449ca13c462832e799e13795e2cf6e3e4":[async_test('html5lib_tests20.html 2de333e449ca13c462832e799e13795e2cf6e3e4'), "%3C%21doctype%20html%3E%3Csvg%3E%3Ctitle%3Eabc", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%20%20%20%20%22abc%22"],"23d4d0aee62db4adc7381010d80776270a6db47b":[async_test('html5lib_tests20.html 23d4d0aee62db4adc7381010d80776270a6db47b'), "%3Coption%3E%3Cspan%3E%3Coption%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E"],"5463426618ff46188d19595aa1c7fdd86c6909b3":[async_test('html5lib_tests20.html 5463426618ff46188d19595aa1c7fdd86c6909b3'), "%3Coption%3E%3Coption%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%3Coption%3E"],"2649b566bd2bccc59813286d647269ad251e2fdf":[async_test('html5lib_tests20.html 2649b566bd2bccc59813286d647269ad251e2fdf'), "%3Cmath%3E%3Cannotation-xml%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"5df7907b99976e4051d1dd433e2bdbeb4ce200e3":[async_test('html5lib_tests20.html 5df7907b99976e4051d1dd433e2bdbeb4ce200e3'), "%3Cmath%3E%3Cannotation-xml%20encoding%3D%22application/svg%2Bxml%22%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20encoding%3D%22application/svg%2Bxml%22%0A%7C%20%20%20%20%20%3Cdiv%3E"],"a7e70930137ff8338778253ac93dc66f11eef966":[async_test('html5lib_tests20.html a7e70930137ff8338778253ac93dc66f11eef966'), "%3Cmath%3E%3Cannotation-xml%20encoding%3D%22application/xhtml%2Bxml%22%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20encoding%3D%22application/xhtml%2Bxml%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"b92100bddc318e13996fbe96c087c35152cbb4e3":[async_test('html5lib_tests20.html b92100bddc318e13996fbe96c087c35152cbb4e3'), "%3Cmath%3E%3Cannotation-xml%20encoding%3D%22aPPlication/xhtmL%2BxMl%22%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20encoding%3D%22aPPlication/xhtmL%2BxMl%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"f55b68de8cf9ec17e0512a6caae94e0fbf151260":[async_test('html5lib_tests20.html f55b68de8cf9ec17e0512a6caae94e0fbf151260'), "%3Cmath%3E%3Cannotation-xml%20encoding%3D%22text/html%22%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20encoding%3D%22text/html%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"7fb0d4342e3ed3fabee650b83ce66ffb2f66c173":[async_test('html5lib_tests20.html 7fb0d4342e3ed3fabee650b83ce66ffb2f66c173'), "%3Cmath%3E%3Cannotation-xml%20encoding%3D%22Text/htmL%22%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20encoding%3D%22Text/htmL%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"72a6100cd60dd49f780168137ed09e27a8090b34":[async_test('html5lib_tests20.html 72a6100cd60dd49f780168137ed09e27a8090b34'), "%3Cmath%3E%3Cannotation-xml%20encoding%3D%22%20text/html%20%22%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20encoding%3D%22%20text/html%20%22%0A%7C%20%20%20%20%20%3Cdiv%3E"],"09ee3f414d08c8a3923e7c72380868617d1a4554":[async_test('html5lib_tests20.html 09ee3f414d08c8a3923e7c72380868617d1a4554'), "%3Cmath%3E%3Cannotation-xml%3E%20%3C/annotation-xml%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22"],"3b854aa3549b6f5cac96176766fccd25c965b5fe":[async_test('html5lib_tests20.html 3b854aa3549b6f5cac96176766fccd25c965b5fe'), "%3Cmath%3E%3Cannotation-xml%3Ec%3C/annotation-xml%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%22c%22"],"bbc36dce52efacdede3cf4d94582ace2a3fca9fc":[async_test('html5lib_tests20.html bbc36dce52efacdede3cf4d94582ace2a3fca9fc'), "%3Cmath%3E%3Cannotation-xml%3E%3C%21--foo--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3C%21--%20foo%20--%3E"],"d4b924764bf49ceb39aa4f63dc81b7c05bbda84d":[async_test('html5lib_tests20.html d4b924764bf49ceb39aa4f63dc81b7c05bbda84d'), "%3Cmath%3E%3Cannotation-xml%3E%3C/svg%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%22x%22"],"19a6c1a25813323193c67a54904a41e389918f48":[async_test('html5lib_tests20.html 19a6c1a25813323193c67a54904a41e389918f48'), "%3Cmath%3E%3Cannotation-xml%3E%3Csvg%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22x%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests21.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests21.html
new file mode 100644
index 0000000000..e13295a974
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests21.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests21.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['49994884ec96a706a3c1b702049a1612e43a81b5','9128ce0d001f8a331dadfd0091dc0faaadcc27a3','250daec0d65f2528955e24fbe667cf40adaee33f','7cdfc1d2d87a4f9ebd754d18dc7b55f73f5ba58b','3d12442cdaef117f92af7ca90e7e03550e07314a','afeea6e5607448d59d16db2c2dad6e0f4f571f25','30b6ff244d2cd3716c1ad482e30ff294dcfed2b7','49b8f552d24bba176c920b40208e1d9f3d866075','60293a1ec80139eb1c9f05e48ca631e812a708da','753ad0dcb4fd3b1d6da2c87dd59116287e08d412','80607dd011814b8d3ef5c9ca380fec044dd5e1aa','b313be34a12fd540ab959b6cf18610fba03cb63f','c9f579bf49de2d4c553d03e43772c0d94be474c0','e714d65a37389755cd7385275f14a757c36b9510','df235b5f7ba9e6e1032bae6c75e92e6a68f48cda','fec253c6085a518dd72fdaff371da31e0d6bdb96','64150a9d88b6214a4a83cf9335e0b0a35e3be170','8c1c2ca15e12599448980201683ece12d4923d9d','32780672eec230ac59d4b61a1adb209bd6a0ed46','be6b00c6bd7e576953b0bceefd9c38d14b452b8d','9df59cd349097dca330fefef6c1b1bbbfddadae6','671f606f5cb7033854d99b96b040994f0f451496','caa80af33c7880aaddd17824efff1774ece01325',];
+ var tests = {
+ "49994884ec96a706a3c1b702049a1612e43a81b5":[async_test('html5lib_tests21.html 49994884ec96a706a3c1b702049a1612e43a81b5'), "%3Csvg%3E%3C%21%5BCDATA%5Bfoo%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"9128ce0d001f8a331dadfd0091dc0faaadcc27a3":[async_test('html5lib_tests21.html 9128ce0d001f8a331dadfd0091dc0faaadcc27a3'), "%3Cmath%3E%3C%21%5BCDATA%5Bfoo%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"250daec0d65f2528955e24fbe667cf40adaee33f":[async_test('html5lib_tests21.html 250daec0d65f2528955e24fbe667cf40adaee33f'), "%3Cdiv%3E%3C%21%5BCDATA%5Bfoo%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3C%21--%20%5BCDATA%5Bfoo%5D%5D%20--%3E"],"7cdfc1d2d87a4f9ebd754d18dc7b55f73f5ba58b":[async_test('html5lib_tests21.html 7cdfc1d2d87a4f9ebd754d18dc7b55f73f5ba58b'), "%3Csvg%3E%3C%21%5BCDATA%5Bfoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"3d12442cdaef117f92af7ca90e7e03550e07314a":[async_test('html5lib_tests21.html 3d12442cdaef117f92af7ca90e7e03550e07314a'), "%3Csvg%3E%3C%21%5BCDATA%5B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"afeea6e5607448d59d16db2c2dad6e0f4f571f25":[async_test('html5lib_tests21.html afeea6e5607448d59d16db2c2dad6e0f4f571f25'), "%3Csvg%3E%3C%21%5BCDATA%5B%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E"],"30b6ff244d2cd3716c1ad482e30ff294dcfed2b7":[async_test('html5lib_tests21.html 30b6ff244d2cd3716c1ad482e30ff294dcfed2b7'), "%3Csvg%3E%3C%21%5BCDATA%5B%5D%5D%20%3E%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%5D%5D%20%3E%22"],"49b8f552d24bba176c920b40208e1d9f3d866075":[async_test('html5lib_tests21.html 49b8f552d24bba176c920b40208e1d9f3d866075'), "%3Csvg%3E%3C%21%5BCDATA%5B%5D%5D", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%5D%5D%22"],"60293a1ec80139eb1c9f05e48ca631e812a708da":[async_test('html5lib_tests21.html 60293a1ec80139eb1c9f05e48ca631e812a708da'), "%3Csvg%3E%3C%21%5BCDATA%5B%5D", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%5D%22"],"753ad0dcb4fd3b1d6da2c87dd59116287e08d412":[async_test('html5lib_tests21.html 753ad0dcb4fd3b1d6da2c87dd59116287e08d412'), "%3Csvg%3E%3C%21%5BCDATA%5B%5D%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%5D%3Ea%22"],"80607dd011814b8d3ef5c9ca380fec044dd5e1aa":[async_test('html5lib_tests21.html 80607dd011814b8d3ef5c9ca380fec044dd5e1aa'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3C%21%5BCDATA%5Bfoo%5D%5D%5D%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%5D%22"],"b313be34a12fd540ab959b6cf18610fba03cb63f":[async_test('html5lib_tests21.html b313be34a12fd540ab959b6cf18610fba03cb63f'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3C%21%5BCDATA%5Bfoo%5D%5D%5D%5D%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%5D%5D%22"],"c9f579bf49de2d4c553d03e43772c0d94be474c0":[async_test('html5lib_tests21.html c9f579bf49de2d4c553d03e43772c0d94be474c0'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3C%21%5BCDATA%5Bfoo%5D%5D%5D%5D%5D%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22foo%5D%5D%5D%22"],"e714d65a37389755cd7385275f14a757c36b9510":[async_test('html5lib_tests21.html e714d65a37389755cd7385275f14a757c36b9510'), "%3Csvg%3E%3CforeignObject%3E%3Cdiv%3E%3C%21%5BCDATA%5Bfoo%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3C%21--%20%5BCDATA%5Bfoo%5D%5D%20--%3E"],"df235b5f7ba9e6e1032bae6c75e92e6a68f48cda":[async_test('html5lib_tests21.html df235b5f7ba9e6e1032bae6c75e92e6a68f48cda'), "%3Csvg%3E%3C%21%5BCDATA%5B%3Csvg%3E%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3Csvg%3E%22"],"fec253c6085a518dd72fdaff371da31e0d6bdb96":[async_test('html5lib_tests21.html fec253c6085a518dd72fdaff371da31e0d6bdb96'), "%3Csvg%3E%3C%21%5BCDATA%5B%3C/svg%3Ea%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3C/svg%3Ea%22"],"64150a9d88b6214a4a83cf9335e0b0a35e3be170":[async_test('html5lib_tests21.html 64150a9d88b6214a4a83cf9335e0b0a35e3be170'), "%3Csvg%3E%3C%21%5BCDATA%5B%3Csvg%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3Csvg%3Ea%22"],"8c1c2ca15e12599448980201683ece12d4923d9d":[async_test('html5lib_tests21.html 8c1c2ca15e12599448980201683ece12d4923d9d'), "%3Csvg%3E%3C%21%5BCDATA%5B%3C/svg%3Ea", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3C/svg%3Ea%22"],"32780672eec230ac59d4b61a1adb209bd6a0ed46":[async_test('html5lib_tests21.html 32780672eec230ac59d4b61a1adb209bd6a0ed46'), "%3Csvg%3E%3C%21%5BCDATA%5B%3Csvg%3E%5D%5D%3E%3Cpath%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3Csvg%3E%22%0A%7C%20%20%20%20%20%20%20%3Csvg%20path%3E"],"be6b00c6bd7e576953b0bceefd9c38d14b452b8d":[async_test('html5lib_tests21.html be6b00c6bd7e576953b0bceefd9c38d14b452b8d'), "%3Csvg%3E%3C%21%5BCDATA%5B%3Csvg%3E%5D%5D%3E%3C/path%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3Csvg%3E%22"],"9df59cd349097dca330fefef6c1b1bbbfddadae6":[async_test('html5lib_tests21.html 9df59cd349097dca330fefef6c1b1bbbfddadae6'), "%3Csvg%3E%3C%21%5BCDATA%5B%3Csvg%3E%5D%5D%3E%3C%21--path--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3Csvg%3E%22%0A%7C%20%20%20%20%20%20%20%3C%21--%20path%20--%3E"],"671f606f5cb7033854d99b96b040994f0f451496":[async_test('html5lib_tests21.html 671f606f5cb7033854d99b96b040994f0f451496'), "%3Csvg%3E%3C%21%5BCDATA%5B%3Csvg%3E%5D%5D%3Epath", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3Csvg%3Epath%22"],"caa80af33c7880aaddd17824efff1774ece01325":[async_test('html5lib_tests21.html caa80af33c7880aaddd17824efff1774ece01325'), "%3Csvg%3E%3C%21%5BCDATA%5B%3C%21--svg--%3E%5D%5D%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--svg--%3E%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests22.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests22.html
new file mode 100644
index 0000000000..74886e1660
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests22.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests22.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['0aae674c4a721f0a6f6205bca13056f08a516b00','9ee2a7fffc0ac4b0a2d59ac154d9d79b3b62499f','eba4be47ca51e9c659aaa2de43e17aded0d13e50','d69b2cbec658966233616e553d8b0b1dd544310d','4685334adccb0ef98b769fb8546b5696e28af968',];
+ var tests = {
+ "0aae674c4a721f0a6f6205bca13056f08a516b00":[async_test('html5lib_tests22.html 0aae674c4a721f0a6f6205bca13056f08a516b00'), "%3Ca%3E%3Cb%3E%3Cbig%3E%3Cem%3E%3Cstrong%3E%3Cdiv%3EX%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cbig%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3E%0A%7C%20%20%20%20%20%3Cbig%3E%0A%7C%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cstrong%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"9ee2a7fffc0ac4b0a2d59ac154d9d79b3b62499f":[async_test('html5lib_tests22.html 9ee2a7fffc0ac4b0a2d59ac154d9d79b3b62499f'), "%3Ca%3E%3Cb%3E%3Cdiv%20id%3D1%3E%3Cdiv%20id%3D2%3E%3Cdiv%20id%3D3%3E%3Cdiv%20id%3D4%3E%3Cdiv%20id%3D5%3E%3Cdiv%20id%3D6%3E%3Cdiv%20id%3D7%3E%3Cdiv%20id%3D8%3EA%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%222%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%223%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%225%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%226%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%227%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%228%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22"],"eba4be47ca51e9c659aaa2de43e17aded0d13e50":[async_test('html5lib_tests22.html eba4be47ca51e9c659aaa2de43e17aded0d13e50'), "%3Ca%3E%3Cb%3E%3Cdiv%20id%3D1%3E%3Cdiv%20id%3D2%3E%3Cdiv%20id%3D3%3E%3Cdiv%20id%3D4%3E%3Cdiv%20id%3D5%3E%3Cdiv%20id%3D6%3E%3Cdiv%20id%3D7%3E%3Cdiv%20id%3D8%3E%3Cdiv%20id%3D9%3EA%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%222%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%223%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%225%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%226%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%227%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%228%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%229%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22"],"d69b2cbec658966233616e553d8b0b1dd544310d":[async_test('html5lib_tests22.html d69b2cbec658966233616e553d8b0b1dd544310d'), "%3Ca%3E%3Cb%3E%3Cdiv%20id%3D1%3E%3Cdiv%20id%3D2%3E%3Cdiv%20id%3D3%3E%3Cdiv%20id%3D4%3E%3Cdiv%20id%3D5%3E%3Cdiv%20id%3D6%3E%3Cdiv%20id%3D7%3E%3Cdiv%20id%3D8%3E%3Cdiv%20id%3D9%3E%3Cdiv%20id%3D10%3EA%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%222%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%223%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%225%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%226%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%227%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%228%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%229%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%2210%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22"],"4685334adccb0ef98b769fb8546b5696e28af968":[async_test('html5lib_tests22.html 4685334adccb0ef98b769fb8546b5696e28af968'), "%3Ccite%3E%3Cb%3E%3Ccite%3E%3Ci%3E%3Ccite%3E%3Ci%3E%3Ccite%3E%3Ci%3E%3Cdiv%3EX%3C/b%3ETEST", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccite%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22TEST%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests23.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests23.html
new file mode 100644
index 0000000000..b471f34ddf
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests23.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests23.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['79c0dc8da653d983d07795852b5f38d1533ff404','403404388390abddf3fb44db8dd7d643652f5df9','b9a81ae44ab81719fc6a4e3b6460fc6efc684e65','d271d3662baafff4893d32b250cadcf4c2ff3352','f8e296b2f362a64c1c464bedd6248e314f41c701',];
+ var tests = {
+ "79c0dc8da653d983d07795852b5f38d1533ff404":[async_test('html5lib_tests23.html 79c0dc8da653d983d07795852b5f38d1533ff404'), "%3Cp%3E%3Cfont%20size%3D4%3E%3Cfont%20color%3Dred%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20color%3Dred%3E%3Cp%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"403404388390abddf3fb44db8dd7d643652f5df9":[async_test('html5lib_tests23.html 403404388390abddf3fb44db8dd7d643652f5df9'), "%3Cp%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cp%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"b9a81ae44ab81719fc6a4e3b6460fc6efc684e65":[async_test('html5lib_tests23.html b9a81ae44ab81719fc6a4e3b6460fc6efc684e65'), "%3Cp%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D%225%22%3E%3Cfont%20size%3D4%3E%3Cp%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%225%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%225%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"d271d3662baafff4893d32b250cadcf4c2ff3352":[async_test('html5lib_tests23.html d271d3662baafff4893d32b250cadcf4c2ff3352'), "%3Cp%3E%3Cfont%20size%3D4%20id%3Da%3E%3Cfont%20size%3D4%20id%3Db%3E%3Cfont%20size%3D4%3E%3Cfont%20size%3D4%3E%3Cp%3EX", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22b%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20size%3D%224%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"f8e296b2f362a64c1c464bedd6248e314f41c701":[async_test('html5lib_tests23.html f8e296b2f362a64c1c464bedd6248e314f41c701'), "%3Cp%3E%3Cb%20id%3Da%3E%3Cb%20id%3Da%3E%3Cb%20id%3Da%3E%3Cb%3E%3Cobject%3E%3Cb%20id%3Da%3E%3Cb%20id%3Da%3EX%3C/object%3E%3Cp%3EY", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cobject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Y%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests24.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests24.html
new file mode 100644
index 0000000000..ecfd895e86
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests24.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests24.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['692c2dbacf18cb758f26a3d9e7d9add4356f9067','614cc9827d3a0c5f91863dde5281dd0d97f64e6d','c517924583ee71b8e684c9ca1f2eed5e88139a39','140a82fab878c139b388d159c511eb999fe2d8c7','a2ddddcccb652a6529daafd4153a0e12b6d5ca8c','da2e30a0b6577b608bf48bbd11a16ff832bc7e46','66a5777f5453bd4b5161f00df02883b6d71f7cea','c8d97f31b70f67005eeacc3c86ac29e577c3d0ed',];
+ var tests = {
+ "692c2dbacf18cb758f26a3d9e7d9add4356f9067":[async_test('html5lib_tests24.html 692c2dbacf18cb758f26a3d9e7d9add4356f9067'), "%3C%21DOCTYPE%20html%3E%26NotEqualTilde%3B", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%89%82%CC%B8%22"],"614cc9827d3a0c5f91863dde5281dd0d97f64e6d":[async_test('html5lib_tests24.html 614cc9827d3a0c5f91863dde5281dd0d97f64e6d'), "%3C%21DOCTYPE%20html%3E%26NotEqualTilde%3BA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%89%82%CC%B8A%22"],"c517924583ee71b8e684c9ca1f2eed5e88139a39":[async_test('html5lib_tests24.html c517924583ee71b8e684c9ca1f2eed5e88139a39'), "%3C%21DOCTYPE%20html%3E%26ThickSpace%3B", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%81%9F%E2%80%8A%22"],"140a82fab878c139b388d159c511eb999fe2d8c7":[async_test('html5lib_tests24.html 140a82fab878c139b388d159c511eb999fe2d8c7'), "%3C%21DOCTYPE%20html%3E%26ThickSpace%3BA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%81%9F%E2%80%8AA%22"],"a2ddddcccb652a6529daafd4153a0e12b6d5ca8c":[async_test('html5lib_tests24.html a2ddddcccb652a6529daafd4153a0e12b6d5ca8c'), "%3C%21DOCTYPE%20html%3E%26NotSubset%3B", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%8A%82%E2%83%92%22"],"da2e30a0b6577b608bf48bbd11a16ff832bc7e46":[async_test('html5lib_tests24.html da2e30a0b6577b608bf48bbd11a16ff832bc7e46'), "%3C%21DOCTYPE%20html%3E%26NotSubset%3BA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%E2%8A%82%E2%83%92A%22"],"66a5777f5453bd4b5161f00df02883b6d71f7cea":[async_test('html5lib_tests24.html 66a5777f5453bd4b5161f00df02883b6d71f7cea'), "%3C%21DOCTYPE%20html%3E%26Gopf%3B", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%F0%9D%94%BE%22"],"c8d97f31b70f67005eeacc3c86ac29e577c3d0ed":[async_test('html5lib_tests24.html c8d97f31b70f67005eeacc3c86ac29e577c3d0ed'), "%3C%21DOCTYPE%20html%3E%26Gopf%3BA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%F0%9D%94%BEA%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests25.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests25.html
new file mode 100644
index 0000000000..86b4c2482c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests25.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests25.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['025adbb619bdef9ad228a6b378b9dd6bef9f93dc','7e561454888535bc5c68e7396de2f4206c81e97d','a14bdd90f5a745296e74c23951245cb7c5046ed1','421ad19f7854b9c8e28a0595a8dd20d6bfcd5376','7e8234523fbf67d37ab60f593e1fc3ac67706651','c705ceb6fb37865e6965641ea80137baf44176b6','277da0c4c937f3852d8a7cacf4e4b426a30b3dda','de4aa726e09215ba9c50b97d257e6c6b880107f1','578e08f11628dc9841f3eb21c016e1e28cec0304','a6e5387b48c4d0399a802215f7fa206bd0d3b492','d56d47bc9d9c7472fb1706bdecda1bbd165dcf91','2779456edd8407b403561e0cf339c8c2308c88b8','17d197ab2416adec6eb92e398c2db6f7efc98b58','1ccc6e280f6dc773e2e00f2cb70cd96e97078296','2c4a3a8d857ae3880197c7fb76cf8867c3171a4c','dcdbc94f31873d250fd208ef59f7c792996bbe5f','e7fa5ef62589df61fea98430b6610c445065618e','86f7866ee190c6614ccce12db874cea22550009a','e83cc2757467bb00e1eba55eb5caa39e1be54a53','aed93adbabc0e882d4900ce6f26d4fb81ab6ef11','48ddaacf5355643f27ef704ece88b227f51fc7cb','bf29bfbd56c9863d19e4d66cd67a0dc1813b2e86','73fc7c062b68d4f89579683dbb7f1eaef4ec27f1','057bc2d868d2f365cb2c0b4d07c231d2fa2b23b7','7f684d19be362ec9aa4fe7ecbba4ff3fc9730a43','d79f9119d02447226cc2d151044e6cffc5409e81',];
+ var tests = {
+ "025adbb619bdef9ad228a6b378b9dd6bef9f93dc":[async_test('html5lib_tests25.html 025adbb619bdef9ad228a6b378b9dd6bef9f93dc'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cfoo%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%22A%22"],"7e561454888535bc5c68e7396de2f4206c81e97d":[async_test('html5lib_tests25.html 7e561454888535bc5c68e7396de2f4206c81e97d'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Carea%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Carea%3E%0A%7C%20%20%20%20%20%22A%22"],"a14bdd90f5a745296e74c23951245cb7c5046ed1":[async_test('html5lib_tests25.html a14bdd90f5a745296e74c23951245cb7c5046ed1'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cbase%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbase%3E%0A%7C%20%20%20%20%20%22A%22"],"421ad19f7854b9c8e28a0595a8dd20d6bfcd5376":[async_test('html5lib_tests25.html 421ad19f7854b9c8e28a0595a8dd20d6bfcd5376'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cbasefont%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbasefont%3E%0A%7C%20%20%20%20%20%22A%22"],"7e8234523fbf67d37ab60f593e1fc3ac67706651":[async_test('html5lib_tests25.html 7e8234523fbf67d37ab60f593e1fc3ac67706651'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cbgsound%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbgsound%3E%0A%7C%20%20%20%20%20%22A%22"],"c705ceb6fb37865e6965641ea80137baf44176b6":[async_test('html5lib_tests25.html c705ceb6fb37865e6965641ea80137baf44176b6'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cbr%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%22A%22"],"277da0c4c937f3852d8a7cacf4e4b426a30b3dda":[async_test('html5lib_tests25.html 277da0c4c937f3852d8a7cacf4e4b426a30b3dda'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ccol%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"de4aa726e09215ba9c50b97d257e6c6b880107f1":[async_test('html5lib_tests25.html de4aa726e09215ba9c50b97d257e6c6b880107f1'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ccommand%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ccommand%3E%0A%7C%20%20%20%20%20%20%20%22A%22"],"578e08f11628dc9841f3eb21c016e1e28cec0304":[async_test('html5lib_tests25.html 578e08f11628dc9841f3eb21c016e1e28cec0304'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cembed%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cembed%3E%0A%7C%20%20%20%20%20%22A%22"],"a6e5387b48c4d0399a802215f7fa206bd0d3b492":[async_test('html5lib_tests25.html a6e5387b48c4d0399a802215f7fa206bd0d3b492'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cframe%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"d56d47bc9d9c7472fb1706bdecda1bbd165dcf91":[async_test('html5lib_tests25.html d56d47bc9d9c7472fb1706bdecda1bbd165dcf91'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Chr%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Chr%3E%0A%7C%20%20%20%20%20%22A%22"],"2779456edd8407b403561e0cf339c8c2308c88b8":[async_test('html5lib_tests25.html 2779456edd8407b403561e0cf339c8c2308c88b8'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cimg%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cimg%3E%0A%7C%20%20%20%20%20%22A%22"],"17d197ab2416adec6eb92e398c2db6f7efc98b58":[async_test('html5lib_tests25.html 17d197ab2416adec6eb92e398c2db6f7efc98b58'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cinput%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%22A%22"],"1ccc6e280f6dc773e2e00f2cb70cd96e97078296":[async_test('html5lib_tests25.html 1ccc6e280f6dc773e2e00f2cb70cd96e97078296'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ckeygen%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ckeygen%3E%0A%7C%20%20%20%20%20%22A%22"],"2c4a3a8d857ae3880197c7fb76cf8867c3171a4c":[async_test('html5lib_tests25.html 2c4a3a8d857ae3880197c7fb76cf8867c3171a4c'), "%3C%21DOCTYPE%20html%3E%3Ckeygen%3EA%3C/keygen%3EB", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ckeygen%3E%0A%7C%20%20%20%20%20%22AB%22"],"dcdbc94f31873d250fd208ef59f7c792996bbe5f":[async_test('html5lib_tests25.html dcdbc94f31873d250fd208ef59f7c792996bbe5f'), "%3C/keygen%3EA", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"e7fa5ef62589df61fea98430b6610c445065618e":[async_test('html5lib_tests25.html e7fa5ef62589df61fea98430b6610c445065618e'), "%3C%21DOCTYPE%20html%3E%3C/keygen%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"86f7866ee190c6614ccce12db874cea22550009a":[async_test('html5lib_tests25.html 86f7866ee190c6614ccce12db874cea22550009a'), "%3C%21DOCTYPE%20html%3E%3Chead%3E%3C/keygen%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"e83cc2757467bb00e1eba55eb5caa39e1be54a53":[async_test('html5lib_tests25.html e83cc2757467bb00e1eba55eb5caa39e1be54a53'), "%3C%21DOCTYPE%20html%3E%3Chead%3E%3C/head%3E%3C/keygen%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"aed93adbabc0e882d4900ce6f26d4fb81ab6ef11":[async_test('html5lib_tests25.html aed93adbabc0e882d4900ce6f26d4fb81ab6ef11'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3C/keygen%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22"],"48ddaacf5355643f27ef704ece88b227f51fc7cb":[async_test('html5lib_tests25.html 48ddaacf5355643f27ef704ece88b227f51fc7cb'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Clink%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Clink%3E%0A%7C%20%20%20%20%20%22A%22"],"bf29bfbd56c9863d19e4d66cd67a0dc1813b2e86":[async_test('html5lib_tests25.html bf29bfbd56c9863d19e4d66cd67a0dc1813b2e86'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmeta%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%22A%22"],"73fc7c062b68d4f89579683dbb7f1eaef4ec27f1":[async_test('html5lib_tests25.html 73fc7c062b68d4f89579683dbb7f1eaef4ec27f1'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cparam%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cparam%3E%0A%7C%20%20%20%20%20%22A%22"],"057bc2d868d2f365cb2c0b4d07c231d2fa2b23b7":[async_test('html5lib_tests25.html 057bc2d868d2f365cb2c0b4d07c231d2fa2b23b7'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Csource%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csource%3E%0A%7C%20%20%20%20%20%22A%22"],"7f684d19be362ec9aa4fe7ecbba4ff3fc9730a43":[async_test('html5lib_tests25.html 7f684d19be362ec9aa4fe7ecbba4ff3fc9730a43'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctrack%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctrack%3E%0A%7C%20%20%20%20%20%22A%22"],"d79f9119d02447226cc2d151044e6cffc5409e81":[async_test('html5lib_tests25.html d79f9119d02447226cc2d151044e6cffc5409e81'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cwbr%3EA", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cwbr%3E%0A%7C%20%20%20%20%20%22A%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests26.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests26.html
new file mode 100644
index 0000000000..2b3849b00b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests26.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests26.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['6232bd8c710002d3b3c375903a712d05163a821d','5e4fff339b6d191d80311bfa258a9b62e063c6aa','8695403efa4e413a1ad1f99984a8c0ecba379698','c3aa0a4f4e81fa4a2fd398c7a7a090d2c3f955f4','167bc3c289b234ab99fe96eaa0845682345de48c','3dacba9a76b8c454b42b9868252bbb6b68327184','8f1c4c0f0eee7b8136934ee18bd3beffbc7f2fe0','7369c472433b6dd76585b797fd3708e474601ecc','c085683feffd9da64f8782545042884173a1d1e3','be84971ac4a451e91099d225d0315dd17a88b830','9d63346ca23dc3ee41e29fe7d8403934bce8c610','8434eb9c0c3daf656b3158f5955d07e39ddc6444','6c95a99290e309b638b958272686a21486fa561e','37d360649a2b092ad05e1be1c9ea65bfec83ca6d','8919621ebbd1f4df0fdaacee3e53dc959a2d9235','3723d028349cbbc1a5c3f014987bb11c8ba804d0','e370b3102af9ba28e24f5c41a08443cdd9dd6d25','d89064b85cdb1cf0d9e01b0d4618f6f5901533e1','d22b654495ccbf7ca93f5356e93c828ba65b00dd','ce65a73998345e8be4da9bccfe2cec9fab57c3be',];
+ var tests = {
+ "6232bd8c710002d3b3c375903a712d05163a821d":[async_test('html5lib_tests26.html 6232bd8c710002d3b3c375903a712d05163a821d'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ca%20href%3D%27%231%27%3E%3Cnobr%3E1%3Cnobr%3E%3C/a%3E%3Cbr%3E%3Ca%20href%3D%27%232%27%3E%3Cnobr%3E2%3Cnobr%3E%3C/a%3E%3Cbr%3E%3Ca%20href%3D%27%233%27%3E%3Cnobr%3E3%3Cnobr%3E%3C/a%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22%231%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20href%3D%22%232%22%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22%232%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20href%3D%22%233%22%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20href%3D%22%233%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E"],"5e4fff339b6d191d80311bfa258a9b62e063c6aa":[async_test('html5lib_tests26.html 5e4fff339b6d191d80311bfa258a9b62e063c6aa'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Cnobr%3E%3C/b%3E%3Ci%3E%3Cnobr%3E2%3Cnobr%3E%3C/i%3E3", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%223%22"],"8695403efa4e413a1ad1f99984a8c0ecba379698":[async_test('html5lib_tests26.html 8695403efa4e413a1ad1f99984a8c0ecba379698'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Ctable%3E%3Cnobr%3E%3C/b%3E%3Ci%3E%3Cnobr%3E2%3Cnobr%3E%3C/i%3E3", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%223%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctable%3E"],"c3aa0a4f4e81fa4a2fd398c7a7a090d2c3f955f4":[async_test('html5lib_tests26.html c3aa0a4f4e81fa4a2fd398c7a7a090d2c3f955f4'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cnobr%3E%3C/b%3E%3Ci%3E%3Cnobr%3E2%3Cnobr%3E%3C/i%3E3", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%223%22"],"167bc3c289b234ab99fe96eaa0845682345de48c":[async_test('html5lib_tests26.html 167bc3c289b234ab99fe96eaa0845682345de48c'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Cdiv%3E%3Cnobr%3E%3C/b%3E%3Ci%3E%3Cnobr%3E2%3Cnobr%3E%3C/i%3E3", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%223%22"],"3dacba9a76b8c454b42b9868252bbb6b68327184":[async_test('html5lib_tests26.html 3dacba9a76b8c454b42b9868252bbb6b68327184'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Cnobr%3E%3C/b%3E%3Cdiv%3E%3Ci%3E%3Cnobr%3E2%3Cnobr%3E%3C/i%3E3", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%222%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%223%22"],"8f1c4c0f0eee7b8136934ee18bd3beffbc7f2fe0":[async_test('html5lib_tests26.html 8f1c4c0f0eee7b8136934ee18bd3beffbc7f2fe0'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Cnobr%3E%3Cins%3E%3C/b%3E%3Ci%3E%3Cnobr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cins%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E"],"7369c472433b6dd76585b797fd3708e474601ecc":[async_test('html5lib_tests26.html 7369c472433b6dd76585b797fd3708e474601ecc'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E%3Cnobr%3E1%3Cins%3E%3Cnobr%3E%3C/b%3E%3Ci%3E2", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cins%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22"],"c085683feffd9da64f8782545042884173a1d1e3":[async_test('html5lib_tests26.html c085683feffd9da64f8782545042884173a1d1e3'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cb%3E1%3Cnobr%3E%3C/b%3E%3Ci%3E%3Cnobr%3E2%3C/i%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%222%22"],"be84971ac4a451e91099d225d0315dd17a88b830":[async_test('html5lib_tests26.html be84971ac4a451e91099d225d0315dd17a88b830'), "%3Cp%3E%3Ccode%20x%3C/code%3E%3C/p%3E%0A", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20%20%20code%3D%22%22%0A%7C%20%20%20%20%20%20%20%20%20x%3C%3D%22%22%0A%7C%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20code%3D%22%22%0A%7C%20%20%20%20%20%20%20x%3C%3D%22%22%0A%7C%20%20%20%20%20%20%20%22%0A%22"],"9d63346ca23dc3ee41e29fe7d8403934bce8c610":[async_test('html5lib_tests26.html 9d63346ca23dc3ee41e29fe7d8403934bce8c610'), "%3C%21DOCTYPE%20html%3E%3Csvg%3E%3CforeignObject%3E%3Cp%3E%3Ci%3E%3C/p%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"8434eb9c0c3daf656b3158f5955d07e39ddc6444":[async_test('html5lib_tests26.html 8434eb9c0c3daf656b3158f5955d07e39ddc6444'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3CforeignObject%3E%3Cp%3E%3Ci%3E%3C/p%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"6c95a99290e309b638b958272686a21486fa561e":[async_test('html5lib_tests26.html 6c95a99290e309b638b958272686a21486fa561e'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cmtext%3E%3Cp%3E%3Ci%3E%3C/p%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"37d360649a2b092ad05e1be1c9ea65bfec83ca6d":[async_test('html5lib_tests26.html 37d360649a2b092ad05e1be1c9ea65bfec83ca6d'), "%3C%21DOCTYPE%20html%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cmath%3E%3Cmtext%3E%3Cp%3E%3Ci%3E%3C/p%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mtext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"8919621ebbd1f4df0fdaacee3e53dc959a2d9235":[async_test('html5lib_tests26.html 8919621ebbd1f4df0fdaacee3e53dc959a2d9235'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cdiv%3E%3C%21/div%3Ea", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3C%21--%20/div%20--%3E%0A%7C%20%20%20%20%20%20%20%22a%22"],"3723d028349cbbc1a5c3f014987bb11c8ba804d0":[async_test('html5lib_tests26.html 3723d028349cbbc1a5c3f014987bb11c8ba804d0'), "%3Cbutton%3E%3Cp%3E%3Cbutton%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cbutton%3E"],"e370b3102af9ba28e24f5c41a08443cdd9dd6d25":[async_test('html5lib_tests26.html e370b3102af9ba28e24f5c41a08443cdd9dd6d25'), "%3Csvg%3E%3C/p%3E%3Cfoo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cfoo%3E"],"d89064b85cdb1cf0d9e01b0d4618f6f5901533e1":[async_test('html5lib_tests26.html d89064b85cdb1cf0d9e01b0d4618f6f5901533e1'), "%3Csvg%3E%3C/br%3E%3Cfoo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%3Cfoo%3E"],"d22b654495ccbf7ca93f5356e93c828ba65b00dd":[async_test('html5lib_tests26.html d22b654495ccbf7ca93f5356e93c828ba65b00dd'), "%3Cmath%3E%3C/p%3E%3Cfoo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cfoo%3E"],"ce65a73998345e8be4da9bccfe2cec9fab57c3be":[async_test('html5lib_tests26.html ce65a73998345e8be4da9bccfe2cec9fab57c3be'), "%3Cmath%3E%3C/br%3E%3Cfoo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%3Cfoo%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests3.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests3.html
new file mode 100644
index 0000000000..f6f9d62911
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests3.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests3.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['9af28bba864ad2e398d95249fdcd40491e91b23f','be8bf339f25c34d94456b39ceeed74a25167df40','b77d2b4c52c8d57dae80409a39f5e21cb8e5b3bc','7902929c3aa85bf8ffc8d7fa228921acec21808e','16dda22403dee14d6d8627d9139b8c5296f24b61','7022e121d090113a9b6a1f29e8c620b5b6c9b67c','8b5088252a41409e5f5989408f09af986573b007','692cef68475bc2c58dc3a1d6fc804ab69df37117','88bbb8a76e9880c09e8ffcd626660106cf27abce','b43510ea21c96a96255b45aef578af5cbc78475e','5227d81a48fc519767baaca384b9687dad7ba1bf','5bb12f29d0f7c9c30bc8ceb14578c60df73dca2c','9ba44cced626432a79929642154346ab9d01403a','f9031fcb39c793e24b116a1e041dd93ed638a0f4','45ec5c450b3039007112fcb053c2a82ce2e93f17','6a66abfc230b8cfc93c57210ae370b1d5e744b5a','ed9cc49cd8a577e1e6343808c328e242b53ee42d','32c5a1be682ae34b4195cd0481ee6c53c806abeb','daf731117bb7cf43f750f187cbb3528f07c9a012','948e2378d0e6bd68dbc278a993c2774c22b30370','f7fd80272bb4ab6e3bb871de5f7688912740c39f','9eddcf7971dc65d05f25aa4c412acf09a789e5b3','e91b512a3b3307481c8039279d5cf487aa258a9d','6d570cad6386f2e21419f5eb63e7dfa290abe40f',];
+ var tests = {
+ "9af28bba864ad2e398d95249fdcd40491e91b23f":[async_test('html5lib_tests3.html 9af28bba864ad2e398d95249fdcd40491e91b23f'), "%3Chead%3E%3C/head%3E%3Cstyle%3E%3C/style%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%3Cbody%3E"],"be8bf339f25c34d94456b39ceeed74a25167df40":[async_test('html5lib_tests3.html be8bf339f25c34d94456b39ceeed74a25167df40'), "%3Chead%3E%3C/head%3E%3Cscript%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3Cbody%3E"],"b77d2b4c52c8d57dae80409a39f5e21cb8e5b3bc":[async_test('html5lib_tests3.html b77d2b4c52c8d57dae80409a39f5e21cb8e5b3bc'), "%3Chead%3E%3C/head%3E%3C%21--%20--%3E%3Cstyle%3E%3C/style%3E%3C%21--%20--%3E%3Cscript%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%3Cbody%3E"],"7902929c3aa85bf8ffc8d7fa228921acec21808e":[async_test('html5lib_tests3.html 7902929c3aa85bf8ffc8d7fa228921acec21808e'), "%3Chead%3E%3C/head%3E%3C%21--%20--%3Ex%3Cstyle%3E%3C/style%3E%3C%21--%20--%3E%3Cscript%3E%3C/script%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%3C%21--%20%20%20--%3E%0A%7C%20%20%20%20%20%3Cscript%3E"],"16dda22403dee14d6d8627d9139b8c5296f24b61":[async_test('html5lib_tests3.html 16dda22403dee14d6d8627d9139b8c5296f24b61'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3E%0A%3C/pre%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E"],"7022e121d090113a9b6a1f29e8c620b5b6c9b67c":[async_test('html5lib_tests3.html 7022e121d090113a9b6a1f29e8c620b5b6c9b67c'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3E%0Afoo%3C/pre%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"8b5088252a41409e5f5989408f09af986573b007":[async_test('html5lib_tests3.html 8b5088252a41409e5f5989408f09af986573b007'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3E%0A%0Afoo%3C/pre%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22%0Afoo%22"],"692cef68475bc2c58dc3a1d6fc804ab69df37117":[async_test('html5lib_tests3.html 692cef68475bc2c58dc3a1d6fc804ab69df37117'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3E%0Afoo%0A%3C/pre%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22foo%0A%22"],"88bbb8a76e9880c09e8ffcd626660106cf27abce":[async_test('html5lib_tests3.html 88bbb8a76e9880c09e8ffcd626660106cf27abce'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3Ex%3C/pre%3E%3Cspan%3E%0A%3C/span%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22"],"b43510ea21c96a96255b45aef578af5cbc78475e":[async_test('html5lib_tests3.html b43510ea21c96a96255b45aef578af5cbc78475e'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3Ex%0Ay%3C/pre%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22x%0Ay%22"],"5227d81a48fc519767baaca384b9687dad7ba1bf":[async_test('html5lib_tests3.html 5227d81a48fc519767baaca384b9687dad7ba1bf'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cpre%3Ex%3Cdiv%3E%0Ay%3C/pre%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%0Ay%22"],"5bb12f29d0f7c9c30bc8ceb14578c60df73dca2c":[async_test('html5lib_tests3.html 5bb12f29d0f7c9c30bc8ceb14578c60df73dca2c'), "%3C%21DOCTYPE%20html%3E%3Cpre%3E%26%23x0a%3B%26%23x0a%3BA%3C/pre%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%22%0AA%22"],"9ba44cced626432a79929642154346ab9d01403a":[async_test('html5lib_tests3.html 9ba44cced626432a79929642154346ab9d01403a'), "%3C%21DOCTYPE%20html%3E%3CHTML%3E%3CMETA%3E%3CHEAD%3E%3C/HEAD%3E%3C/HTML%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%3Cbody%3E"],"f9031fcb39c793e24b116a1e041dd93ed638a0f4":[async_test('html5lib_tests3.html f9031fcb39c793e24b116a1e041dd93ed638a0f4'), "%3C%21DOCTYPE%20html%3E%3CHTML%3E%3CHEAD%3E%3Chead%3E%3C/HEAD%3E%3C/HTML%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"45ec5c450b3039007112fcb053c2a82ce2e93f17":[async_test('html5lib_tests3.html 45ec5c450b3039007112fcb053c2a82ce2e93f17'), "%3Ctextarea%3Efoo%3Cspan%3Ebar%3C/span%3E%3Ci%3Ebaz", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22foo%3Cspan%3Ebar%3C/span%3E%3Ci%3Ebaz%22"],"6a66abfc230b8cfc93c57210ae370b1d5e744b5a":[async_test('html5lib_tests3.html 6a66abfc230b8cfc93c57210ae370b1d5e744b5a'), "%3Ctitle%3Efoo%3Cspan%3Ebar%3C/em%3E%3Ci%3Ebaz", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22foo%3Cspan%3Ebar%3C/em%3E%3Ci%3Ebaz%22%0A%7C%20%20%20%3Cbody%3E"],"ed9cc49cd8a577e1e6343808c328e242b53ee42d":[async_test('html5lib_tests3.html ed9cc49cd8a577e1e6343808c328e242b53ee42d'), "%3C%21DOCTYPE%20html%3E%3Ctextarea%3E%0A%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E"],"32c5a1be682ae34b4195cd0481ee6c53c806abeb":[async_test('html5lib_tests3.html 32c5a1be682ae34b4195cd0481ee6c53c806abeb'), "%3C%21DOCTYPE%20html%3E%3Ctextarea%3E%0Afoo%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22foo%22"],"daf731117bb7cf43f750f187cbb3528f07c9a012":[async_test('html5lib_tests3.html daf731117bb7cf43f750f187cbb3528f07c9a012'), "%3C%21DOCTYPE%20html%3E%3Ctextarea%3E%0A%0Afoo%3C/textarea%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%0Afoo%22"],"948e2378d0e6bd68dbc278a993c2774c22b30370":[async_test('html5lib_tests3.html 948e2378d0e6bd68dbc278a993c2774c22b30370'), "%3C%21DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody%3E%3Cul%3E%3Cli%3E%3Cdiv%3E%3Cp%3E%3Cli%3E%3C/ul%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E"],"f7fd80272bb4ab6e3bb871de5f7688912740c39f":[async_test('html5lib_tests3.html f7fd80272bb4ab6e3bb871de5f7688912740c39f'), "%3C%21doctype%20html%3E%3Cnobr%3E%3Cnobr%3E%3Cnobr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E"],"9eddcf7971dc65d05f25aa4c412acf09a789e5b3":[async_test('html5lib_tests3.html 9eddcf7971dc65d05f25aa4c412acf09a789e5b3'), "%3C%21doctype%20html%3E%3Cnobr%3E%3Cnobr%3E%3C/nobr%3E%3Cnobr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cnobr%3E"],"e91b512a3b3307481c8039279d5cf487aa258a9d":[async_test('html5lib_tests3.html e91b512a3b3307481c8039279d5cf487aa258a9d'), "%3C%21doctype%20html%3E%3Chtml%3E%3Cbody%3E%3Cp%3E%3Ctable%3E%3C/table%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"6d570cad6386f2e21419f5eb63e7dfa290abe40f":[async_test('html5lib_tests3.html 6d570cad6386f2e21419f5eb63e7dfa290abe40f'), "%3Cp%3E%3Ctable%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests5.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests5.html
new file mode 100644
index 0000000000..b1314ead67
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests5.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests5.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['c482a88c4feb445945f19c77eda5e460cd6db344','b28eaef63aeeb165eceb56152d50767327f975fa','20c1b55aabcd426fa5975648f21cff40fa3fc2e3','cc87be99b2531e4c0c1fd95f81cd4dd989f699d3','283a0f4eb33a3ee80f718020268bf1794a758ec9','bde8b7a035edd6f123f45708ac10b4f60e81edf4','6ace30add7690cda74de9830481c95bef1f5976d','3c5f82c8db30cc1cce4c7fa8a5d18cf13ce8d007','9cac6179dc295f43afd5a41ed98aef3a9d5a08de','021a5fbf8c725781d08dce099d21f7023c9bb26d','412eae0c0e6e5da254550debd587ff86cff55c0c','410a64500216425d811748b0258c92a49fbad0ff','bd7dfd1a0f74731c22b3e2d331f7c14ba7c9a4e8','5f847a390a413a42fcef3d4510ddc56815c7d722','6d5b2f84df760f8995146c406c2dd07ba5510f7f','eded02e700d7329f650a9a38ef7ea6c0e453766b',];
+ var tests = {
+ "c482a88c4feb445945f19c77eda5e460cd6db344":[async_test('html5lib_tests5.html c482a88c4feb445945f19c77eda5e460cd6db344'), "%3Cstyle%3E%20%3C%21--%20%3C/style%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22"],"b28eaef63aeeb165eceb56152d50767327f975fa":[async_test('html5lib_tests5.html b28eaef63aeeb165eceb56152d50767327f975fa'), "%3Cstyle%3E%20%3C%21--%20%3C/style%3E%20--%3E%20%3C/style%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%20%22%0A%7C%20%20%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%20x%22"],"20c1b55aabcd426fa5975648f21cff40fa3fc2e3":[async_test('html5lib_tests5.html 20c1b55aabcd426fa5975648f21cff40fa3fc2e3'), "%3Cstyle%3E%20%3C%21--%3E%20%3C/style%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%3E%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22"],"cc87be99b2531e4c0c1fd95f81cd4dd989f699d3":[async_test('html5lib_tests5.html cc87be99b2531e4c0c1fd95f81cd4dd989f699d3'), "%3Cstyle%3E%20%3C%21---%3E%20%3C/style%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21---%3E%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22"],"283a0f4eb33a3ee80f718020268bf1794a758ec9":[async_test('html5lib_tests5.html 283a0f4eb33a3ee80f718020268bf1794a758ec9'), "%3Ciframe%3E%20%3C%21---%3E%20%3C/iframe%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21---%3E%20%22%0A%7C%20%20%20%20%20%22x%22"],"bde8b7a035edd6f123f45708ac10b4f60e81edf4":[async_test('html5lib_tests5.html bde8b7a035edd6f123f45708ac10b4f60e81edf4'), "%3Ciframe%3E%20%3C%21---%20%3C/iframe%3E-%3Ex%3C/iframe%3E%20--%3E%20%3C/iframe%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ciframe%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21---%20%22%0A%7C%20%20%20%20%20%22-%3Ex%20--%3E%20x%22"],"6ace30add7690cda74de9830481c95bef1f5976d":[async_test('html5lib_tests5.html 6ace30add7690cda74de9830481c95bef1f5976d'), "%3Cscript%3E%20%3C%21--%20%3C/script%3E%20--%3E%20%3C/script%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%20%22%0A%7C%20%20%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%20x%22"],"3c5f82c8db30cc1cce4c7fa8a5d18cf13ce8d007":[async_test('html5lib_tests5.html 3c5f82c8db30cc1cce4c7fa8a5d18cf13ce8d007'), "%3Ctitle%3E%20%3C%21--%20%3C/title%3E%20--%3E%20%3C/title%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%20%22%0A%7C%20%20%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%20x%22"],"9cac6179dc295f43afd5a41ed98aef3a9d5a08de":[async_test('html5lib_tests5.html 9cac6179dc295f43afd5a41ed98aef3a9d5a08de'), "%3Ctextarea%3E%20%3C%21---%20%3C/textarea%3E-%3Ex%3C/textarea%3E%20--%3E%20%3C/textarea%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctextarea%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21---%20%22%0A%7C%20%20%20%20%20%22-%3Ex%20--%3E%20x%22"],"021a5fbf8c725781d08dce099d21f7023c9bb26d":[async_test('html5lib_tests5.html 021a5fbf8c725781d08dce099d21f7023c9bb26d'), "%3Cstyle%3E%20%3C%21%3C/--%20%3C/style%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21%3C/--%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22"],"412eae0c0e6e5da254550debd587ff86cff55c0c":[async_test('html5lib_tests5.html 412eae0c0e6e5da254550debd587ff86cff55c0c'), "%3Cp%3E%3Cxmp%3E%3C/xmp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cxmp%3E"],"410a64500216425d811748b0258c92a49fbad0ff":[async_test('html5lib_tests5.html 410a64500216425d811748b0258c92a49fbad0ff'), "%3Cxmp%3E%20%3C%21--%20%3E%20--%3E%20%3C/xmp%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cxmp%3E%0A%7C%20%20%20%20%20%20%20%22%20%3C%21--%20%3E%20--%3E%20%22"],"bd7dfd1a0f74731c22b3e2d331f7c14ba7c9a4e8":[async_test('html5lib_tests5.html bd7dfd1a0f74731c22b3e2d331f7c14ba7c9a4e8'), "%3Ctitle%3E%26amp%3B%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%26%22%0A%7C%20%20%20%3Cbody%3E"],"5f847a390a413a42fcef3d4510ddc56815c7d722":[async_test('html5lib_tests5.html 5f847a390a413a42fcef3d4510ddc56815c7d722'), "%3Ctitle%3E%3C%21--%26amp%3B--%3E%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%26--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"6d5b2f84df760f8995146c406c2dd07ba5510f7f":[async_test('html5lib_tests5.html 6d5b2f84df760f8995146c406c2dd07ba5510f7f'), "%3Ctitle%3E%3C%21--%3C/title%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E"],"eded02e700d7329f650a9a38ef7ea6c0e453766b":[async_test('html5lib_tests5.html eded02e700d7329f650a9a38ef7ea6c0e453766b'), "%3Cnoscript%3E%3C%21--%3C/noscript%3E--%3E%3C/noscript%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22--%3E%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests6.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests6.html
new file mode 100644
index 0000000000..2bc2df75b0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests6.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests6.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['d6280e971dd654968ee3c867bec8a3c7d1b885e5','c647c78bfe3660e1ea7d50a04440ed5ace26bd98','fa05c524ac7918197adf422a2c4be35d5eca9ddc','652ae0a8ca3ab725b2d10e9866898b3419333f64','03dad50ea8dd5ba10d8ed7c182e6ce5e654c02dc','3ef045a4e33856f8dac96feaf6f9b06df4bbb49e','fe9fca0f0d3f199ab59c8ef90017f34bcc670ecb','9f8748b72268a2f55e31f89ded4321c5aa4cfbb2','33832cc94bb649f53372c331cbf9234f9b131bec','cbec315b899132776db7598e77d306464e274d32','5a5e3a8ce3d91e10976d5f33b40a7f140b76bc36','ee14c28b79472014c7f456e7cf38a0d93d67b4d3','2d5d4c4867479737e6b5c45b0d5c5541b8353b88','2ea8b4e550e7f34dc52aec0b1870f3d729c20962','6d027310e96f9ac1628e4c67f49e0c690a009232','ad38bf32b77d3553168d6009b1b66029e59d8f80','78b741dafb63b9a5a78ad53915c4c4ee35d1ed9c','dbd7339544532dabb0b7a9136f6463a9c13c8897','5289376d3bace713fc7100577490c56e52dbfa46','ec71973ac3055b0dcfd47c0fc7e7dadc17cd6987','8c25d5edc43b61c47914db4e75a4d96bdd6b2be6','747c389eaf38370a1a7ec79bfeeb3b12c6512bfd','80e4700f134aa20d20eb82fd6cb35cb5846e0ce5','dd5e1c5216565fa8a816078e94528d7596cc2d68','b56b3db519a860b7d17e3bef387900a0d633d393','65a48cd67ebd59c603f45a5b9c2ad99a1ce2058a','64ef2f60587cbae9e7ffec9dc1a295ee4e1a116f','cec679ccf989d4a6985421a9cc301ebfa4667c23','4e48da4a2bca8ce4592e83eb0a076e7d61c297b0','3b2d876e5021de26cf6fdc8d76f6953d08d62180','fb1378f51de760693e7b779830d94033e93be24d','50adfdb7bde3e9bee16021cec1acadbe20858971','f9ca74f9f03a884b09d6a0cb6c53ff84807932e1','09f8c3624809ce2d40845ec3dea2bf6b95eadef2','f591efd2366066d4d02bb2f75bc7eb1151df3734','d25453a832050a3d5e5a908387901544ce92cc3b','5e2f65ba7616b7b909591edca14004e84db39220','8a5717873290cad9d9d67ad4785836bed8f93d35','3e215e4e155dec8d3d6a5a9190e78fce621083e1',];
+ var tests = {
+ "d6280e971dd654968ee3c867bec8a3c7d1b885e5":[async_test('html5lib_tests6.html d6280e971dd654968ee3c867bec8a3c7d1b885e5'), "%3C%21doctype%20html%3E%3C/head%3E%20%3Chead%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E"],"c647c78bfe3660e1ea7d50a04440ed5ace26bd98":[async_test('html5lib_tests6.html c647c78bfe3660e1ea7d50a04440ed5ace26bd98'), "%3C%21doctype%20html%3E%3Cform%3E%3Cdiv%3E%3C/form%3E%3Cdiv%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cform%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"fa05c524ac7918197adf422a2c4be35d5eca9ddc":[async_test('html5lib_tests6.html fa05c524ac7918197adf422a2c4be35d5eca9ddc'), "%3C%21doctype%20html%3E%3Ctitle%3E%26amp%3B%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%26%22%0A%7C%20%20%20%3Cbody%3E"],"652ae0a8ca3ab725b2d10e9866898b3419333f64":[async_test('html5lib_tests6.html 652ae0a8ca3ab725b2d10e9866898b3419333f64'), "%3C%21doctype%20html%3E%3Ctitle%3E%3C%21--%26amp%3B--%3E%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22%3C%21--%26--%3E%22%0A%7C%20%20%20%3Cbody%3E"],"03dad50ea8dd5ba10d8ed7c182e6ce5e654c02dc":[async_test('html5lib_tests6.html 03dad50ea8dd5ba10d8ed7c182e6ce5e654c02dc'), "%3C%21doctype%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"3ef045a4e33856f8dac96feaf6f9b06df4bbb49e":[async_test('html5lib_tests6.html 3ef045a4e33856f8dac96feaf6f9b06df4bbb49e'), "%3C%21---x", "%23document%0A%7C%20%3C%21--%20-x%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"fe9fca0f0d3f199ab59c8ef90017f34bcc670ecb":[async_test('html5lib_tests6.html fe9fca0f0d3f199ab59c8ef90017f34bcc670ecb'), "%3Cframeset%3E%3C/frameset%3E%0Afoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%0A%22"],"9f8748b72268a2f55e31f89ded4321c5aa4cfbb2":[async_test('html5lib_tests6.html 9f8748b72268a2f55e31f89ded4321c5aa4cfbb2'), "%3Cframeset%3E%3C/frameset%3E%0A%3Cnoframes%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%0A%22%0A%7C%20%20%20%3Cnoframes%3E"],"33832cc94bb649f53372c331cbf9234f9b131bec":[async_test('html5lib_tests6.html 33832cc94bb649f53372c331cbf9234f9b131bec'), "%3Cframeset%3E%3C/frameset%3E%0A%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%0A%22"],"cbec315b899132776db7598e77d306464e274d32":[async_test('html5lib_tests6.html cbec315b899132776db7598e77d306464e274d32'), "%3Cframeset%3E%3C/frameset%3E%0A%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%0A%22"],"5a5e3a8ce3d91e10976d5f33b40a7f140b76bc36":[async_test('html5lib_tests6.html 5a5e3a8ce3d91e10976d5f33b40a7f140b76bc36'), "%3Cframeset%3E%3C/frameset%3E%0A%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%0A%22"],"ee14c28b79472014c7f456e7cf38a0d93d67b4d3":[async_test('html5lib_tests6.html ee14c28b79472014c7f456e7cf38a0d93d67b4d3'), "%3Cform%3E%3Cform%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cform%3E"],"2d5d4c4867479737e6b5c45b0d5c5541b8353b88":[async_test('html5lib_tests6.html 2d5d4c4867479737e6b5c45b0d5c5541b8353b88'), "%3Cbutton%3E%3Cbutton%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbutton%3E%0A%7C%20%20%20%20%20%3Cbutton%3E"],"2ea8b4e550e7f34dc52aec0b1870f3d729c20962":[async_test('html5lib_tests6.html 2ea8b4e550e7f34dc52aec0b1870f3d729c20962'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3C/th%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"6d027310e96f9ac1628e4c67f49e0c690a009232":[async_test('html5lib_tests6.html 6d027310e96f9ac1628e4c67f49e0c690a009232'), "%3Ctable%3E%3Ccaption%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"ad38bf32b77d3553168d6009b1b66029e59d8f80":[async_test('html5lib_tests6.html ad38bf32b77d3553168d6009b1b66029e59d8f80'), "%3Ctable%3E%3Ccaption%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"78b741dafb63b9a5a78ad53915c4c4ee35d1ed9c":[async_test('html5lib_tests6.html 78b741dafb63b9a5a78ad53915c4c4ee35d1ed9c'), "%3Ctable%3E%3Ccaption%3E%3Cdiv%3E%3C/caption%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"dbd7339544532dabb0b7a9136f6463a9c13c8897":[async_test('html5lib_tests6.html dbd7339544532dabb0b7a9136f6463a9c13c8897'), "%3Ctable%3E%3Ccaption%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E"],"5289376d3bace713fc7100577490c56e52dbfa46":[async_test('html5lib_tests6.html 5289376d3bace713fc7100577490c56e52dbfa46'), "%3Ctable%3E%3Ccaption%3E%3C/body%3E%3C/col%3E%3C/colgroup%3E%3C/html%3E%3C/tbody%3E%3C/td%3E%3C/tfoot%3E%3C/th%3E%3C/thead%3E%3C/tr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E"],"ec71973ac3055b0dcfd47c0fc7e7dadc17cd6987":[async_test('html5lib_tests6.html ec71973ac3055b0dcfd47c0fc7e7dadc17cd6987'), "%3Ctable%3E%3Ccaption%3E%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"8c25d5edc43b61c47914db4e75a4d96bdd6b2be6":[async_test('html5lib_tests6.html 8c25d5edc43b61c47914db4e75a4d96bdd6b2be6'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3C/body%3E%3C/caption%3E%3C/col%3E%3C/colgroup%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"747c389eaf38370a1a7ec79bfeeb3b12c6512bfd":[async_test('html5lib_tests6.html 747c389eaf38370a1a7ec79bfeeb3b12c6512bfd'), "%3Ctable%3E%3Ccolgroup%3Efoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"80e4700f134aa20d20eb82fd6cb35cb5846e0ce5":[async_test('html5lib_tests6.html 80e4700f134aa20d20eb82fd6cb35cb5846e0ce5'), "%3Ctable%3E%3Ccolgroup%3E%3C/col%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E"],"dd5e1c5216565fa8a816078e94528d7596cc2d68":[async_test('html5lib_tests6.html dd5e1c5216565fa8a816078e94528d7596cc2d68'), "%3Cframeset%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"b56b3db519a860b7d17e3bef387900a0d633d393":[async_test('html5lib_tests6.html b56b3db519a860b7d17e3bef387900a0d633d393'), "%3Cframeset%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"65a48cd67ebd59c603f45a5b9c2ad99a1ce2058a":[async_test('html5lib_tests6.html 65a48cd67ebd59c603f45a5b9c2ad99a1ce2058a'), "%3Ctable%3E%3Ctr%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"64ef2f60587cbae9e7ffec9dc1a295ee4e1a116f":[async_test('html5lib_tests6.html 64ef2f60587cbae9e7ffec9dc1a295ee4e1a116f'), "%3Ctable%3E%3Ctr%3E%3Cdiv%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"cec679ccf989d4a6985421a9cc301ebfa4667c23":[async_test('html5lib_tests6.html cec679ccf989d4a6985421a9cc301ebfa4667c23'), "%3Ctable%3E%3Ctbody%3E%3C/thead%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E"],"4e48da4a2bca8ce4592e83eb0a076e7d61c297b0":[async_test('html5lib_tests6.html 4e48da4a2bca8ce4592e83eb0a076e7d61c297b0'), "%3Ctable%3E%3Ctbody%3E%3C/body%3E%3C/caption%3E%3C/col%3E%3C/colgroup%3E%3C/html%3E%3C/td%3E%3C/th%3E%3C/tr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E"],"3b2d876e5021de26cf6fdc8d76f6953d08d62180":[async_test('html5lib_tests6.html 3b2d876e5021de26cf6fdc8d76f6953d08d62180'), "%3Ctable%3E%3Ctbody%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E"],"fb1378f51de760693e7b779830d94033e93be24d":[async_test('html5lib_tests6.html fb1378f51de760693e7b779830d94033e93be24d'), "%3Ctable%3E%3Ctable%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"50adfdb7bde3e9bee16021cec1acadbe20858971":[async_test('html5lib_tests6.html 50adfdb7bde3e9bee16021cec1acadbe20858971'), "%3Ctable%3E%3C/body%3E%3C/caption%3E%3C/col%3E%3C/colgroup%3E%3C/html%3E%3C/tbody%3E%3C/td%3E%3C/tfoot%3E%3C/th%3E%3C/thead%3E%3C/tr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"f9ca74f9f03a884b09d6a0cb6c53ff84807932e1":[async_test('html5lib_tests6.html f9ca74f9f03a884b09d6a0cb6c53ff84807932e1'), "%3Chtml%3E%3Cframeset%3E%3C/frameset%3E%3C/html%3E%20", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%22%20%22"],"09f8c3624809ce2d40845ec3dea2bf6b95eadef2":[async_test('html5lib_tests6.html 09f8c3624809ce2d40845ec3dea2bf6b95eadef2'), "%3C%21DOCTYPE%20html%20PUBLIC%20%22-//W3C//DTD%20HTML%204.01//EN%22%3E%3Chtml%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%20%22-//W3C//DTD%20HTML%204.01//EN%22%20%22%22%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"f591efd2366066d4d02bb2f75bc7eb1151df3734":[async_test('html5lib_tests6.html f591efd2366066d4d02bb2f75bc7eb1151df3734'), "%3Cparam%3E%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"d25453a832050a3d5e5a908387901544ce92cc3b":[async_test('html5lib_tests6.html d25453a832050a3d5e5a908387901544ce92cc3b'), "%3Csource%3E%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"5e2f65ba7616b7b909591edca14004e84db39220":[async_test('html5lib_tests6.html 5e2f65ba7616b7b909591edca14004e84db39220'), "%3Ctrack%3E%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"8a5717873290cad9d9d67ad4785836bed8f93d35":[async_test('html5lib_tests6.html 8a5717873290cad9d9d67ad4785836bed8f93d35'), "%3C/html%3E%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"3e215e4e155dec8d3d6a5a9190e78fce621083e1":[async_test('html5lib_tests6.html 3e215e4e155dec8d3d6a5a9190e78fce621083e1'), "%3C/body%3E%3Cframeset%3E%3C/frameset%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests7.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests7.html
new file mode 100644
index 0000000000..80101866f7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests7.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests7.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['7cb496e242a4dc9aed321252b5ca6ebf4f02ebcd','c0cffec1e999db2aefb2f6beb679fd9620566dbd','7c644a6da21bfd551385b0a5044b82cf7be0a22f','52fde917ba333b89afeff0e31104421455f4bf1b','b017906f7e2732092551b16ecd1b98df0983abcc','625cdec7c7d867748ac3b5be04e3e801a8c51fa5','6e8dd947155d1db292a0c289b3056891d89edaf5','a8f53ca779c0e5fc484771c4ec2aa6fb6d609779','e4ce65a5fb6a3726b341ec94da583dee7c2c8232','8779e761986b4c724bfe73fee95b7972145fb4d3','620e44a8a55e82cec0d51e9d93025d8a5c4456fc','37b910b755c2df155a3129d5a1150f0c0fdd7934','868bff3a23219b836fdc702063d637f817ce65e1','a33a56f5571b4bcb23138ffb60df3824f5c53773','facf5e60205451cf740f64628b8608f0aee30f3a','8ba11b54fa74a1c229d079b2902d6e33e139f33b','84e2152c284f4dfee7d8d12846c08b2c025578a6','8e3432411baa59cbef731ab3ba2703cb5d518453','e2f6144290512430ad25bbf9598eae77288c7b7a','350ebd648764d585f4aa0c29b925e6276579e9d0','9120ef80d3ee017007f3510121ddf7eba31b79e0','2026cd3ed42e41c168dd37c8c2675584f4eef335','ff2e324237e22efc8430ad7137d50d6d3d311820','02c9eb822611b0c206b544e0f2e5044695195ba8','cb3d1a50dd56a85135a0856cfa1c23a091ef2af4','13847685cfff75642823a0e78c6ef232ecb9d94b','99bb5e9a6e0daf62ba418dd97b5e8e3925f4137e','7a8e5ec2c95e725717c564dd49bfa86c2e1a88ba','17dcea170bb74d18ed4776dbb98f0bac6a11364d','9457c10c9f987bbc95937b34763fe956d61d237b','0fa23bb5d8b2a591afb1842b8f4c00c490c127b4','f6d60b3ae48e2b69b4c25125f9b5a3ab4867521b','5b0b3edcc3ce9fdc9f58eb62d326865ca0aab8c8',];
+ var tests = {
+ "7cb496e242a4dc9aed321252b5ca6ebf4f02ebcd":[async_test('html5lib_tests7.html 7cb496e242a4dc9aed321252b5ca6ebf4f02ebcd'), "%3C%21doctype%20html%3E%3Cbody%3E%3Ctitle%3EX%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"c0cffec1e999db2aefb2f6beb679fd9620566dbd":[async_test('html5lib_tests7.html c0cffec1e999db2aefb2f6beb679fd9620566dbd'), "%3C%21doctype%20html%3E%3Ctable%3E%3Ctitle%3EX%3C/title%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"7c644a6da21bfd551385b0a5044b82cf7be0a22f":[async_test('html5lib_tests7.html 7c644a6da21bfd551385b0a5044b82cf7be0a22f'), "%3C%21doctype%20html%3E%3Chead%3E%3C/head%3E%3Ctitle%3EX%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%3Cbody%3E"],"52fde917ba333b89afeff0e31104421455f4bf1b":[async_test('html5lib_tests7.html 52fde917ba333b89afeff0e31104421455f4bf1b'), "%3C%21doctype%20html%3E%3C/head%3E%3Ctitle%3EX%3C/title%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%3Cbody%3E"],"b017906f7e2732092551b16ecd1b98df0983abcc":[async_test('html5lib_tests7.html b017906f7e2732092551b16ecd1b98df0983abcc'), "%3C%21doctype%20html%3E%3C/head%3E%3Cbase%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cbase%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"625cdec7c7d867748ac3b5be04e3e801a8c51fa5":[async_test('html5lib_tests7.html 625cdec7c7d867748ac3b5be04e3e801a8c51fa5'), "%3C%21doctype%20html%3E%3C/head%3E%3Cbasefont%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cbasefont%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"6e8dd947155d1db292a0c289b3056891d89edaf5":[async_test('html5lib_tests7.html 6e8dd947155d1db292a0c289b3056891d89edaf5'), "%3C%21doctype%20html%3E%3C/head%3E%3Cbgsound%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cbgsound%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22"],"a8f53ca779c0e5fc484771c4ec2aa6fb6d609779":[async_test('html5lib_tests7.html a8f53ca779c0e5fc484771c4ec2aa6fb6d609779'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cmeta%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"e4ce65a5fb6a3726b341ec94da583dee7c2c8232":[async_test('html5lib_tests7.html e4ce65a5fb6a3726b341ec94da583dee7c2c8232'), "%3C%21doctype%20html%3E%3Ctable%3EX%3Ctr%3E%3Ctd%3E%3Ctable%3E%20%3Cmeta%3E%3C/table%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20%22"],"8779e761986b4c724bfe73fee95b7972145fb4d3":[async_test('html5lib_tests7.html 8779e761986b4c724bfe73fee95b7972145fb4d3'), "%3C%21doctype%20html%3E%3Chtml%3E%20%3Chead%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"620e44a8a55e82cec0d51e9d93025d8a5c4456fc":[async_test('html5lib_tests7.html 620e44a8a55e82cec0d51e9d93025d8a5c4456fc'), "%3C%21doctype%20html%3E%20%3Chead%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"37b910b755c2df155a3129d5a1150f0c0fdd7934":[async_test('html5lib_tests7.html 37b910b755c2df155a3129d5a1150f0c0fdd7934'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cstyle%3E%20%3Ctr%3Ex%20%3C/style%3E%20%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20%3Ctr%3Ex%20%22%0A%7C%20%20%20%20%20%20%20%22%20%22"],"868bff3a23219b836fdc702063d637f817ce65e1":[async_test('html5lib_tests7.html 868bff3a23219b836fdc702063d637f817ce65e1'), "%3C%21doctype%20html%3E%3Ctable%3E%3CTBODY%3E%3Cscript%3E%20%3Ctr%3Ex%20%3C/script%3E%20%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20%3Ctr%3Ex%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22"],"a33a56f5571b4bcb23138ffb60df3824f5c53773":[async_test('html5lib_tests7.html a33a56f5571b4bcb23138ffb60df3824f5c53773'), "%3C%21doctype%20html%3E%3Cp%3E%3Capplet%3E%3Cp%3EX%3C/p%3E%3C/applet%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Capplet%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"facf5e60205451cf740f64628b8608f0aee30f3a":[async_test('html5lib_tests7.html facf5e60205451cf740f64628b8608f0aee30f3a'), "%3C%21doctype%20html%3E%3Cp%3E%3Cobject%20type%3D%22application/x-non-existant-plugin%22%3E%3Cp%3EX%3C/p%3E%3C/object%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cobject%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22application/x-non-existant-plugin%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22X%22"],"8ba11b54fa74a1c229d079b2902d6e33e139f33b":[async_test('html5lib_tests7.html 8ba11b54fa74a1c229d079b2902d6e33e139f33b'), "%3C%21doctype%20html%3E%3Clisting%3E%0AX%3C/listing%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Clisting%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"84e2152c284f4dfee7d8d12846c08b2c025578a6":[async_test('html5lib_tests7.html 84e2152c284f4dfee7d8d12846c08b2c025578a6'), "%3C%21doctype%20html%3E%3Cselect%3E%3Cinput%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%22X%22"],"8e3432411baa59cbef731ab3ba2703cb5d518453":[async_test('html5lib_tests7.html 8e3432411baa59cbef731ab3ba2703cb5d518453'), "%3C%21doctype%20html%3E%3Cselect%3E%3Cselect%3EX", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%22X%22"],"e2f6144290512430ad25bbf9598eae77288c7b7a":[async_test('html5lib_tests7.html e2f6144290512430ad25bbf9598eae77288c7b7a'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cinput%20type%3DhidDEN%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22hidDEN%22"],"350ebd648764d585f4aa0c29b925e6276579e9d0":[async_test('html5lib_tests7.html 350ebd648764d585f4aa0c29b925e6276579e9d0'), "%3C%21doctype%20html%3E%3Ctable%3EX%3Cinput%20type%3DhidDEN%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22hidDEN%22"],"9120ef80d3ee017007f3510121ddf7eba31b79e0":[async_test('html5lib_tests7.html 9120ef80d3ee017007f3510121ddf7eba31b79e0'), "%3C%21doctype%20html%3E%3Ctable%3E%20%20%3Cinput%20type%3DhidDEN%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%20%20%22%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22hidDEN%22"],"2026cd3ed42e41c168dd37c8c2675584f4eef335":[async_test('html5lib_tests7.html 2026cd3ed42e41c168dd37c8c2675584f4eef335'), "%3C%21doctype%20html%3E%3Ctable%3E%20%20%3Cinput%20type%3D%27hidDEN%27%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%20%20%22%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22hidDEN%22"],"ff2e324237e22efc8430ad7137d50d6d3d311820":[async_test('html5lib_tests7.html ff2e324237e22efc8430ad7137d50d6d3d311820'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cinput%20type%3D%22%20hidden%22%3E%3Cinput%20type%3DhidDEN%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20type%3D%22%20hidden%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20%20%20type%3D%22hidDEN%22"],"02c9eb822611b0c206b544e0f2e5044695195ba8":[async_test('html5lib_tests7.html 02c9eb822611b0c206b544e0f2e5044695195ba8'), "%3C%21doctype%20html%3E%3Ctable%3E%3Cselect%3EX%3Ctr%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%22X%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"cb3d1a50dd56a85135a0856cfa1c23a091ef2af4":[async_test('html5lib_tests7.html cb3d1a50dd56a85135a0856cfa1c23a091ef2af4'), "%3C%21doctype%20html%3E%3Cselect%3EX%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%22X%22"],"13847685cfff75642823a0e78c6ef232ecb9d94b":[async_test('html5lib_tests7.html 13847685cfff75642823a0e78c6ef232ecb9d94b'), "%3C%21DOCTYPE%20hTmL%3E%3Chtml%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"99bb5e9a6e0daf62ba418dd97b5e8e3925f4137e":[async_test('html5lib_tests7.html 99bb5e9a6e0daf62ba418dd97b5e8e3925f4137e'), "%3C%21DOCTYPE%20HTML%3E%3Chtml%3E%3C/html%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"7a8e5ec2c95e725717c564dd49bfa86c2e1a88ba":[async_test('html5lib_tests7.html 7a8e5ec2c95e725717c564dd49bfa86c2e1a88ba'), "%3Cdiv%3E%3Cp%3Ea%3C/x%3E%20b", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22a%20b%22"],"17dcea170bb74d18ed4776dbb98f0bac6a11364d":[async_test('html5lib_tests7.html 17dcea170bb74d18ed4776dbb98f0bac6a11364d'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Ccode%3E%3C/code%3E%20%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccode%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20%22"],"9457c10c9f987bbc95937b34763fe956d61d237b":[async_test('html5lib_tests7.html 9457c10c9f987bbc95937b34763fe956d61d237b'), "%3Ctable%3E%3Cb%3E%3Ctr%3E%3Ctd%3Eaaa%3C/td%3E%3C/tr%3Ebbb%3C/table%3Eccc", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22bbb%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22aaa%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22ccc%22"],"0fa23bb5d8b2a591afb1842b8f4c00c490c127b4":[async_test('html5lib_tests7.html 0fa23bb5d8b2a591afb1842b8f4c00c490c127b4'), "A%3Ctable%3E%3Ctr%3E%20B%3C/tr%3E%20B%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%20B%20B%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"f6d60b3ae48e2b69b4c25125f9b5a3ab4867521b":[async_test('html5lib_tests7.html f6d60b3ae48e2b69b4c25125f9b5a3ab4867521b'), "A%3Ctable%3E%3Ctr%3E%20B%3C/tr%3E%20%3C/em%3EC%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%20BC%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22"],"5b0b3edcc3ce9fdc9f58eb62d326865ca0aab8c8":[async_test('html5lib_tests7.html 5b0b3edcc3ce9fdc9f58eb62d326865ca0aab8c8'), "%3Cselect%3E%3Ckeygen%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%3Ckeygen%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests8.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests8.html
new file mode 100644
index 0000000000..ac8b5b6c15
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests8.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests8.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['5097f2cd0124cf5a23c7ccbe25f71a06966503df','0e11d51b0f71098caaccd166c368918c93683a7c','5c8ec9b2d6f03c2e971dc192897f3fcff92e5a32','a1fe2c2debb936fc1bf663f0d7228eb509522467','dbd09e012016b52703ab081360265d3bf96f3c76','bf7c4a4a4872a47746e3e26a2e57394352514c2a','a57d838264ec0d79c8b0c3cb1feb5cb941c0084d','263ff1438ee785d081669eea0fa110cca1d0d590','1ace730a87644923b11aa89e4e472cc5dd91edb7','26454c08b0d791754bf2f94fbee62624cae5fa5c',];
+ var tests = {
+ "5097f2cd0124cf5a23c7ccbe25f71a06966503df":[async_test('html5lib_tests8.html 5097f2cd0124cf5a23c7ccbe25f71a06966503df'), "%3Cdiv%3E%0A%3Cdiv%3E%3C/div%3E%0A%3C/span%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%0Ax%22"],"0e11d51b0f71098caaccd166c368918c93683a7c":[async_test('html5lib_tests8.html 0e11d51b0f71098caaccd166c368918c93683a7c'), "%3Cdiv%3Ex%3Cdiv%3E%3C/div%3E%0A%3C/span%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22%0Ax%22"],"5c8ec9b2d6f03c2e971dc192897f3fcff92e5a32":[async_test('html5lib_tests8.html 5c8ec9b2d6f03c2e971dc192897f3fcff92e5a32'), "%3Cdiv%3Ex%3Cdiv%3E%3C/div%3Ex%3C/span%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22xx%22"],"a1fe2c2debb936fc1bf663f0d7228eb509522467":[async_test('html5lib_tests8.html a1fe2c2debb936fc1bf663f0d7228eb509522467'), "%3Cdiv%3Ex%3Cdiv%3E%3C/div%3Ey%3C/span%3Ez", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22yz%22"],"dbd09e012016b52703ab081360265d3bf96f3c76":[async_test('html5lib_tests8.html dbd09e012016b52703ab081360265d3bf96f3c76'), "%3Ctable%3E%3Cdiv%3Ex%3Cdiv%3E%3C/div%3Ex%3C/span%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22xx%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"bf7c4a4a4872a47746e3e26a2e57394352514c2a":[async_test('html5lib_tests8.html bf7c4a4a4872a47746e3e26a2e57394352514c2a'), "%3Ctable%3E%3Cli%3E%3Cli%3E%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"a57d838264ec0d79c8b0c3cb1feb5cb941c0084d":[async_test('html5lib_tests8.html a57d838264ec0d79c8b0c3cb1feb5cb941c0084d'), "x%3Ctable%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22xx%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"263ff1438ee785d081669eea0fa110cca1d0d590":[async_test('html5lib_tests8.html 263ff1438ee785d081669eea0fa110cca1d0d590'), "x%3Ctable%3E%3Ctable%3Ex", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"1ace730a87644923b11aa89e4e472cc5dd91edb7":[async_test('html5lib_tests8.html 1ace730a87644923b11aa89e4e472cc5dd91edb7'), "%3Cb%3Ea%3Cdiv%3E%3C/div%3E%3Cdiv%3E%3C/b%3Ey", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22y%22"],"26454c08b0d791754bf2f94fbee62624cae5fa5c":[async_test('html5lib_tests8.html 26454c08b0d791754bf2f94fbee62624cae5fa5c'), "%3Ca%3E%3Cdiv%3E%3Cp%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tests9.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests9.html
new file mode 100644
index 0000000000..8cd9132d16
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tests9.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tests9.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['cb005f4b2a248cc98dc153d7391715b8d113cd0d','6b687e562bd878d3a6098f0a1b1c05b04dc8c02c','a28615629ac367bd8127ff3049e81b349e7ec7f6','d70e711bf9b7582d9b83488ab14f99b53a0f3a26','b2a8131e72e53265479c08cd18d4f4663278a021','a45a8948b799dadc321a86ff0bebf13167b5f076','9d6809ff0d5796525b655f44e8abe4267cfd84e1','2243c76da49f512eddbdf3f63965a70b8f3f5563','64ccbdfede00715ff2b6c0818d78774e0ea49fd4','58a5b5c13c3cc04948ca053afec1879602812beb','3be30b785cfbb6b1210720d032808e6484004fad','fe4054e577d1a3afa91c02b6782e35b76f2b3a50','9f12eef91092bcaaef567214144e1320b389296a','2f18900946d7a7f7922c929b72537e5ce8aacb70','2d4f10eec8e9623ef881edd20a639d3572134fd5','18485b14fd6568a096121ce8b8683a47945326d3','1d7a80644fe4b5f580c39adee71d5432cb186285','224e1bcb8030f0972c17d0fc68d912be17905e1c','e84d33cef974e49b69bdbc0c663c018a4dd010c0','5f4d3b90e4d99fae5ff97ebb9968185c77ffc591','00a77c689b7b8bb6440604f4273de3bfbcbcbe8b','15d4afd62caf2fcb27bb4aff89ba4fcb0e58c0b9','ef6c7a1da34520d2a4a90a0f2e8de9ed334bd482','0705988884bc08d8133e5d8a8eb693db5c86688e','093c0dbf464f9745c3730de57afebd9da308d34c','35aec8963beaced8149a74366eb9b1eb13be6717','931baaac96aab65ad0449b70c374ba56dcdbab9d',];
+ var tests = {
+ "cb005f4b2a248cc98dc153d7391715b8d113cd0d":[async_test('html5lib_tests9.html cb005f4b2a248cc98dc153d7391715b8d113cd0d'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E"],"6b687e562bd878d3a6098f0a1b1c05b04dc8c02c":[async_test('html5lib_tests9.html 6b687e562bd878d3a6098f0a1b1c05b04dc8c02c'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cmath%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E"],"a28615629ac367bd8127ff3049e81b349e7ec7f6":[async_test('html5lib_tests9.html a28615629ac367bd8127ff3049e81b349e7ec7f6'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cmi%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E"],"d70e711bf9b7582d9b83488ab14f99b53a0f3a26":[async_test('html5lib_tests9.html d70e711bf9b7582d9b83488ab14f99b53a0f3a26'), "%3C%21DOCTYPE%20html%3E%3Cmath%3E%3Cannotation-xml%3E%3Csvg%3E%3Cu%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20annotation-xml%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cu%3E"],"b2a8131e72e53265479c08cd18d4f4663278a021":[async_test('html5lib_tests9.html b2a8131e72e53265479c08cd18d4f4663278a021'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cselect%3E%3Cmath%3E%3C/math%3E%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E"],"a45a8948b799dadc321a86ff0bebf13167b5f076":[async_test('html5lib_tests9.html a45a8948b799dadc321a86ff0bebf13167b5f076'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Cselect%3E%3Coption%3E%3Cmath%3E%3C/math%3E%3C/option%3E%3C/select%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E"],"9d6809ff0d5796525b655f44e8abe4267cfd84e1":[async_test('html5lib_tests9.html 9d6809ff0d5796525b655f44e8abe4267cfd84e1'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Cmath%3E%3C/math%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"2243c76da49f512eddbdf3f63965a70b8f3f5563":[async_test('html5lib_tests9.html 2243c76da49f512eddbdf3f63965a70b8f3f5563'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3C/math%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"64ccbdfede00715ff2b6c0818d78774e0ea49fd4":[async_test('html5lib_tests9.html 64ccbdfede00715ff2b6c0818d78774e0ea49fd4'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3C/math%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Ctable%3E"],"58a5b5c13c3cc04948ca053afec1879602812beb":[async_test('html5lib_tests9.html 58a5b5c13c3cc04948ca053afec1879602812beb'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3C/math%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E"],"3be30b785cfbb6b1210720d032808e6484004fad":[async_test('html5lib_tests9.html 3be30b785cfbb6b1210720d032808e6484004fad'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3C/math%3E%3C/tr%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"fe4054e577d1a3afa91c02b6782e35b76f2b3a50":[async_test('html5lib_tests9.html fe4054e577d1a3afa91c02b6782e35b76f2b3a50'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Ctd%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3C/math%3E%3C/td%3E%3C/tr%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22"],"9f12eef91092bcaaef567214144e1320b389296a":[async_test('html5lib_tests9.html 9f12eef91092bcaaef567214144e1320b389296a'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctbody%3E%3Ctr%3E%3Ctd%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3C/math%3E%3Cp%3Ebaz%3C/td%3E%3C/tr%3E%3C/tbody%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22baz%22"],"2f18900946d7a7f7922c929b72537e5ce8aacb70":[async_test('html5lib_tests9.html 2f18900946d7a7f7922c929b72537e5ce8aacb70'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccaption%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3C/math%3E%3Cp%3Ebaz%3C/caption%3E%3C/table%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22"],"2d4f10eec8e9623ef881edd20a639d3572134fd5":[async_test('html5lib_tests9.html 2d4f10eec8e9623ef881edd20a639d3572134fd5'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccaption%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"18485b14fd6568a096121ce8b8683a47945326d3":[async_test('html5lib_tests9.html 18485b14fd6568a096121ce8b8683a47945326d3'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccaption%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccaption%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"1d7a80644fe4b5f580c39adee71d5432cb186285":[async_test('html5lib_tests9.html 1d7a80644fe4b5f580c39adee71d5432cb186285'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ccolgroup%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22baz%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"224e1bcb8030f0972c17d0fc68d912be17905e1c":[async_test('html5lib_tests9.html 224e1bcb8030f0972c17d0fc68d912be17905e1c'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22foobarbaz%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"e84d33cef974e49b69bdbc0c663c018a4dd010c0":[async_test('html5lib_tests9.html e84d33cef974e49b69bdbc0c663c018a4dd010c0'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3Ctable%3E%3Cselect%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3Cp%3Ebaz%3C/table%3E%3Cp%3Equux", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%22foobarbaz%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22quux%22"],"5f4d3b90e4d99fae5ff97ebb9968185c77ffc591":[async_test('html5lib_tests9.html 5f4d3b90e4d99fae5ff97ebb9968185c77ffc591'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3C/body%3E%3C/html%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22baz%22"],"00a77c689b7b8bb6440604f4273de3bfbcbcbe8b":[async_test('html5lib_tests9.html 00a77c689b7b8bb6440604f4273de3bfbcbcbe8b'), "%3C%21DOCTYPE%20html%3E%3Cbody%3E%3C/body%3E%3Cmath%3E%3Cmi%3Efoo%3C/mi%3E%3Cmi%3Ebar%3C/mi%3E%3Cp%3Ebaz", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%22bar%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22baz%22"],"15d4afd62caf2fcb27bb4aff89ba4fcb0e58c0b9":[async_test('html5lib_tests9.html 15d4afd62caf2fcb27bb4aff89ba4fcb0e58c0b9'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%3Cmath%3E%3Cmi%3E%3C/mi%3E%3Cmi%3E%3C/mi%3E%3Cp%3E%3Cspan%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"ef6c7a1da34520d2a4a90a0f2e8de9ed334bd482":[async_test('html5lib_tests9.html ef6c7a1da34520d2a4a90a0f2e8de9ed334bd482'), "%3C%21DOCTYPE%20html%3E%3Cframeset%3E%3C/frameset%3E%3Cmath%3E%3Cmi%3E%3C/mi%3E%3Cmi%3E%3C/mi%3E%3Cp%3E%3Cspan%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"0705988884bc08d8133e5d8a8eb693db5c86688e":[async_test('html5lib_tests9.html 0705988884bc08d8133e5d8a8eb693db5c86688e'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%3E%3Cmath%20xlink%3Ahref%3Dfoo%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20xlink%20href%3D%22foo%22"],"093c0dbf464f9745c3730de57afebd9da308d34c":[async_test('html5lib_tests9.html 093c0dbf464f9745c3730de57afebd9da308d34c'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%20xml%3Alang%3Den%3E%3Cmath%3E%3Cmi%20xml%3Alang%3Den%20xlink%3Ahref%3Dfoo%3E%3C/mi%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20xml%3Alang%3D%22en%22%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20xlink%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20xml%20lang%3D%22en%22"],"35aec8963beaced8149a74366eb9b1eb13be6717":[async_test('html5lib_tests9.html 35aec8963beaced8149a74366eb9b1eb13be6717'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%20xml%3Alang%3Den%3E%3Cmath%3E%3Cmi%20xml%3Alang%3Den%20xlink%3Ahref%3Dfoo%20/%3E%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20xml%3Alang%3D%22en%22%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20xlink%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20xml%20lang%3D%22en%22"],"931baaac96aab65ad0449b70c374ba56dcdbab9d":[async_test('html5lib_tests9.html 931baaac96aab65ad0449b70c374ba56dcdbab9d'), "%3C%21DOCTYPE%20html%3E%3Cbody%20xlink%3Ahref%3Dfoo%20xml%3Alang%3Den%3E%3Cmath%3E%3Cmi%20xml%3Alang%3Den%20xlink%3Ahref%3Dfoo%20/%3Ebar%3C/math%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20xlink%3Ahref%3D%22foo%22%0A%7C%20%20%20%20%20xml%3Alang%3D%22en%22%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20xlink%20href%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20xml%20lang%3D%22en%22%0A%7C%20%20%20%20%20%20%20%22bar%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_tricky01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_tricky01.html
new file mode 100644
index 0000000000..f90e7f01f2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_tricky01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_tricky01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['06f0a6904729cd6a3ab91f3121c0b0eb54ee04d2','c99581b7d1d8c1cd421054891981c3fe8267e83c','09ba1d973acb46344442ea1e77a37de8736ce6e7','9e40dd21a29521d60a43cb016f4100501ea26ec8','23bed40fe77c77e3119528d9f77e041eeb77eebb','eced3856a69153ad0408470634ee37c284670bcf','f12f21485b685300c282d5eab08fe35c634e7708','8626fa9be928ded0aa6438e32037ef365bfdabc1','ee4120938804980035bacecb2d2597ae8cf254ac',];
+ var tests = {
+ "06f0a6904729cd6a3ab91f3121c0b0eb54ee04d2":[async_test('html5lib_tricky01.html 06f0a6904729cd6a3ab91f3121c0b0eb54ee04d2'), "%3Cb%3E%3Cp%3EBold%20%3C/b%3E%20Not%20bold%3C/p%3E%0AAlso%20not%20bold.", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%22Bold%20%22%0A%7C%20%20%20%20%20%20%20%22%20Not%20bold%22%0A%7C%20%20%20%20%20%22%0AAlso%20not%20bold.%22"],"c99581b7d1d8c1cd421054891981c3fe8267e83c":[async_test('html5lib_tricky01.html c99581b7d1d8c1cd421054891981c3fe8267e83c'), "%3Chtml%3E%0A%3Cfont%20color%3Dred%3E%3Ci%3EItalic%20and%20Red%3Cp%3EItalic%20and%20Red%20%3C/font%3E%20Just%20italic.%3C/p%3E%20Italic%20only.%3C/i%3E%20Plain%0A%3Cp%3EI%20should%20not%20be%20red.%20%3Cfont%20color%3Dred%3ERed.%20%3Ci%3EItalic%20and%20red.%3C/p%3E%0A%3Cp%3EItalic%20and%20red.%20%3C/i%3E%20Red.%3C/font%3E%20I%20should%20not%20be%20red.%3C/p%3E%0A%3Cb%3EBold%20%3Ci%3EBold%20and%20italic%3C/b%3E%20Only%20Italic%20%3C/i%3E%20Plain", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%22Italic%20and%20Red%22%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Italic%20and%20Red%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20Just%20italic.%22%0A%7C%20%20%20%20%20%20%20%22%20Italic%20only.%22%0A%7C%20%20%20%20%20%22%20Plain%0A%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22I%20should%20not%20be%20red.%20%22%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%20%20%22Red.%20%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Italic%20and%20red.%22%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20color%3D%22red%22%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Italic%20and%20red.%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20Red.%22%0A%7C%20%20%20%20%20%20%20%22%20I%20should%20not%20be%20red.%22%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22Bold%20%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%22Bold%20and%20italic%22%0A%7C%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%22%20Only%20Italic%20%22%0A%7C%20%20%20%20%20%22%20Plain%22"],"09ba1d973acb46344442ea1e77a37de8736ce6e7":[async_test('html5lib_tricky01.html 09ba1d973acb46344442ea1e77a37de8736ce6e7'), "%3Chtml%3E%3Cbody%3E%0A%3Cp%3E%3Cfont%20size%3D%227%22%3EFirst%20paragraph.%3C/p%3E%0A%3Cp%3ESecond%20paragraph.%3C/p%3E%3C/font%3E%0A%3Cb%3E%3Cp%3E%3Ci%3EBold%20and%20Italic%3C/b%3E%20Italic%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20size%3D%227%22%0A%7C%20%20%20%20%20%20%20%20%20%22First%20paragraph.%22%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20size%3D%227%22%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%20%20%22Second%20paragraph.%22%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Bold%20and%20Italic%22%0A%7C%20%20%20%20%20%20%20%3Ci%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%20Italic%22"],"9e40dd21a29521d60a43cb016f4100501ea26ec8":[async_test('html5lib_tricky01.html 9e40dd21a29521d60a43cb016f4100501ea26ec8'), "%3Chtml%3E%0A%3Cdl%3E%0A%3Cdt%3E%3Cb%3EBoo%0A%3Cdd%3EGoo%3F%0A%3C/dl%3E%0A%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdl%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%3Cdt%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Boo%0A%22%0A%7C%20%20%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Goo%3F%0A%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22"],"23bed40fe77c77e3119528d9f77e041eeb77eebb":[async_test('html5lib_tricky01.html 23bed40fe77c77e3119528d9f77e041eeb77eebb'), "%3Chtml%3E%3Cbody%3E%0A%3Clabel%3E%3Ca%3E%3Cdiv%3EHello%3Cdiv%3EWorld%3C/div%3E%3C/a%3E%3C/label%3E%20%20%0A%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Clabel%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22Hello%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22World%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20%20%0A%22"],"eced3856a69153ad0408470634ee37c284670bcf":[async_test('html5lib_tricky01.html eced3856a69153ad0408470634ee37c284670bcf'), "%3Ctable%3E%3Ccenter%3E%20%3Cfont%3Ea%3C/center%3E%20%3Cimg%3E%20%3Ctr%3E%3Ctd%3E%20%3C/td%3E%20%3C/tr%3E%20%3C/table%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ccenter%3E%0A%7C%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%3Cimg%3E%0A%7C%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%20%22%0A%7C%20%20%20%20%20%20%20%20%20%22%20%22"],"f12f21485b685300c282d5eab08fe35c634e7708":[async_test('html5lib_tricky01.html f12f21485b685300c282d5eab08fe35c634e7708'), "%3Ctable%3E%3Ctr%3E%3Cp%3E%3Ca%3E%3Cp%3EYou%20should%20see%20this%20text.", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%22You%20should%20see%20this%20text.%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"8626fa9be928ded0aa6438e32037ef365bfdabc1":[async_test('html5lib_tricky01.html 8626fa9be928ded0aa6438e32037ef365bfdabc1'), "%3CTABLE%3E%0A%3CTR%3E%0A%3CCENTER%3E%3CCENTER%3E%3CTD%3E%3C/TD%3E%3C/TR%3E%3CTR%3E%0A%3CFONT%3E%0A%3CTABLE%3E%3Ctr%3E%3C/tr%3E%3C/TABLE%3E%0A%3C/P%3E%0A%3Ca%3E%3C/font%3E%3Cfont%3E%3C/a%3E%0AThis%20page%20contains%20an%20insanely%20badly-nested%20tag%20sequence.", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ccenter%3E%0A%7C%20%20%20%20%20%20%20%3Ccenter%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%22%0AThis%20page%20contains%20an%20insanely%20badly-nested%20tag%20sequence.%22"],"ee4120938804980035bacecb2d2597ae8cf254ac":[async_test('html5lib_tricky01.html ee4120938804980035bacecb2d2597ae8cf254ac'), "%3Chtml%3E%0A%3Cbody%3E%0A%3Cb%3E%3Cnobr%3E%3Cdiv%3EThis%20text%20is%20in%20a%20div%20inside%20a%20nobr%3C/nobr%3EMore%20text%20that%20should%20not%20be%20in%20the%20nobr%2C%20i.e.%2C%20the%0Anobr%20should%20have%20closed%20the%20div%20inside%20it%20implicitly.%20%3C/b%3E%3Cpre%3EA%20pre%20tag%20outside%20everything%20else.%3C/pre%3E%0A%3C/body%3E%0A%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22This%20text%20is%20in%20a%20div%20inside%20a%20nobr%22%0A%7C%20%20%20%20%20%20%20%20%20%22More%20text%20that%20should%20not%20be%20in%20the%20nobr%2C%20i.e.%2C%20the%0Anobr%20should%20have%20closed%20the%20div%20inside%20it%20implicitly.%20%22%0A%7C%20%20%20%20%20%20%20%3Cpre%3E%0A%7C%20%20%20%20%20%20%20%20%20%22A%20pre%20tag%20outside%20everything%20else.%22%0A%7C%20%20%20%20%20%20%20%22%0A%0A%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_webkit01.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_webkit01.html
new file mode 100644
index 0000000000..a94cdc7225
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_webkit01.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_webkit01.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['4235382bf15f93f7dd1096832ae74cc71edef4d7','9906bb30ae08654f4c67bf6d97040abbca91082d','97974a9c541d97c7bb5bd8ba97c2ccbe0c6e55bd','f30960ce7d5b25adc846e47823f977616d38b296','f3ed3ec3a14058fd97c9aad83299bc8836d21283','f073fda1df7d917e37a207c326bdc4db0b4b3481','5533bf52e328c5748a203be1bb245848de592783','5b753a783c228a1b423152d9707cf900e57bc5da','eea9ac89544ec31fb78f7629ea0e065bd7422c98','03a99ca235d60b3191a3c5671ff7df5ffca5372d','c37bc2e44b2765025f58c9680a560c1a3dc3ab93','c6b4dc9c0041dd5a069741dbf228f03439115b8d','d4613a2b82f5d4ec251149508096f8071a8714d5','0f78a3fae382185ef9ac8f767efafb401249c1e1','375260e547e078df727a3669f5c8dcef7ccf71a7','3bea2bf663be5de2bbcdad57ac95c5933e266d42','19944775fd9dd871fbc4cf813eb105c29bc5d834','25b53e528a0ad0b002c8a26b7260213a24981860','ce59a8ae9cf138cb81fd017711097d1643c6f227','913071287591cc570d512c824b419d9a172d4339','2669743ff272e43978ac0f8a2f2c602ec9036c26','a9e759bf3ce415ad6216c58ee906639c03ffa03f','1274e8cdad6a8957fa9b02708ee58b73de41ae02','bbbea9a3752a36a64f2b62f15383406b16113fe7','e0910f26aac678f50612da8d05d20aa29e140655','f30a9e97cdf3c54ffccaa7b9c2067ff109317530','f71e076cf210f54ee646d71fca7a8de5322149ff','1b6a0afa648100ebd5f8b6719b4d8c5887f3f732','0d99b69e40dbb898cd4a188aa4920042c30815b4','a20991a86f6d34fd67ddb4002e3972d82230d879','006dbf89bfa3df51d837e7557c3e32dfbc6f0f4c','7e8f1399f9c87dbd103303c6051873079b265360','5081f4afe652b92f23e80d275f67dec9139df8e3','f904db0ad0c00794f8a2ca238b4c36084993c741','d56fcf271bf902fc4739f055f031f0d11620057c','a897ca0ad0492945709d0772c91e33d485ddf9c7','7274654c671e2e1715a017a239a98399496b7ba6','346ed4219453716e3fee23ccddf283fde408d349','4d1b6f58e6bb11d27e2097f656abdd1122a45a67','bb7bc3a43938aef67cffb49084f27cc678cd9b7a','992947d22821e1eb7b9116a99420b6c7f5ad46f2','88eca99701e0ad1fda391722e5f0cdcf1e2b667d','4b36a9545e5d8df93c447eaa8b1dc42d704d9c61','dc2437252e38b998fec43311653af309a65ef35f','ec499b1124d241faaa28e2f985ecf5f3fa00fcf8','cd236e537fa5d967d11efea30d96cd6ef6c9f46b','2ee90ed930fca8db8278161af28adde1e0c3907b','9804e9659cd045f199d9f58ef85c2639724359aa','a785e349a36349db19df18c06032315c6356486c','401c8625b8574b46d03b8e95acd29358c82b53d3','1390b296dc6152683e9de9820194bca39e18cbd6','7dc7e88fa9eba71234bdb4037a15a4f70183a466',];
+ var tests = {
+ "4235382bf15f93f7dd1096832ae74cc71edef4d7":[async_test('html5lib_webkit01.html 4235382bf15f93f7dd1096832ae74cc71edef4d7'), "Test", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22Test%22"],"9906bb30ae08654f4c67bf6d97040abbca91082d":[async_test('html5lib_webkit01.html 9906bb30ae08654f4c67bf6d97040abbca91082d'), "%3Cdiv%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E"],"97974a9c541d97c7bb5bd8ba97c2ccbe0c6e55bd":[async_test('html5lib_webkit01.html 97974a9c541d97c7bb5bd8ba97c2ccbe0c6e55bd'), "%3Cdiv%3ETest%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22Test%22"],"f30960ce7d5b25adc846e47823f977616d38b296":[async_test('html5lib_webkit01.html f30960ce7d5b25adc846e47823f977616d38b296'), "%3Cdi", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"f3ed3ec3a14058fd97c9aad83299bc8836d21283":[async_test('html5lib_webkit01.html f3ed3ec3a14058fd97c9aad83299bc8836d21283'), "%3Cdiv%3EHello%3C/div%3E%0A%3Cscript%3E%0Aconsole.log%28%22PASS%22%29%3B%0A%3C/script%3E%0A%3Cdiv%3EBye%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22Hello%22%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%0Aconsole.log%28%22PASS%22%29%3B%0A%22%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22Bye%22"],"f073fda1df7d917e37a207c326bdc4db0b4b3481":[async_test('html5lib_webkit01.html f073fda1df7d917e37a207c326bdc4db0b4b3481'), "%3Cdiv%20foo%3D%22bar%22%3EHello%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20foo%3D%22bar%22%0A%7C%20%20%20%20%20%20%20%22Hello%22"],"5533bf52e328c5748a203be1bb245848de592783":[async_test('html5lib_webkit01.html 5533bf52e328c5748a203be1bb245848de592783'), "%3Cdiv%3EHello%3C/div%3E%0A%3Cscript%3E%0Aconsole.log%28%22FOO%3Cspan%3EBAR%3C/span%3EBAZ%22%29%3B%0A%3C/script%3E%0A%3Cdiv%3EBye%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22Hello%22%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cscript%3E%0A%7C%20%20%20%20%20%20%20%22%0Aconsole.log%28%22FOO%3Cspan%3EBAR%3C/span%3EBAZ%22%29%3B%0A%22%0A%7C%20%20%20%20%20%22%0A%22%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%22Bye%22"],"5b753a783c228a1b423152d9707cf900e57bc5da":[async_test('html5lib_webkit01.html 5b753a783c228a1b423152d9707cf900e57bc5da'), "%3Cfoo%20bar%3D%22baz%22%3E%3C/foo%3E%3Cpotato%20quack%3D%22duck%22%3E%3C/potato%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22baz%22%0A%7C%20%20%20%20%20%3Cpotato%3E%0A%7C%20%20%20%20%20%20%20quack%3D%22duck%22"],"eea9ac89544ec31fb78f7629ea0e065bd7422c98":[async_test('html5lib_webkit01.html eea9ac89544ec31fb78f7629ea0e065bd7422c98'), "%3Cfoo%20bar%3D%22baz%22%3E%3Cpotato%20quack%3D%22duck%22%3E%3C/potato%3E%3C/foo%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22baz%22%0A%7C%20%20%20%20%20%20%20%3Cpotato%3E%0A%7C%20%20%20%20%20%20%20%20%20quack%3D%22duck%22"],"03a99ca235d60b3191a3c5671ff7df5ffca5372d":[async_test('html5lib_webkit01.html 03a99ca235d60b3191a3c5671ff7df5ffca5372d'), "%3Cfoo%3E%3C/foo%20bar%3D%22baz%22%3E%3Cpotato%3E%3C/potato%20quack%3D%22duck%22%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%3Cpotato%3E"],"c37bc2e44b2765025f58c9680a560c1a3dc3ab93":[async_test('html5lib_webkit01.html c37bc2e44b2765025f58c9680a560c1a3dc3ab93'), "%3C/%20tttt%3E", "%23document%0A%7C%20%3C%21--%20%20tttt%20--%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"c6b4dc9c0041dd5a069741dbf228f03439115b8d":[async_test('html5lib_webkit01.html c6b4dc9c0041dd5a069741dbf228f03439115b8d'), "%3Cdiv%20FOO%20%3E%3Cimg%3E%3Cimg%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20foo%3D%22%22%0A%7C%20%20%20%20%20%20%20%3Cimg%3E%0A%7C%20%20%20%20%20%20%20%3Cimg%3E"],"d4613a2b82f5d4ec251149508096f8071a8714d5":[async_test('html5lib_webkit01.html d4613a2b82f5d4ec251149508096f8071a8714d5'), "%3Cp%3ETest%3C/p%3Cp%3ETest2%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%22TestTest2%22"],"0f78a3fae382185ef9ac8f767efafb401249c1e1":[async_test('html5lib_webkit01.html 0f78a3fae382185ef9ac8f767efafb401249c1e1'), "%3Crdar%3A//problem/6869687%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Crdar%3A%3E%0A%7C%20%20%20%20%20%20%206869687%3D%22%22%0A%7C%20%20%20%20%20%20%20problem%3D%22%22"],"375260e547e078df727a3669f5c8dcef7ccf71a7":[async_test('html5lib_webkit01.html 375260e547e078df727a3669f5c8dcef7ccf71a7'), "%3CA%3Etest%3C%20/A%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%22test%3C%20/A%3E%22"],"3bea2bf663be5de2bbcdad57ac95c5933e266d42":[async_test('html5lib_webkit01.html 3bea2bf663be5de2bbcdad57ac95c5933e266d42'), "%26lt%3B", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%3C%22"],"19944775fd9dd871fbc4cf813eb105c29bc5d834":[async_test('html5lib_webkit01.html 19944775fd9dd871fbc4cf813eb105c29bc5d834'), "%3Cbody%20foo%3D%27bar%27%3E%3Cbody%20foo%3D%27baz%27%20yo%3D%27mama%27%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20foo%3D%22bar%22%0A%7C%20%20%20%20%20yo%3D%22mama%22"],"25b53e528a0ad0b002c8a26b7260213a24981860":[async_test('html5lib_webkit01.html 25b53e528a0ad0b002c8a26b7260213a24981860'), "%3Cbody%3E%3C/br%20foo%3D%22bar%22%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbr%3E"],"ce59a8ae9cf138cb81fd017711097d1643c6f227":[async_test('html5lib_webkit01.html ce59a8ae9cf138cb81fd017711097d1643c6f227'), "%3Cbdy%3E%3Cbr%20foo%3D%22bar%22%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbdy%3E%0A%7C%20%20%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%20%20%20%20foo%3D%22bar%22"],"913071287591cc570d512c824b419d9a172d4339":[async_test('html5lib_webkit01.html 913071287591cc570d512c824b419d9a172d4339'), "%3Cbody%3E%3C/body%3E%3C/br%20foo%3D%22bar%22%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbr%3E"],"2669743ff272e43978ac0f8a2f2c602ec9036c26":[async_test('html5lib_webkit01.html 2669743ff272e43978ac0f8a2f2c602ec9036c26'), "%3Cbdy%3E%3C/body%3E%3Cbr%20foo%3D%22bar%22%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cbdy%3E%0A%7C%20%20%20%20%20%20%20%3Cbr%3E%0A%7C%20%20%20%20%20%20%20%20%20foo%3D%22bar%22"],"a9e759bf3ce415ad6216c58ee906639c03ffa03f":[async_test('html5lib_webkit01.html a9e759bf3ce415ad6216c58ee906639c03ffa03f'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3E%3C%21--%20Hi%20there%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%3C%21--%20%20Hi%20there%20%20--%3E"],"1274e8cdad6a8957fa9b02708ee58b73de41ae02":[async_test('html5lib_webkit01.html 1274e8cdad6a8957fa9b02708ee58b73de41ae02'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3E%3C%21--%20Comment%20A%20--%3E%3C%21--%20Comment%20B%20--%3E%3C%21--%20Comment%20C%20--%3E%3C%21--%20Comment%20D%20--%3E%3C%21--%20Comment%20E%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%3C%21--%20%20Comment%20A%20%20--%3E%0A%7C%20%3C%21--%20%20Comment%20B%20%20--%3E%0A%7C%20%3C%21--%20%20Comment%20C%20%20--%3E%0A%7C%20%3C%21--%20%20Comment%20D%20%20--%3E%0A%7C%20%3C%21--%20%20Comment%20E%20%20--%3E"],"bbbea9a3752a36a64f2b62f15383406b16113fe7":[async_test('html5lib_webkit01.html bbbea9a3752a36a64f2b62f15383406b16113fe7'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3Ex%3C%21--%20Hi%20there%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3C%21--%20%20Hi%20there%20%20--%3E"],"e0910f26aac678f50612da8d05d20aa29e140655":[async_test('html5lib_webkit01.html e0910f26aac678f50612da8d05d20aa29e140655'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3Ex%3C%21--%20Hi%20there%20--%3E%3C/html%3E%3C%21--%20Again%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3C%21--%20%20Hi%20there%20%20--%3E%0A%7C%20%3C%21--%20%20Again%20%20--%3E"],"f30a9e97cdf3c54ffccaa7b9c2067ff109317530":[async_test('html5lib_webkit01.html f30a9e97cdf3c54ffccaa7b9c2067ff109317530'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3Ex%3C%21--%20Hi%20there%20--%3E%3C/body%3E%3C/html%3E%3C%21--%20Again%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22x%22%0A%7C%20%20%20%20%20%3C%21--%20%20Hi%20there%20%20--%3E%0A%7C%20%3C%21--%20%20Again%20%20--%3E"],"f71e076cf210f54ee646d71fca7a8de5322149ff":[async_test('html5lib_webkit01.html f71e076cf210f54ee646d71fca7a8de5322149ff'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%0A%20%20%20%3C%21--%20Hi%20there%20--%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%0A%20%20%20%22%0A%7C%20%20%20%3C%21--%20%20Hi%20there%20%20--%3E"],"1b6a0afa648100ebd5f8b6719b4d8c5887f3f732":[async_test('html5lib_webkit01.html 1b6a0afa648100ebd5f8b6719b4d8c5887f3f732'), "%3Chtml%3E%3Cbody%3E%3C/body%3E%3C/html%3E%0A%20%20%20%3C%21--%20Hi%20there%20--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22%0A%20%20%20%22%0A%7C%20%3C%21--%20%20Hi%20there%20%20--%3E"],"0d99b69e40dbb898cd4a188aa4920042c30815b4":[async_test('html5lib_webkit01.html 0d99b69e40dbb898cd4a188aa4920042c30815b4'), "%3Chtml%3E%3Cbody%3E%3Cruby%3E%3Cdiv%3E%3Crp%3Exx%3C/rp%3E%3C/div%3E%3C/ruby%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Crp%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22xx%22"],"a20991a86f6d34fd67ddb4002e3972d82230d879":[async_test('html5lib_webkit01.html a20991a86f6d34fd67ddb4002e3972d82230d879'), "%3Chtml%3E%3Cbody%3E%3Cruby%3E%3Cdiv%3E%3Crt%3Exx%3C/rt%3E%3C/div%3E%3C/ruby%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cruby%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Crt%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22xx%22"],"006dbf89bfa3df51d837e7557c3e32dfbc6f0f4c":[async_test('html5lib_webkit01.html 006dbf89bfa3df51d837e7557c3e32dfbc6f0f4c'), "%3Chtml%3E%3Cframeset%3E%3C%21--1--%3E%3Cnoframes%3EA%3C/noframes%3E%3C%21--2--%3E%3C/frameset%3E%3C%21--3--%3E%3Cnoframes%3EB%3C/noframes%3E%3C%21--4--%3E%3C/html%3E%3C%21--5--%3E%3Cnoframes%3EC%3C/noframes%3E%3C%21--6--%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E%0A%7C%20%20%20%20%20%3C%21--%201%20--%3E%0A%7C%20%20%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%3C%21--%202%20--%3E%0A%7C%20%20%20%3C%21--%203%20--%3E%0A%7C%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%22B%22%0A%7C%20%20%20%3C%21--%204%20--%3E%0A%7C%20%20%20%3Cnoframes%3E%0A%7C%20%20%20%20%20%22C%22%0A%7C%20%3C%21--%205%20--%3E%0A%7C%20%3C%21--%206%20--%3E"],"7e8f1399f9c87dbd103303c6051873079b265360":[async_test('html5lib_webkit01.html 7e8f1399f9c87dbd103303c6051873079b265360'), "%3Cselect%3E%3Coption%3EA%3Cselect%3E%3Coption%3EB%3Cselect%3E%3Coption%3EC%3Cselect%3E%3Coption%3ED%3Cselect%3E%3Coption%3EE%3Cselect%3E%3Coption%3EF%3Cselect%3E%3Coption%3EG%3Cselect%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22C%22%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%22D%22%0A%7C%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22E%22%0A%7C%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%22F%22%0A%7C%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22G%22"],"5081f4afe652b92f23e80d275f67dec9139df8e3":[async_test('html5lib_webkit01.html 5081f4afe652b92f23e80d275f67dec9139df8e3'), "%3Cdd%3E%3Cdd%3E%3Cdt%3E%3Cdt%3E%3Cdd%3E%3Cli%3E%3Cli%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%3Cdt%3E%0A%7C%20%20%20%20%20%3Cdt%3E%0A%7C%20%20%20%20%20%3Cdd%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E"],"f904db0ad0c00794f8a2ca238b4c36084993c741":[async_test('html5lib_webkit01.html f904db0ad0c00794f8a2ca238b4c36084993c741'), "%3Cdiv%3E%3Cb%3E%3C/div%3E%3Cdiv%3E%3Cnobr%3Ea%3Cnobr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cnobr%3E"],"d56fcf271bf902fc4739f055f031f0d11620057c":[async_test('html5lib_webkit01.html d56fcf271bf902fc4739f055f031f0d11620057c'), "%3Chead%3E%3C/head%3E%0A%3Cbody%3E%3C/body%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%22%0A%22%0A%7C%20%20%20%3Cbody%3E"],"a897ca0ad0492945709d0772c91e33d485ddf9c7":[async_test('html5lib_webkit01.html a897ca0ad0492945709d0772c91e33d485ddf9c7'), "%3Chead%3E%3C/head%3E%20%3Cstyle%3E%3C/style%3Eddd", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%22%20%22%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22ddd%22"],"7274654c671e2e1715a017a239a98399496b7ba6":[async_test('html5lib_webkit01.html 7274654c671e2e1715a017a239a98399496b7ba6'), "%3Ckbd%3E%3Ctable%3E%3C/kbd%3E%3Ccol%3E%3Cselect%3E%3Ctr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ckbd%3E%0A%7C%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E"],"346ed4219453716e3fee23ccddf283fde408d349":[async_test('html5lib_webkit01.html 346ed4219453716e3fee23ccddf283fde408d349'), "%3Ckbd%3E%3Ctable%3E%3C/kbd%3E%3Ccol%3E%3Cselect%3E%3Ctr%3E%3C/table%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ckbd%3E%0A%7C%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ccolgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ccol%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%3Cdiv%3E"],"4d1b6f58e6bb11d27e2097f656abdd1122a45a67":[async_test('html5lib_webkit01.html 4d1b6f58e6bb11d27e2097f656abdd1122a45a67'), "%3Ca%3E%3Cli%3E%3Cstyle%3E%3C/style%3E%3Ctitle%3E%3C/title%3E%3C/a%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctitle%3E"],"bb7bc3a43938aef67cffb49084f27cc678cd9b7a":[async_test('html5lib_webkit01.html bb7bc3a43938aef67cffb49084f27cc678cd9b7a'), "%3Cfont%3E%3C/p%3E%3Cp%3E%3Cmeta%3E%3Ctitle%3E%3C/title%3E%3C/font%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20%3Cfont%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmeta%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctitle%3E"],"992947d22821e1eb7b9116a99420b6c7f5ad46f2":[async_test('html5lib_webkit01.html 992947d22821e1eb7b9116a99420b6c7f5ad46f2'), "%3Ca%3E%3Ccenter%3E%3Ctitle%3E%3C/title%3E%3Ca%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%3Ccenter%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctitle%3E%0A%7C%20%20%20%20%20%20%20%3Ca%3E"],"88eca99701e0ad1fda391722e5f0cdcf1e2b667d":[async_test('html5lib_webkit01.html 88eca99701e0ad1fda391722e5f0cdcf1e2b667d'), "%3Csvg%3E%3Ctitle%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"4b36a9545e5d8df93c447eaa8b1dc42d704d9c61":[async_test('html5lib_webkit01.html 4b36a9545e5d8df93c447eaa8b1dc42d704d9c61'), "%3Csvg%3E%3Ctitle%3E%3Crect%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Crect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"dc2437252e38b998fec43311653af309a65ef35f":[async_test('html5lib_webkit01.html dc2437252e38b998fec43311653af309a65ef35f'), "%3Csvg%3E%3Ctitle%3E%3Csvg%3E%3Cdiv%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"ec499b1124d241faaa28e2f985ecf5f3fa00fcf8":[async_test('html5lib_webkit01.html ec499b1124d241faaa28e2f985ecf5f3fa00fcf8'), "%3Cimg%20%3C%3D%22%22%20FAIL%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cimg%3E%0A%7C%20%20%20%20%20%20%20%3C%3D%22%22%0A%7C%20%20%20%20%20%20%20fail%3D%22%22"],"cd236e537fa5d967d11efea30d96cd6ef6c9f46b":[async_test('html5lib_webkit01.html cd236e537fa5d967d11efea30d96cd6ef6c9f46b'), "%3Cul%3E%3Cli%3E%3Cdiv%20id%3D%27foo%27/%3EA%3C/li%3E%3Cli%3EB%3Cdiv%3EC%3C/div%3E%3C/li%3E%3C/ul%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cul%3E%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20id%3D%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%20%20%3Cli%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22C%22"],"2ee90ed930fca8db8278161af28adde1e0c3907b":[async_test('html5lib_webkit01.html 2ee90ed930fca8db8278161af28adde1e0c3907b'), "%3Csvg%3E%3Cem%3E%3Cdesc%3E%3C/em%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%3Cdesc%3E"],"9804e9659cd045f199d9f58ef85c2639724359aa":[async_test('html5lib_webkit01.html 9804e9659cd045f199d9f58ef85c2639724359aa'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Csvg%3E%3Cdesc%3E%3Ctd%3E%3C/desc%3E%3Ccircle%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csvg%20desc%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccircle%3E"],"a785e349a36349db19df18c06032315c6356486c":[async_test('html5lib_webkit01.html a785e349a36349db19df18c06032315c6356486c'), "%3Csvg%3E%3Ctfoot%3E%3C/mi%3E%3Ctd%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20tfoot%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Csvg%20td%3E"],"401c8625b8574b46d03b8e95acd29358c82b53d3":[async_test('html5lib_webkit01.html 401c8625b8574b46d03b8e95acd29358c82b53d3'), "%3Cmath%3E%3Cmrow%3E%3Cmrow%3E%3Cmn%3E1%3C/mn%3E%3C/mrow%3E%3Cmi%3Ea%3C/mi%3E%3C/mrow%3E%3C/math%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20%3Cmath%20mrow%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mrow%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cmath%20mn%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%221%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cmath%20mi%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22a%22"],"1390b296dc6152683e9de9820194bca39e18cbd6":[async_test('html5lib_webkit01.html 1390b296dc6152683e9de9820194bca39e18cbd6'), "%3C%21doctype%20html%3E%3Cinput%20type%3D%22hidden%22%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cframeset%3E"],"7dc7e88fa9eba71234bdb4037a15a4f70183a466":[async_test('html5lib_webkit01.html 7dc7e88fa9eba71234bdb4037a15a4f70183a466'), "%3C%21doctype%20html%3E%3Cinput%20type%3D%22button%22%3E%3Cframeset%3E", "%23document%0A%7C%20%3C%21DOCTYPE%20html%3E%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%20%20type%3D%22button%22"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html5lib_webkit02.html b/testing/web-platform/tests/html/syntax/parsing/html5lib_webkit02.html
new file mode 100644
index 0000000000..51900fa54a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html5lib_webkit02.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf8">
+ <title>HTML 5 Parser tests html5lib_webkit02.html</title>
+ <meta name="timeout" content="long">
+ <meta name="variant" content="?run_type=uri">
+ <meta name="variant" content="?run_type=write">
+ <meta name="variant" content="?run_type=write_single">
+ </head>
+ <body>
+ <h1>html5lib Parser Test</h1>
+ <div id="log"></div>
+ <script src="common.js"></script>
+ <script src="test.js"></script>
+ <script src="template.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ var num_iframes = 8;
+ var order = ['f50b8c15847159a6d2c6ecc2bd1e4a944ba5aae6','326328ea805a2ebdde707e08567713f88a4cf8ab','05138397908cfdad69a3bfe5da5a06098320b504','2aaa2ac0d7cec6144633d8f82f3bcaafa7498cd9','4a256d7ef602c7c917c758e15981b9710f9b4130','98cea04429ddbe4ffaaa0b91fe77b8c0b1f7c1f4','209ad7d6f6c9c53cb856c7d78b2bc4a7f38abd5f','cb9a86fbac96b08a6e708a2dbcd9f78539dfe9c6','c46a4badc6b1ebc524e6f90ea56183310e93ab25','464eeaecc49646ff810cadad537880c9b473a262','7b4eb6981451ede406f2f4112e83a8584e7adbf5','73aed96d7cd3116e4a3e701104616c07d1ec5e0c','139a546c72bfcedf638d031f33da43f24995f688','6e33515b4dc011dd390d433a6358bf68b786b1fd','b6d2377b0dd710ca812c97b2b65cb5d2e93b0e5b','21a5b2b413c4db8ed588334b9a50dea9872bbcfa','90d3f6f2dff994f63293ca46f7cd50a75cde96a6','3e6b37a5fd0b16769f71f8e6a022ef6a972769d0','66c5e72324003827309d3590a9ba56412ba68f79','329d2522353afa12afea478bbfafdb0ff0656572','5463526d91a8677b27b6967866d6605f1bb03aac','4879f476053094cf5602d325724675378856a902','44c88b90236f01ebc8e0123363b527640a07070c','cfb304e8f2d3cbdecc362226e7775cab452d5489','3fc625e7cb9b6ea72a9e252ede84c6fdd9680d87','ecd089f9b5193fad306c5b475c4711547fe5e209','cee2230c74671c594a1140a68d16e3d3e5ae005a','22b9fe36797d70a3b71a6aadc6ad7cff23c3fc90','a82c3bf49c381b5f58c5c8a4bbbe0cef2458e28a','61f8d527795dc8044a95a3e2437de81e16597ceb',];
+ var tests = {
+ "f50b8c15847159a6d2c6ecc2bd1e4a944ba5aae6":[async_test('html5lib_webkit02.html f50b8c15847159a6d2c6ecc2bd1e4a944ba5aae6'), "%3Cfoo%20bar%3Dqux/%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20bar%3D%22qux/%22"],"326328ea805a2ebdde707e08567713f88a4cf8ab":[async_test('html5lib_webkit02.html 326328ea805a2ebdde707e08567713f88a4cf8ab'), "%3Cp%20id%3D%22status%22%3E%3Cnoscript%3E%3Cstrong%3EA%3C/strong%3E%3C/noscript%3E%3Cspan%3EB%3C/span%3E%3C/p%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cp%3E%0A%7C%20%20%20%20%20%20%20id%3D%22status%22%0A%7C%20%20%20%20%20%20%20%3Cnoscript%3E%0A%7C%20%20%20%20%20%20%20%20%20%22%3Cstrong%3EA%3C/strong%3E%22%0A%7C%20%20%20%20%20%20%20%3Cspan%3E%0A%7C%20%20%20%20%20%20%20%20%20%22B%22"],"05138397908cfdad69a3bfe5da5a06098320b504":[async_test('html5lib_webkit02.html 05138397908cfdad69a3bfe5da5a06098320b504'), "%3Cdiv%3E%3Csarcasm%3E%3Cdiv%3E%3C/div%3E%3C/sarcasm%3E%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%3Csarcasm%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E"],"2aaa2ac0d7cec6144633d8f82f3bcaafa7498cd9":[async_test('html5lib_webkit02.html 2aaa2ac0d7cec6144633d8f82f3bcaafa7498cd9'), "%3Chtml%3E%3Cbody%3E%3Cimg%20src%3D%22%22%20border%3D%220%22%20alt%3D%22%3E%3Cdiv%3EA%3C/div%3E%3C/body%3E%3C/html%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E"],"4a256d7ef602c7c917c758e15981b9710f9b4130":[async_test('html5lib_webkit02.html 4a256d7ef602c7c917c758e15981b9710f9b4130'), "%3Ctable%3E%3Ctd%3E%3C/tbody%3EA", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%22A%22%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E"],"98cea04429ddbe4ffaaa0b91fe77b8c0b1f7c1f4":[async_test('html5lib_webkit02.html 98cea04429ddbe4ffaaa0b91fe77b8c0b1f7c1f4'), "%3Ctable%3E%3Ctd%3E%3C/thead%3EA", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22"],"209ad7d6f6c9c53cb856c7d78b2bc4a7f38abd5f":[async_test('html5lib_webkit02.html 209ad7d6f6c9c53cb856c7d78b2bc4a7f38abd5f'), "%3Ctable%3E%3Ctd%3E%3C/tfoot%3EA", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22"],"cb9a86fbac96b08a6e708a2dbcd9f78539dfe9c6":[async_test('html5lib_webkit02.html cb9a86fbac96b08a6e708a2dbcd9f78539dfe9c6'), "%3Ctable%3E%3Cthead%3E%3Ctd%3E%3C/tbody%3EA", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Cthead%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%22A%22"],"c46a4badc6b1ebc524e6f90ea56183310e93ab25":[async_test('html5lib_webkit02.html c46a4badc6b1ebc524e6f90ea56183310e93ab25'), "%3Clegend%3Etest%3C/legend%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Clegend%3E%0A%7C%20%20%20%20%20%20%20%22test%22"],"464eeaecc49646ff810cadad537880c9b473a262":[async_test('html5lib_webkit02.html 464eeaecc49646ff810cadad537880c9b473a262'), "%3Ctable%3E%3Cinput%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cinput%3E%0A%7C%20%20%20%20%20%3Ctable%3E"],"7b4eb6981451ede406f2f4112e83a8584e7adbf5":[async_test('html5lib_webkit02.html 7b4eb6981451ede406f2f4112e83a8584e7adbf5'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoo%3E%3Caside%3E%3C/b%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%3Caside%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E"],"73aed96d7cd3116e4a3e701104616c07d1ec5e0c":[async_test('html5lib_webkit02.html 73aed96d7cd3116e4a3e701104616c07d1ec5e0c'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoo%3E%3Caside%3E%3C/b%3E%3C/em%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%3Caside%3E%0A%7C%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cb%3E"],"139a546c72bfcedf638d031f33da43f24995f688":[async_test('html5lib_webkit02.html 139a546c72bfcedf638d031f33da43f24995f688'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Caside%3E%3C/b%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%3Caside%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E"],"6e33515b4dc011dd390d433a6358bf68b786b1fd":[async_test('html5lib_webkit02.html 6e33515b4dc011dd390d433a6358bf68b786b1fd'), "%3Cb%3E%3Cem%3E%3Cfoo%3E%3Cfoo%3E%3Cfoo%3E%3Caside%3E%3C/b%3E%3C/em%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cb%3E%0A%7C%20%20%20%20%20%20%20%3Cem%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfoo%3E%0A%7C%20%20%20%20%20%3Caside%3E%0A%7C%20%20%20%20%20%20%20%3Cb%3E"],"b6d2377b0dd710ca812c97b2b65cb5d2e93b0e5b":[async_test('html5lib_webkit02.html b6d2377b0dd710ca812c97b2b65cb5d2e93b0e5b'), "%3Csvg%3E%3CforeignObject%3E%3Cdiv%3Efoo%3C/div%3E%3Cplaintext%3E%3C/foreignObject%3E%3C/svg%3E%3Cdiv%3Ebar%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Cdiv%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22foo%22%0A%7C%20%20%20%20%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%22%3C/foreignObject%3E%3C/svg%3E%3Cdiv%3Ebar%3C/div%3E%22"],"21a5b2b413c4db8ed588334b9a50dea9872bbcfa":[async_test('html5lib_webkit02.html 21a5b2b413c4db8ed588334b9a50dea9872bbcfa'), "%3Csvg%3E%3CforeignObject%3E%3C/foreignObject%3E%3Ctitle%3E%3C/svg%3Efoo", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20foreignObject%3E%0A%7C%20%20%20%20%20%20%20%3Csvg%20title%3E%0A%7C%20%20%20%20%20%22foo%22"],"90d3f6f2dff994f63293ca46f7cd50a75cde96a6":[async_test('html5lib_webkit02.html 90d3f6f2dff994f63293ca46f7cd50a75cde96a6'), "%3C/foreignObject%3E%3Cplaintext%3E%3Cdiv%3Efoo%3C/div%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cplaintext%3E%0A%7C%20%20%20%20%20%20%20%22%3Cdiv%3Efoo%3C/div%3E%22"],"3e6b37a5fd0b16769f71f8e6a022ef6a972769d0":[async_test('html5lib_webkit02.html 3e6b37a5fd0b16769f71f8e6a022ef6a972769d0'), "%3Csvg%20xml%3Abase%20xml%3Alang%20xml%3Aspace%20xml%3Abaaah%20definitionurl%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Csvg%20svg%3E%0A%7C%20%20%20%20%20%20%20definitionurl%3D%22%22%0A%7C%20%20%20%20%20%20%20xml%20lang%3D%22%22%0A%7C%20%20%20%20%20%20%20xml%20space%3D%22%22%0A%7C%20%20%20%20%20%20%20xml%3Abaaah%3D%22%22%0A%7C%20%20%20%20%20%20%20xml%3Abase%3D%22%22"],"66c5e72324003827309d3590a9ba56412ba68f79":[async_test('html5lib_webkit02.html 66c5e72324003827309d3590a9ba56412ba68f79'), "%3Cmath%20definitionurl%20xlink%3Atitle%20xlink%3Ashow%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20definitionURL%3D%22%22%0A%7C%20%20%20%20%20%20%20xlink%20show%3D%22%22%0A%7C%20%20%20%20%20%20%20xlink%20title%3D%22%22"],"329d2522353afa12afea478bbfafdb0ff0656572":[async_test('html5lib_webkit02.html 329d2522353afa12afea478bbfafdb0ff0656572'), "%3Cmath%20DEFINITIONURL%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cmath%20math%3E%0A%7C%20%20%20%20%20%20%20definitionURL%3D%22%22"],"5463526d91a8677b27b6967866d6605f1bb03aac":[async_test('html5lib_webkit02.html 5463526d91a8677b27b6967866d6605f1bb03aac'), "%3Cselect%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Chr%3E"],"4879f476053094cf5602d325724675378856a902":[async_test('html5lib_webkit02.html 4879f476053094cf5602d325724675378856a902'), "%3Cselect%3E%3Coption%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Chr%3E"],"44c88b90236f01ebc8e0123363b527640a07070c":[async_test('html5lib_webkit02.html 44c88b90236f01ebc8e0123363b527640a07070c'), "%3Cselect%3E%3Coptgroup%3E%3Coption%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Chr%3E"],"cfb304e8f2d3cbdecc362226e7775cab452d5489":[async_test('html5lib_webkit02.html cfb304e8f2d3cbdecc362226e7775cab452d5489'), "%3Cselect%3E%3Coptgroup%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%3Chr%3E"],"3fc625e7cb9b6ea72a9e252ede84c6fdd9680d87":[async_test('html5lib_webkit02.html 3fc625e7cb9b6ea72a9e252ede84c6fdd9680d87'), "%3Cselect%3E%3Coption%3E%3Coptgroup%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%3Chr%3E"],"ecd089f9b5193fad306c5b475c4711547fe5e209":[async_test('html5lib_webkit02.html ecd089f9b5193fad306c5b475c4711547fe5e209'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Chr%3E"],"cee2230c74671c594a1140a68d16e3d3e5ae005a":[async_test('html5lib_webkit02.html cee2230c74671c594a1140a68d16e3d3e5ae005a'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Coption%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Chr%3E"],"22b9fe36797d70a3b71a6aadc6ad7cff23c3fc90":[async_test('html5lib_webkit02.html 22b9fe36797d70a3b71a6aadc6ad7cff23c3fc90'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Coptgroup%3E%3Coption%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Chr%3E"],"a82c3bf49c381b5f58c5c8a4bbbe0cef2458e28a":[async_test('html5lib_webkit02.html a82c3bf49c381b5f58c5c8a4bbbe0cef2458e28a'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Coptgroup%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Chr%3E"],"61f8d527795dc8044a95a3e2437de81e16597ceb":[async_test('html5lib_webkit02.html 61f8d527795dc8044a95a3e2437de81e16597ceb'), "%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cselect%3E%3Coption%3E%3Coptgroup%3E%3Chr%3E", "%23document%0A%7C%20%3Chtml%3E%0A%7C%20%20%20%3Chead%3E%0A%7C%20%20%20%3Cbody%3E%0A%7C%20%20%20%20%20%3Ctable%3E%0A%7C%20%20%20%20%20%20%20%3Ctbody%3E%0A%7C%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coptgroup%3E%0A%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Chr%3E"],
+ }
+ init_tests(get_type());
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/html_content_in_foreign_context.html b/testing/web-platform/tests/html/syntax/parsing/html_content_in_foreign_context.html
new file mode 100644
index 0000000000..7efafb4fce
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/html_content_in_foreign_context.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<title>Foreign contexts with HTML tag children</title>
+<link rel="author" href="mailto:masonf@chromium.org">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inbody">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+test(function() {
+ const contexts = ["svg", "math"];
+ const elements = ["/p", "/br", "b", "big", "blockquote", "br", "center", "code", "dd", "div", "dl", "dt", "em", "embed", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "li", "listing", "menu", "meta", "nobr", "ol", "p", "pre", "ruby", "s", "small", "span", "strong", "strike", "sub", "sup", "table", "tt", "u", "ul", "var"];
+ contexts.forEach(c => {
+ elements.forEach(e => {
+ const wrapper = document.createElement('div');
+ const html = `<${c}><${e}></${c}`
+ wrapper.innerHTML = html;
+ assert_not_equals(wrapper.innerHTML, html, "The inner HTML should get mutated");
+
+ const tagname = e[0]=='/' ? e.substr(1) : e;
+ const element = wrapper.getElementsByTagName(tagname)[0];
+ assert_not_equals(element, undefined,`Unable to locate the ${e} node in ${c}`)
+ const parent = element.parentNode
+ assert_equals(element.parentNode, wrapper,`The ${e} tag did not exit the ${c}`)
+ });
+ });
+}, "HTML namespace nodes should exit foreign contexts");
+
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/inhead-noscript-head.html b/testing/web-platform/tests/html/syntax/parsing/inhead-noscript-head.html
new file mode 100644
index 0000000000..bcf42d4793
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/inhead-noscript-head.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Test that when the scripting flag is disabled, a head start tag in "in head noscript" mode is ignored</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<body>
+<script>
+promise_test(async function(t) {
+ let iframe = document.createElement("iframe");
+ iframe.srcdoc = "<!DOCTYPE html><head><noscript><head><style></style>";
+ iframe.sandbox = "allow-same-origin";
+ let loaded = new Promise(resolve => iframe.onload = resolve);
+ document.body.append(iframe);
+ await loaded;
+ assert_equals(String(iframe.contentDocument.querySelector("noscript").firstChild), "[object HTMLStyleElement]");
+}, "When the scripting flag is disabled, a head start tag in \"in head noscript\" mode should be ignored");
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/math-parse01.html b/testing/web-platform/tests/html/syntax/parsing/math-parse01.html
new file mode 100644
index 0000000000..3aff716d9f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/math-parse01.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>math in html: parsing</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<h1>math in html: parsing</h1>
+
+<div id="log" style="display:block"></div>
+
+<div style="display:none">
+<div><math id="m1"><mtext/></math></div>
+<div id="d1"><math><mrow/><mi/></math></div>
+<div id="d2"><math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math></div>
+<div id="d3">&lang;&rang;</div>
+<div id="d4">&Kopf;</div>
+<div id="d5"><math><semantics><mi>a</mi><annotation-xml><foo/><bar/></annotation-xml></semantics></math></div>
+<div id="d6"><math><semantics><mi>a</mi><annotation-xml encoding="text/html"><div></div></annotation-xml></semantics><mn/></math>
+</div>
+
+
+<script>
+
+test(function() {
+assert_equals(document.getElementById("m1"),document.getElementsByTagName("math")[0]);
+},"The id attribute should be recognised on math elements");
+
+test(function() {
+assert_equals(document.getElementById("d1").firstChild.nodeName,"math")
+},"The node name should be math");
+
+test(function() {
+assert_equals(document.getElementById("d1").firstChild.namespaceURI ,"http://www.w3.org/1998/Math/MathML")
+},"math should be in MathML Namespace");
+
+test(function() {
+assert_equals(document.getElementById("d1").firstChild.childNodes.length ,2)
+},"Math has 2 children (empty tag syntax)");
+
+test(function() {
+assert_equals(document.getElementById("d2").firstChild.childNodes.length ,1)
+},"Nested mrow elements should be parsed correctly");
+
+test(function() {
+assert_equals(document.getElementById("d3").firstChild.nodeValue ,"\u27E8\u27E9")
+},"Testing rang and lang entity code points");
+
+test(function() {
+assert_equals(document.getElementById("d4").firstChild.nodeValue ,"\uD835\uDD42")
+},"Testing Kopf (Plane 1) entity code point");
+
+test(function() {
+assert_equals(document.getElementById("d5").firstChild.firstChild.childNodes[1].childNodes.length ,2)
+},"Empty element tags in annotation-xml parsed as per XML.");
+
+test(function() {
+assert_equals(document.getElementById("d6").firstChild.childNodes.length ,2)
+},"html tags allowed in annotation-xml/@encoding='text/html'.");
+
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/math-parse03.html b/testing/web-platform/tests/html/syntax/parsing/math-parse03.html
new file mode 100644
index 0000000000..a3dbdc4e61
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/math-parse03.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>math in html: parsing</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<h1>math in html: parsing</h1>
+
+<div id="log"></div>
+
+<div>
+<div><MATH id="m1"><Mtext/></math></div>
+<div id="d1"><math><MI MATHVARIANT="BOLD" /></math></div>
+<div id="d2"><math><semantics DEFINITIONurl="www.example.org/FOO"><mi>a</mi><annotation-xml><foo/><bar/></annotation-xml></semantics></math></div>
+<div><math id="m3span-mtext"><mtext><Span>x</Span></mtext></math></div>
+<div><math id="m3span-mi"><mi><Span>x</Span></mi></math></div>
+<div><math id="m3span-mrow"><mi><Span>x</Span></mrow></math></div>
+<div><math id="m3p-mtext"><mtext><P>x</P></mtext></math></div>
+<div><math id="m3p-mi"><mi><P>x</P></mi></math></div>
+<div id="d3p-mrow"><math><mrow><P>x</P><mi>y</mi></mrow></math></div>
+<div><math id="m4"><mtext><Undefinedelement>x</Undefinedelement></mtext></math></div>
+<div><math id="m5"><mtext><mi>x</mi></mtext></math></div>
+<div><math><semantics><mi>x</mi>
+ <annotation-xml><p id="p6default">x</p></annotation-xml>
+ </semantics></math></div>
+<div><math><semantics><mi>x</mi>
+ <annotation-xml encoding=text/html><p id="p6texthtml">x</p></annotation-xml>
+ </semantics></math></div>
+<div><math><semantics><mi>x</mi>
+ <annotation-xml encoding=TEXT/HTML><p id="p6uctexthtml">x</p></annotation-xml>
+ </semantics></math></div>
+<div><math><semantics><mi>x</mi>
+ <annotation-xml encoding=application/xhtml+xml><p id="p6applicationxhtmlxml">x</p></annotation-xml>
+ </semantics></math></div>
+<div><math><semantics><mi>x</mi>
+ <annotation-xml encoding=foo><p id="p6foo">x</p></annotation-xml>
+ </semantics></math></div>
+</div>
+<script>
+test(function() {
+assert_equals(document.getElementById("m1"),document.getElementsByTagName("math")[0]);
+},"MATH element name should be lowercased");
+
+test(function() {
+assert_equals(document.getElementById("d1").firstChild.firstChild.nodeName,"mi");
+assert_equals(document.getElementById("d1").firstChild.firstChild.namespaceURI, "http://www.w3.org/1998/Math/MathML");
+assert_true(document.getElementById("d1").firstChild.firstChild.hasAttribute("mathvariant"));
+assert_equals(document.getElementById("d1").firstChild.firstChild.getAttribute("mathvariant"),"BOLD")
+},"MI element name and mathvariant attribute name should be lowercased, attribute value unchanged");
+
+test(function() {
+assert_true(document.getElementById("d2").firstChild.firstChild.hasAttribute("definitionURL"));
+assert_equals(document.getElementById("d2").firstChild.firstChild.getAttribute("definitionURL"),"www.example.org/FOO")
+},"DEFINITIONurl attribute markup should produce a definitionURL attribute, attribute value unchanged");
+
+test(function() {
+assert_equals(document.getElementById("m3span-mtext").firstChild.firstChild.nodeName,"SPAN");
+assert_equals(document.getElementById("m3span-mtext").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"html Span in mtext produces SPAN nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("m3span-mi").firstChild.firstChild.nodeName,"SPAN");
+assert_equals(document.getElementById("m3span-mi").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"html Span in mi produces SPAN nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("m3span-mrow").firstChild.firstChild.nodeName,"SPAN");
+assert_equals(document.getElementById("m3span-mrow").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"html Span in mrow produces SPAN nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("m3p-mtext").firstChild.firstChild.nodeName,"P");
+assert_equals(document.getElementById("m3p-mtext").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"html P in mtext produces P nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("m3p-mi").firstChild.firstChild.nodeName,"P");
+assert_equals(document.getElementById("m3p-mi").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"html P in mi produces P nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("d3p-mrow").childNodes.length ,3)
+},"html P in mrow terminates the math: mrow,P,MI children of div");
+
+test(function() {
+assert_equals(document.getElementById("d3p-mrow").firstChild.childNodes.length ,1)
+},"html P in mrow terminates the math: mrow child of math");
+
+test(function() {
+assert_equals(document.getElementById("d3p-mrow").firstChild.firstChild.childNodes.length ,0)
+},"html P in mrow terminates the math: mrow empty");
+
+test(function() {
+assert_equals(document.getElementById("d3p-mrow").childNodes[0].nodeName,"math");
+assert_equals(document.getElementById("d3p-mrow").childNodes[1].nodeName,"P");
+assert_equals(document.getElementById("d3p-mrow").childNodes[2].nodeName,"MI");
+},"html P in mrow terminates the math: math,P,MI children of div");
+
+test(function() {
+assert_equals(document.getElementById("m4").firstChild.firstChild.nodeName,"UNDEFINEDELEMENT");
+assert_equals(document.getElementById("m4").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"Undefinedelement in mtext produces UNDEFINEDELEMENT nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("m5").firstChild.firstChild.nodeName,"MI");
+assert_equals(document.getElementById("m5").firstChild.firstChild.namespaceURI,"http://www.w3.org/1999/xhtml")
+},"mi in mtext produces MI nodename in XHTML namespace");
+
+test(function() {
+assert_equals(document.getElementById("p6default").parentNode.nodeName,"DIV")
+},"p in annotation-xml moves to be child of DIV");
+
+test(function() {
+assert_equals(document.getElementById("p6texthtml").parentNode.nodeName,"annotation-xml")
+},"p in annotation-xml encoding=text/html stays as child of annotation-xml");
+
+test(function() {
+assert_equals(document.getElementById("p6uctexthtml").parentNode.nodeName,"annotation-xml")
+},"p in annotation-xml encoding=TEXT/HTML stays as child of annotation-xml");
+
+test(function() {
+assert_equals(document.getElementById("p6applicationxhtmlxml").parentNode.nodeName,"annotation-xml")
+},"p in annotation-xml encoding=application/xhtml+xml stays as child of annotation-xml");
+
+test(function() {
+assert_equals(document.getElementById("p6foo").parentNode.nodeName,"DIV")
+},"p in annotation-xml encoding=foo moves to be child of DIV");
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/meta-inhead-insertion-mode.html b/testing/web-platform/tests/html/syntax/parsing/meta-inhead-insertion-mode.html
new file mode 100644
index 0000000000..4317e4eb14
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/meta-inhead-insertion-mode.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Encoding specified in the "charset" attribute should have precedence over "content" attribute.</title>
+<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" charset="iso-8859-15">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inhead">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+test(function () {
+ assert_equals(document.characterSet, "ISO-8859-15");
+}, "Encoding specified in the 'charset' attribute should have precedence over 'content' attribute.");
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/named-character-references-data.js b/testing/web-platform/tests/html/syntax/parsing/named-character-references-data.js
new file mode 100644
index 0000000000..48ab30e473
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/named-character-references-data.js
@@ -0,0 +1,2233 @@
+window.data = {
+ '&AElig': { 'codepoints': [0x000C6], 'characters': '\xC6' },
+ '&AElig;': { 'codepoints': [0x000C6], 'characters': '\xC6' },
+ '&AMP': { 'codepoints': [0x00026], 'characters': '\x26' },
+ '&AMP;': { 'codepoints': [0x00026], 'characters': '\x26' },
+ '&Aacute': { 'codepoints': [0x000C1], 'characters': '\xC1' },
+ '&Aacute;': { 'codepoints': [0x000C1], 'characters': '\xC1' },
+ '&Abreve;': { 'codepoints': [0x00102], 'characters': '\u0102' },
+ '&Acirc': { 'codepoints': [0x000C2], 'characters': '\xC2' },
+ '&Acirc;': { 'codepoints': [0x000C2], 'characters': '\xC2' },
+ '&Acy;': { 'codepoints': [0x00410], 'characters': '\u0410' },
+ '&Afr;': { 'codepoints': [0x1D504], 'characters': '\uD835\uDD04' },
+ '&Agrave': { 'codepoints': [0x000C0], 'characters': '\xC0' },
+ '&Agrave;': { 'codepoints': [0x000C0], 'characters': '\xC0' },
+ '&Alpha;': { 'codepoints': [0x00391], 'characters': '\u0391' },
+ '&Amacr;': { 'codepoints': [0x00100], 'characters': '\u0100' },
+ '&And;': { 'codepoints': [0x02A53], 'characters': '\u2A53' },
+ '&Aogon;': { 'codepoints': [0x00104], 'characters': '\u0104' },
+ '&Aopf;': { 'codepoints': [0x1D538], 'characters': '\uD835\uDD38' },
+ '&ApplyFunction;': { 'codepoints': [0x02061], 'characters': '\u2061' },
+ '&Aring': { 'codepoints': [0x000C5], 'characters': '\xC5' },
+ '&Aring;': { 'codepoints': [0x000C5], 'characters': '\xC5' },
+ '&Ascr;': { 'codepoints': [0x1D49C], 'characters': '\uD835\uDC9C' },
+ '&Assign;': { 'codepoints': [0x02254], 'characters': '\u2254' },
+ '&Atilde': { 'codepoints': [0x000C3], 'characters': '\xC3' },
+ '&Atilde;': { 'codepoints': [0x000C3], 'characters': '\xC3' },
+ '&Auml': { 'codepoints': [0x000C4], 'characters': '\xC4' },
+ '&Auml;': { 'codepoints': [0x000C4], 'characters': '\xC4' },
+ '&Backslash;': { 'codepoints': [0x02216], 'characters': '\u2216' },
+ '&Barv;': { 'codepoints': [0x02AE7], 'characters': '\u2AE7' },
+ '&Barwed;': { 'codepoints': [0x02306], 'characters': '\u2306' },
+ '&Bcy;': { 'codepoints': [0x00411], 'characters': '\u0411' },
+ '&Because;': { 'codepoints': [0x02235], 'characters': '\u2235' },
+ '&Bernoullis;': { 'codepoints': [0x0212C], 'characters': '\u212C' },
+ '&Beta;': { 'codepoints': [0x00392], 'characters': '\u0392' },
+ '&Bfr;': { 'codepoints': [0x1D505], 'characters': '\uD835\uDD05' },
+ '&Bopf;': { 'codepoints': [0x1D539], 'characters': '\uD835\uDD39' },
+ '&Breve;': { 'codepoints': [0x002D8], 'characters': '\u02D8' },
+ '&Bscr;': { 'codepoints': [0x0212C], 'characters': '\u212C' },
+ '&Bumpeq;': { 'codepoints': [0x0224E], 'characters': '\u224E' },
+ '&CHcy;': { 'codepoints': [0x00427], 'characters': '\u0427' },
+ '&COPY': { 'codepoints': [0x000A9], 'characters': '\xA9' },
+ '&COPY;': { 'codepoints': [0x000A9], 'characters': '\xA9' },
+ '&Cacute;': { 'codepoints': [0x00106], 'characters': '\u0106' },
+ '&Cap;': { 'codepoints': [0x022D2], 'characters': '\u22D2' },
+ '&CapitalDifferentialD;': { 'codepoints': [0x02145], 'characters': '\u2145' },
+ '&Cayleys;': { 'codepoints': [0x0212D], 'characters': '\u212D' },
+ '&Ccaron;': { 'codepoints': [0x0010C], 'characters': '\u010C' },
+ '&Ccedil': { 'codepoints': [0x000C7], 'characters': '\xC7' },
+ '&Ccedil;': { 'codepoints': [0x000C7], 'characters': '\xC7' },
+ '&Ccirc;': { 'codepoints': [0x00108], 'characters': '\u0108' },
+ '&Cconint;': { 'codepoints': [0x02230], 'characters': '\u2230' },
+ '&Cdot;': { 'codepoints': [0x0010A], 'characters': '\u010A' },
+ '&Cedilla;': { 'codepoints': [0x000B8], 'characters': '\xB8' },
+ '&CenterDot;': { 'codepoints': [0x000B7], 'characters': '\xB7' },
+ '&Cfr;': { 'codepoints': [0x0212D], 'characters': '\u212D' },
+ '&Chi;': { 'codepoints': [0x003A7], 'characters': '\u03A7' },
+ '&CircleDot;': { 'codepoints': [0x02299], 'characters': '\u2299' },
+ '&CircleMinus;': { 'codepoints': [0x02296], 'characters': '\u2296' },
+ '&CirclePlus;': { 'codepoints': [0x02295], 'characters': '\u2295' },
+ '&CircleTimes;': { 'codepoints': [0x02297], 'characters': '\u2297' },
+ '&ClockwiseContourIntegral;': { 'codepoints': [0x02232], 'characters': '\u2232' },
+ '&CloseCurlyDoubleQuote;': { 'codepoints': [0x0201D], 'characters': '\u201D' },
+ '&CloseCurlyQuote;': { 'codepoints': [0x02019], 'characters': '\u2019' },
+ '&Colon;': { 'codepoints': [0x02237], 'characters': '\u2237' },
+ '&Colone;': { 'codepoints': [0x02A74], 'characters': '\u2A74' },
+ '&Congruent;': { 'codepoints': [0x02261], 'characters': '\u2261' },
+ '&Conint;': { 'codepoints': [0x0222F], 'characters': '\u222F' },
+ '&ContourIntegral;': { 'codepoints': [0x0222E], 'characters': '\u222E' },
+ '&Copf;': { 'codepoints': [0x02102], 'characters': '\u2102' },
+ '&Coproduct;': { 'codepoints': [0x02210], 'characters': '\u2210' },
+ '&CounterClockwiseContourIntegral;': { 'codepoints': [0x02233], 'characters': '\u2233' },
+ '&Cross;': { 'codepoints': [0x02A2F], 'characters': '\u2A2F' },
+ '&Cscr;': { 'codepoints': [0x1D49E], 'characters': '\uD835\uDC9E' },
+ '&Cup;': { 'codepoints': [0x022D3], 'characters': '\u22D3' },
+ '&CupCap;': { 'codepoints': [0x0224D], 'characters': '\u224D' },
+ '&DD;': { 'codepoints': [0x02145], 'characters': '\u2145' },
+ '&DDotrahd;': { 'codepoints': [0x02911], 'characters': '\u2911' },
+ '&DJcy;': { 'codepoints': [0x00402], 'characters': '\u0402' },
+ '&DScy;': { 'codepoints': [0x00405], 'characters': '\u0405' },
+ '&DZcy;': { 'codepoints': [0x0040F], 'characters': '\u040F' },
+ '&Dagger;': { 'codepoints': [0x02021], 'characters': '\u2021' },
+ '&Darr;': { 'codepoints': [0x021A1], 'characters': '\u21A1' },
+ '&Dashv;': { 'codepoints': [0x02AE4], 'characters': '\u2AE4' },
+ '&Dcaron;': { 'codepoints': [0x0010E], 'characters': '\u010E' },
+ '&Dcy;': { 'codepoints': [0x00414], 'characters': '\u0414' },
+ '&Del;': { 'codepoints': [0x02207], 'characters': '\u2207' },
+ '&Delta;': { 'codepoints': [0x00394], 'characters': '\u0394' },
+ '&Dfr;': { 'codepoints': [0x1D507], 'characters': '\uD835\uDD07' },
+ '&DiacriticalAcute;': { 'codepoints': [0x000B4], 'characters': '\xB4' },
+ '&DiacriticalDot;': { 'codepoints': [0x002D9], 'characters': '\u02D9' },
+ '&DiacriticalDoubleAcute;': { 'codepoints': [0x002DD], 'characters': '\u02DD' },
+ '&DiacriticalGrave;': { 'codepoints': [0x00060], 'characters': '\x60' },
+ '&DiacriticalTilde;': { 'codepoints': [0x002DC], 'characters': '\u02DC' },
+ '&Diamond;': { 'codepoints': [0x022C4], 'characters': '\u22C4' },
+ '&DifferentialD;': { 'codepoints': [0x02146], 'characters': '\u2146' },
+ '&Dopf;': { 'codepoints': [0x1D53B], 'characters': '\uD835\uDD3B' },
+ '&Dot;': { 'codepoints': [0x000A8], 'characters': '\xA8' },
+ '&DotDot;': { 'codepoints': [0x020DC], 'characters': '\u20DC' },
+ '&DotEqual;': { 'codepoints': [0x02250], 'characters': '\u2250' },
+ '&DoubleContourIntegral;': { 'codepoints': [0x0222F], 'characters': '\u222F' },
+ '&DoubleDot;': { 'codepoints': [0x000A8], 'characters': '\xA8' },
+ '&DoubleDownArrow;': { 'codepoints': [0x021D3], 'characters': '\u21D3' },
+ '&DoubleLeftArrow;': { 'codepoints': [0x021D0], 'characters': '\u21D0' },
+ '&DoubleLeftRightArrow;': { 'codepoints': [0x021D4], 'characters': '\u21D4' },
+ '&DoubleLeftTee;': { 'codepoints': [0x02AE4], 'characters': '\u2AE4' },
+ '&DoubleLongLeftArrow;': { 'codepoints': [0x027F8], 'characters': '\u27F8' },
+ '&DoubleLongLeftRightArrow;': { 'codepoints': [0x027FA], 'characters': '\u27FA' },
+ '&DoubleLongRightArrow;': { 'codepoints': [0x027F9], 'characters': '\u27F9' },
+ '&DoubleRightArrow;': { 'codepoints': [0x021D2], 'characters': '\u21D2' },
+ '&DoubleRightTee;': { 'codepoints': [0x022A8], 'characters': '\u22A8' },
+ '&DoubleUpArrow;': { 'codepoints': [0x021D1], 'characters': '\u21D1' },
+ '&DoubleUpDownArrow;': { 'codepoints': [0x021D5], 'characters': '\u21D5' },
+ '&DoubleVerticalBar;': { 'codepoints': [0x02225], 'characters': '\u2225' },
+ '&DownArrow;': { 'codepoints': [0x02193], 'characters': '\u2193' },
+ '&DownArrowBar;': { 'codepoints': [0x02913], 'characters': '\u2913' },
+ '&DownArrowUpArrow;': { 'codepoints': [0x021F5], 'characters': '\u21F5' },
+ '&DownBreve;': { 'codepoints': [0x00311], 'characters': '\u0311' },
+ '&DownLeftRightVector;': { 'codepoints': [0x02950], 'characters': '\u2950' },
+ '&DownLeftTeeVector;': { 'codepoints': [0x0295E], 'characters': '\u295E' },
+ '&DownLeftVector;': { 'codepoints': [0x021BD], 'characters': '\u21BD' },
+ '&DownLeftVectorBar;': { 'codepoints': [0x02956], 'characters': '\u2956' },
+ '&DownRightTeeVector;': { 'codepoints': [0x0295F], 'characters': '\u295F' },
+ '&DownRightVector;': { 'codepoints': [0x021C1], 'characters': '\u21C1' },
+ '&DownRightVectorBar;': { 'codepoints': [0x02957], 'characters': '\u2957' },
+ '&DownTee;': { 'codepoints': [0x022A4], 'characters': '\u22A4' },
+ '&DownTeeArrow;': { 'codepoints': [0x021A7], 'characters': '\u21A7' },
+ '&Downarrow;': { 'codepoints': [0x021D3], 'characters': '\u21D3' },
+ '&Dscr;': { 'codepoints': [0x1D49F], 'characters': '\uD835\uDC9F' },
+ '&Dstrok;': { 'codepoints': [0x00110], 'characters': '\u0110' },
+ '&ENG;': { 'codepoints': [0x0014A], 'characters': '\u014A' },
+ '&ETH': { 'codepoints': [0x000D0], 'characters': '\xD0' },
+ '&ETH;': { 'codepoints': [0x000D0], 'characters': '\xD0' },
+ '&Eacute': { 'codepoints': [0x000C9], 'characters': '\xC9' },
+ '&Eacute;': { 'codepoints': [0x000C9], 'characters': '\xC9' },
+ '&Ecaron;': { 'codepoints': [0x0011A], 'characters': '\u011A' },
+ '&Ecirc': { 'codepoints': [0x000CA], 'characters': '\xCA' },
+ '&Ecirc;': { 'codepoints': [0x000CA], 'characters': '\xCA' },
+ '&Ecy;': { 'codepoints': [0x0042D], 'characters': '\u042D' },
+ '&Edot;': { 'codepoints': [0x00116], 'characters': '\u0116' },
+ '&Efr;': { 'codepoints': [0x1D508], 'characters': '\uD835\uDD08' },
+ '&Egrave': { 'codepoints': [0x000C8], 'characters': '\xC8' },
+ '&Egrave;': { 'codepoints': [0x000C8], 'characters': '\xC8' },
+ '&Element;': { 'codepoints': [0x02208], 'characters': '\u2208' },
+ '&Emacr;': { 'codepoints': [0x00112], 'characters': '\u0112' },
+ '&EmptySmallSquare;': { 'codepoints': [0x025FB], 'characters': '\u25FB' },
+ '&EmptyVerySmallSquare;': { 'codepoints': [0x025AB], 'characters': '\u25AB' },
+ '&Eogon;': { 'codepoints': [0x00118], 'characters': '\u0118' },
+ '&Eopf;': { 'codepoints': [0x1D53C], 'characters': '\uD835\uDD3C' },
+ '&Epsilon;': { 'codepoints': [0x00395], 'characters': '\u0395' },
+ '&Equal;': { 'codepoints': [0x02A75], 'characters': '\u2A75' },
+ '&EqualTilde;': { 'codepoints': [0x02242], 'characters': '\u2242' },
+ '&Equilibrium;': { 'codepoints': [0x021CC], 'characters': '\u21CC' },
+ '&Escr;': { 'codepoints': [0x02130], 'characters': '\u2130' },
+ '&Esim;': { 'codepoints': [0x02A73], 'characters': '\u2A73' },
+ '&Eta;': { 'codepoints': [0x00397], 'characters': '\u0397' },
+ '&Euml': { 'codepoints': [0x000CB], 'characters': '\xCB' },
+ '&Euml;': { 'codepoints': [0x000CB], 'characters': '\xCB' },
+ '&Exists;': { 'codepoints': [0x02203], 'characters': '\u2203' },
+ '&ExponentialE;': { 'codepoints': [0x02147], 'characters': '\u2147' },
+ '&Fcy;': { 'codepoints': [0x00424], 'characters': '\u0424' },
+ '&Ffr;': { 'codepoints': [0x1D509], 'characters': '\uD835\uDD09' },
+ '&FilledSmallSquare;': { 'codepoints': [0x025FC], 'characters': '\u25FC' },
+ '&FilledVerySmallSquare;': { 'codepoints': [0x025AA], 'characters': '\u25AA' },
+ '&Fopf;': { 'codepoints': [0x1D53D], 'characters': '\uD835\uDD3D' },
+ '&ForAll;': { 'codepoints': [0x02200], 'characters': '\u2200' },
+ '&Fouriertrf;': { 'codepoints': [0x02131], 'characters': '\u2131' },
+ '&Fscr;': { 'codepoints': [0x02131], 'characters': '\u2131' },
+ '&GJcy;': { 'codepoints': [0x00403], 'characters': '\u0403' },
+ '&GT': { 'codepoints': [0x0003E], 'characters': '\x3E' },
+ '&GT;': { 'codepoints': [0x0003E], 'characters': '\x3E' },
+ '&Gamma;': { 'codepoints': [0x00393], 'characters': '\u0393' },
+ '&Gammad;': { 'codepoints': [0x003DC], 'characters': '\u03DC' },
+ '&Gbreve;': { 'codepoints': [0x0011E], 'characters': '\u011E' },
+ '&Gcedil;': { 'codepoints': [0x00122], 'characters': '\u0122' },
+ '&Gcirc;': { 'codepoints': [0x0011C], 'characters': '\u011C' },
+ '&Gcy;': { 'codepoints': [0x00413], 'characters': '\u0413' },
+ '&Gdot;': { 'codepoints': [0x00120], 'characters': '\u0120' },
+ '&Gfr;': { 'codepoints': [0x1D50A], 'characters': '\uD835\uDD0A' },
+ '&Gg;': { 'codepoints': [0x022D9], 'characters': '\u22D9' },
+ '&Gopf;': { 'codepoints': [0x1D53E], 'characters': '\uD835\uDD3E' },
+ '&GreaterEqual;': { 'codepoints': [0x02265], 'characters': '\u2265' },
+ '&GreaterEqualLess;': { 'codepoints': [0x022DB], 'characters': '\u22DB' },
+ '&GreaterFullEqual;': { 'codepoints': [0x02267], 'characters': '\u2267' },
+ '&GreaterGreater;': { 'codepoints': [0x02AA2], 'characters': '\u2AA2' },
+ '&GreaterLess;': { 'codepoints': [0x02277], 'characters': '\u2277' },
+ '&GreaterSlantEqual;': { 'codepoints': [0x02A7E], 'characters': '\u2A7E' },
+ '&GreaterTilde;': { 'codepoints': [0x02273], 'characters': '\u2273' },
+ '&Gscr;': { 'codepoints': [0x1D4A2], 'characters': '\uD835\uDCA2' },
+ '&Gt;': { 'codepoints': [0x0226B], 'characters': '\u226B' },
+ '&HARDcy;': { 'codepoints': [0x0042A], 'characters': '\u042A' },
+ '&Hacek;': { 'codepoints': [0x002C7], 'characters': '\u02C7' },
+ '&Hat;': { 'codepoints': [0x0005E], 'characters': '\x5E' },
+ '&Hcirc;': { 'codepoints': [0x00124], 'characters': '\u0124' },
+ '&Hfr;': { 'codepoints': [0x0210C], 'characters': '\u210C' },
+ '&HilbertSpace;': { 'codepoints': [0x0210B], 'characters': '\u210B' },
+ '&Hopf;': { 'codepoints': [0x0210D], 'characters': '\u210D' },
+ '&HorizontalLine;': { 'codepoints': [0x02500], 'characters': '\u2500' },
+ '&Hscr;': { 'codepoints': [0x0210B], 'characters': '\u210B' },
+ '&Hstrok;': { 'codepoints': [0x00126], 'characters': '\u0126' },
+ '&HumpDownHump;': { 'codepoints': [0x0224E], 'characters': '\u224E' },
+ '&HumpEqual;': { 'codepoints': [0x0224F], 'characters': '\u224F' },
+ '&IEcy;': { 'codepoints': [0x00415], 'characters': '\u0415' },
+ '&IJlig;': { 'codepoints': [0x00132], 'characters': '\u0132' },
+ '&IOcy;': { 'codepoints': [0x00401], 'characters': '\u0401' },
+ '&Iacute': { 'codepoints': [0x000CD], 'characters': '\xCD' },
+ '&Iacute;': { 'codepoints': [0x000CD], 'characters': '\xCD' },
+ '&Icirc': { 'codepoints': [0x000CE], 'characters': '\xCE' },
+ '&Icirc;': { 'codepoints': [0x000CE], 'characters': '\xCE' },
+ '&Icy;': { 'codepoints': [0x00418], 'characters': '\u0418' },
+ '&Idot;': { 'codepoints': [0x00130], 'characters': '\u0130' },
+ '&Ifr;': { 'codepoints': [0x02111], 'characters': '\u2111' },
+ '&Igrave': { 'codepoints': [0x000CC], 'characters': '\xCC' },
+ '&Igrave;': { 'codepoints': [0x000CC], 'characters': '\xCC' },
+ '&Im;': { 'codepoints': [0x02111], 'characters': '\u2111' },
+ '&Imacr;': { 'codepoints': [0x0012A], 'characters': '\u012A' },
+ '&ImaginaryI;': { 'codepoints': [0x02148], 'characters': '\u2148' },
+ '&Implies;': { 'codepoints': [0x021D2], 'characters': '\u21D2' },
+ '&Int;': { 'codepoints': [0x0222C], 'characters': '\u222C' },
+ '&Integral;': { 'codepoints': [0x0222B], 'characters': '\u222B' },
+ '&Intersection;': { 'codepoints': [0x022C2], 'characters': '\u22C2' },
+ '&InvisibleComma;': { 'codepoints': [0x02063], 'characters': '\u2063' },
+ '&InvisibleTimes;': { 'codepoints': [0x02062], 'characters': '\u2062' },
+ '&Iogon;': { 'codepoints': [0x0012E], 'characters': '\u012E' },
+ '&Iopf;': { 'codepoints': [0x1D540], 'characters': '\uD835\uDD40' },
+ '&Iota;': { 'codepoints': [0x00399], 'characters': '\u0399' },
+ '&Iscr;': { 'codepoints': [0x02110], 'characters': '\u2110' },
+ '&Itilde;': { 'codepoints': [0x00128], 'characters': '\u0128' },
+ '&Iukcy;': { 'codepoints': [0x00406], 'characters': '\u0406' },
+ '&Iuml': { 'codepoints': [0x000CF], 'characters': '\xCF' },
+ '&Iuml;': { 'codepoints': [0x000CF], 'characters': '\xCF' },
+ '&Jcirc;': { 'codepoints': [0x00134], 'characters': '\u0134' },
+ '&Jcy;': { 'codepoints': [0x00419], 'characters': '\u0419' },
+ '&Jfr;': { 'codepoints': [0x1D50D], 'characters': '\uD835\uDD0D' },
+ '&Jopf;': { 'codepoints': [0x1D541], 'characters': '\uD835\uDD41' },
+ '&Jscr;': { 'codepoints': [0x1D4A5], 'characters': '\uD835\uDCA5' },
+ '&Jsercy;': { 'codepoints': [0x00408], 'characters': '\u0408' },
+ '&Jukcy;': { 'codepoints': [0x00404], 'characters': '\u0404' },
+ '&KHcy;': { 'codepoints': [0x00425], 'characters': '\u0425' },
+ '&KJcy;': { 'codepoints': [0x0040C], 'characters': '\u040C' },
+ '&Kappa;': { 'codepoints': [0x0039A], 'characters': '\u039A' },
+ '&Kcedil;': { 'codepoints': [0x00136], 'characters': '\u0136' },
+ '&Kcy;': { 'codepoints': [0x0041A], 'characters': '\u041A' },
+ '&Kfr;': { 'codepoints': [0x1D50E], 'characters': '\uD835\uDD0E' },
+ '&Kopf;': { 'codepoints': [0x1D542], 'characters': '\uD835\uDD42' },
+ '&Kscr;': { 'codepoints': [0x1D4A6], 'characters': '\uD835\uDCA6' },
+ '&LJcy;': { 'codepoints': [0x00409], 'characters': '\u0409' },
+ '&LT': { 'codepoints': [0x0003C], 'characters': '\x3C' },
+ '&LT;': { 'codepoints': [0x0003C], 'characters': '\x3C' },
+ '&Lacute;': { 'codepoints': [0x00139], 'characters': '\u0139' },
+ '&Lambda;': { 'codepoints': [0x0039B], 'characters': '\u039B' },
+ '&Lang;': { 'codepoints': [0x027EA], 'characters': '\u27EA' },
+ '&Laplacetrf;': { 'codepoints': [0x02112], 'characters': '\u2112' },
+ '&Larr;': { 'codepoints': [0x0219E], 'characters': '\u219E' },
+ '&Lcaron;': { 'codepoints': [0x0013D], 'characters': '\u013D' },
+ '&Lcedil;': { 'codepoints': [0x0013B], 'characters': '\u013B' },
+ '&Lcy;': { 'codepoints': [0x0041B], 'characters': '\u041B' },
+ '&LeftAngleBracket;': { 'codepoints': [0x027E8], 'characters': '\u27E8' },
+ '&LeftArrow;': { 'codepoints': [0x02190], 'characters': '\u2190' },
+ '&LeftArrowBar;': { 'codepoints': [0x021E4], 'characters': '\u21E4' },
+ '&LeftArrowRightArrow;': { 'codepoints': [0x021C6], 'characters': '\u21C6' },
+ '&LeftCeiling;': { 'codepoints': [0x02308], 'characters': '\u2308' },
+ '&LeftDoubleBracket;': { 'codepoints': [0x027E6], 'characters': '\u27E6' },
+ '&LeftDownTeeVector;': { 'codepoints': [0x02961], 'characters': '\u2961' },
+ '&LeftDownVector;': { 'codepoints': [0x021C3], 'characters': '\u21C3' },
+ '&LeftDownVectorBar;': { 'codepoints': [0x02959], 'characters': '\u2959' },
+ '&LeftFloor;': { 'codepoints': [0x0230A], 'characters': '\u230A' },
+ '&LeftRightArrow;': { 'codepoints': [0x02194], 'characters': '\u2194' },
+ '&LeftRightVector;': { 'codepoints': [0x0294E], 'characters': '\u294E' },
+ '&LeftTee;': { 'codepoints': [0x022A3], 'characters': '\u22A3' },
+ '&LeftTeeArrow;': { 'codepoints': [0x021A4], 'characters': '\u21A4' },
+ '&LeftTeeVector;': { 'codepoints': [0x0295A], 'characters': '\u295A' },
+ '&LeftTriangle;': { 'codepoints': [0x022B2], 'characters': '\u22B2' },
+ '&LeftTriangleBar;': { 'codepoints': [0x029CF], 'characters': '\u29CF' },
+ '&LeftTriangleEqual;': { 'codepoints': [0x022B4], 'characters': '\u22B4' },
+ '&LeftUpDownVector;': { 'codepoints': [0x02951], 'characters': '\u2951' },
+ '&LeftUpTeeVector;': { 'codepoints': [0x02960], 'characters': '\u2960' },
+ '&LeftUpVector;': { 'codepoints': [0x021BF], 'characters': '\u21BF' },
+ '&LeftUpVectorBar;': { 'codepoints': [0x02958], 'characters': '\u2958' },
+ '&LeftVector;': { 'codepoints': [0x021BC], 'characters': '\u21BC' },
+ '&LeftVectorBar;': { 'codepoints': [0x02952], 'characters': '\u2952' },
+ '&Leftarrow;': { 'codepoints': [0x021D0], 'characters': '\u21D0' },
+ '&Leftrightarrow;': { 'codepoints': [0x021D4], 'characters': '\u21D4' },
+ '&LessEqualGreater;': { 'codepoints': [0x022DA], 'characters': '\u22DA' },
+ '&LessFullEqual;': { 'codepoints': [0x02266], 'characters': '\u2266' },
+ '&LessGreater;': { 'codepoints': [0x02276], 'characters': '\u2276' },
+ '&LessLess;': { 'codepoints': [0x02AA1], 'characters': '\u2AA1' },
+ '&LessSlantEqual;': { 'codepoints': [0x02A7D], 'characters': '\u2A7D' },
+ '&LessTilde;': { 'codepoints': [0x02272], 'characters': '\u2272' },
+ '&Lfr;': { 'codepoints': [0x1D50F], 'characters': '\uD835\uDD0F' },
+ '&Ll;': { 'codepoints': [0x022D8], 'characters': '\u22D8' },
+ '&Lleftarrow;': { 'codepoints': [0x021DA], 'characters': '\u21DA' },
+ '&Lmidot;': { 'codepoints': [0x0013F], 'characters': '\u013F' },
+ '&LongLeftArrow;': { 'codepoints': [0x027F5], 'characters': '\u27F5' },
+ '&LongLeftRightArrow;': { 'codepoints': [0x027F7], 'characters': '\u27F7' },
+ '&LongRightArrow;': { 'codepoints': [0x027F6], 'characters': '\u27F6' },
+ '&Longleftarrow;': { 'codepoints': [0x027F8], 'characters': '\u27F8' },
+ '&Longleftrightarrow;': { 'codepoints': [0x027FA], 'characters': '\u27FA' },
+ '&Longrightarrow;': { 'codepoints': [0x027F9], 'characters': '\u27F9' },
+ '&Lopf;': { 'codepoints': [0x1D543], 'characters': '\uD835\uDD43' },
+ '&LowerLeftArrow;': { 'codepoints': [0x02199], 'characters': '\u2199' },
+ '&LowerRightArrow;': { 'codepoints': [0x02198], 'characters': '\u2198' },
+ '&Lscr;': { 'codepoints': [0x02112], 'characters': '\u2112' },
+ '&Lsh;': { 'codepoints': [0x021B0], 'characters': '\u21B0' },
+ '&Lstrok;': { 'codepoints': [0x00141], 'characters': '\u0141' },
+ '&Lt;': { 'codepoints': [0x0226A], 'characters': '\u226A' },
+ '&Map;': { 'codepoints': [0x02905], 'characters': '\u2905' },
+ '&Mcy;': { 'codepoints': [0x0041C], 'characters': '\u041C' },
+ '&MediumSpace;': { 'codepoints': [0x0205F], 'characters': '\u205F' },
+ '&Mellintrf;': { 'codepoints': [0x02133], 'characters': '\u2133' },
+ '&Mfr;': { 'codepoints': [0x1D510], 'characters': '\uD835\uDD10' },
+ '&MinusPlus;': { 'codepoints': [0x02213], 'characters': '\u2213' },
+ '&Mopf;': { 'codepoints': [0x1D544], 'characters': '\uD835\uDD44' },
+ '&Mscr;': { 'codepoints': [0x02133], 'characters': '\u2133' },
+ '&Mu;': { 'codepoints': [0x0039C], 'characters': '\u039C' },
+ '&NJcy;': { 'codepoints': [0x0040A], 'characters': '\u040A' },
+ '&Nacute;': { 'codepoints': [0x00143], 'characters': '\u0143' },
+ '&Ncaron;': { 'codepoints': [0x00147], 'characters': '\u0147' },
+ '&Ncedil;': { 'codepoints': [0x00145], 'characters': '\u0145' },
+ '&Ncy;': { 'codepoints': [0x0041D], 'characters': '\u041D' },
+ '&NegativeMediumSpace;': { 'codepoints': [0x0200B], 'characters': '\u200B' },
+ '&NegativeThickSpace;': { 'codepoints': [0x0200B], 'characters': '\u200B' },
+ '&NegativeThinSpace;': { 'codepoints': [0x0200B], 'characters': '\u200B' },
+ '&NegativeVeryThinSpace;': { 'codepoints': [0x0200B], 'characters': '\u200B' },
+ '&NestedGreaterGreater;': { 'codepoints': [0x0226B], 'characters': '\u226B' },
+ '&NestedLessLess;': { 'codepoints': [0x0226A], 'characters': '\u226A' },
+ '&NewLine;': { 'codepoints': [0x0000A], 'characters': '\x0A' },
+ '&Nfr;': { 'codepoints': [0x1D511], 'characters': '\uD835\uDD11' },
+ '&NoBreak;': { 'codepoints': [0x02060], 'characters': '\u2060' },
+ '&NonBreakingSpace;': { 'codepoints': [0x000A0], 'characters': '\xA0' },
+ '&Nopf;': { 'codepoints': [0x02115], 'characters': '\u2115' },
+ '&Not;': { 'codepoints': [0x02AEC], 'characters': '\u2AEC' },
+ '&NotCongruent;': { 'codepoints': [0x02262], 'characters': '\u2262' },
+ '&NotCupCap;': { 'codepoints': [0x0226D], 'characters': '\u226D' },
+ '&NotDoubleVerticalBar;': { 'codepoints': [0x02226], 'characters': '\u2226' },
+ '&NotElement;': { 'codepoints': [0x02209], 'characters': '\u2209' },
+ '&NotEqual;': { 'codepoints': [0x02260], 'characters': '\u2260' },
+ '&NotEqualTilde;': { 'codepoints': [0x02242, 0x00338], 'characters': '\u2242\u0338' },
+ '&NotExists;': { 'codepoints': [0x02204], 'characters': '\u2204' },
+ '&NotGreater;': { 'codepoints': [0x0226F], 'characters': '\u226F' },
+ '&NotGreaterEqual;': { 'codepoints': [0x02271], 'characters': '\u2271' },
+ '&NotGreaterFullEqual;': { 'codepoints': [0x02267, 0x00338], 'characters': '\u2267\u0338' },
+ '&NotGreaterGreater;': { 'codepoints': [0x0226B, 0x00338], 'characters': '\u226B\u0338' },
+ '&NotGreaterLess;': { 'codepoints': [0x02279], 'characters': '\u2279' },
+ '&NotGreaterSlantEqual;': { 'codepoints': [0x02A7E, 0x00338], 'characters': '\u2A7E\u0338' },
+ '&NotGreaterTilde;': { 'codepoints': [0x02275], 'characters': '\u2275' },
+ '&NotHumpDownHump;': { 'codepoints': [0x0224E, 0x00338], 'characters': '\u224E\u0338' },
+ '&NotHumpEqual;': { 'codepoints': [0x0224F, 0x00338], 'characters': '\u224F\u0338' },
+ '&NotLeftTriangle;': { 'codepoints': [0x022EA], 'characters': '\u22EA' },
+ '&NotLeftTriangleBar;': { 'codepoints': [0x029CF, 0x00338], 'characters': '\u29CF\u0338' },
+ '&NotLeftTriangleEqual;': { 'codepoints': [0x022EC], 'characters': '\u22EC' },
+ '&NotLess;': { 'codepoints': [0x0226E], 'characters': '\u226E' },
+ '&NotLessEqual;': { 'codepoints': [0x02270], 'characters': '\u2270' },
+ '&NotLessGreater;': { 'codepoints': [0x02278], 'characters': '\u2278' },
+ '&NotLessLess;': { 'codepoints': [0x0226A, 0x00338], 'characters': '\u226A\u0338' },
+ '&NotLessSlantEqual;': { 'codepoints': [0x02A7D, 0x00338], 'characters': '\u2A7D\u0338' },
+ '&NotLessTilde;': { 'codepoints': [0x02274], 'characters': '\u2274' },
+ '&NotNestedGreaterGreater;': { 'codepoints': [0x02AA2, 0x00338], 'characters': '\u2AA2\u0338' },
+ '&NotNestedLessLess;': { 'codepoints': [0x02AA1, 0x00338], 'characters': '\u2AA1\u0338' },
+ '&NotPrecedes;': { 'codepoints': [0x02280], 'characters': '\u2280' },
+ '&NotPrecedesEqual;': { 'codepoints': [0x02AAF, 0x00338], 'characters': '\u2AAF\u0338' },
+ '&NotPrecedesSlantEqual;': { 'codepoints': [0x022E0], 'characters': '\u22E0' },
+ '&NotReverseElement;': { 'codepoints': [0x0220C], 'characters': '\u220C' },
+ '&NotRightTriangle;': { 'codepoints': [0x022EB], 'characters': '\u22EB' },
+ '&NotRightTriangleBar;': { 'codepoints': [0x029D0, 0x00338], 'characters': '\u29D0\u0338' },
+ '&NotRightTriangleEqual;': { 'codepoints': [0x022ED], 'characters': '\u22ED' },
+ '&NotSquareSubset;': { 'codepoints': [0x0228F, 0x00338], 'characters': '\u228F\u0338' },
+ '&NotSquareSubsetEqual;': { 'codepoints': [0x022E2], 'characters': '\u22E2' },
+ '&NotSquareSuperset;': { 'codepoints': [0x02290, 0x00338], 'characters': '\u2290\u0338' },
+ '&NotSquareSupersetEqual;': { 'codepoints': [0x022E3], 'characters': '\u22E3' },
+ '&NotSubset;': { 'codepoints': [0x02282, 0x020D2], 'characters': '\u2282\u20D2' },
+ '&NotSubsetEqual;': { 'codepoints': [0x02288], 'characters': '\u2288' },
+ '&NotSucceeds;': { 'codepoints': [0x02281], 'characters': '\u2281' },
+ '&NotSucceedsEqual;': { 'codepoints': [0x02AB0, 0x00338], 'characters': '\u2AB0\u0338' },
+ '&NotSucceedsSlantEqual;': { 'codepoints': [0x022E1], 'characters': '\u22E1' },
+ '&NotSucceedsTilde;': { 'codepoints': [0x0227F, 0x00338], 'characters': '\u227F\u0338' },
+ '&NotSuperset;': { 'codepoints': [0x02283, 0x020D2], 'characters': '\u2283\u20D2' },
+ '&NotSupersetEqual;': { 'codepoints': [0x02289], 'characters': '\u2289' },
+ '&NotTilde;': { 'codepoints': [0x02241], 'characters': '\u2241' },
+ '&NotTildeEqual;': { 'codepoints': [0x02244], 'characters': '\u2244' },
+ '&NotTildeFullEqual;': { 'codepoints': [0x02247], 'characters': '\u2247' },
+ '&NotTildeTilde;': { 'codepoints': [0x02249], 'characters': '\u2249' },
+ '&NotVerticalBar;': { 'codepoints': [0x02224], 'characters': '\u2224' },
+ '&Nscr;': { 'codepoints': [0x1D4A9], 'characters': '\uD835\uDCA9' },
+ '&Ntilde': { 'codepoints': [0x000D1], 'characters': '\xD1' },
+ '&Ntilde;': { 'codepoints': [0x000D1], 'characters': '\xD1' },
+ '&Nu;': { 'codepoints': [0x0039D], 'characters': '\u039D' },
+ '&OElig;': { 'codepoints': [0x00152], 'characters': '\u0152' },
+ '&Oacute': { 'codepoints': [0x000D3], 'characters': '\xD3' },
+ '&Oacute;': { 'codepoints': [0x000D3], 'characters': '\xD3' },
+ '&Ocirc': { 'codepoints': [0x000D4], 'characters': '\xD4' },
+ '&Ocirc;': { 'codepoints': [0x000D4], 'characters': '\xD4' },
+ '&Ocy;': { 'codepoints': [0x0041E], 'characters': '\u041E' },
+ '&Odblac;': { 'codepoints': [0x00150], 'characters': '\u0150' },
+ '&Ofr;': { 'codepoints': [0x1D512], 'characters': '\uD835\uDD12' },
+ '&Ograve': { 'codepoints': [0x000D2], 'characters': '\xD2' },
+ '&Ograve;': { 'codepoints': [0x000D2], 'characters': '\xD2' },
+ '&Omacr;': { 'codepoints': [0x0014C], 'characters': '\u014C' },
+ '&Omega;': { 'codepoints': [0x003A9], 'characters': '\u03A9' },
+ '&Omicron;': { 'codepoints': [0x0039F], 'characters': '\u039F' },
+ '&Oopf;': { 'codepoints': [0x1D546], 'characters': '\uD835\uDD46' },
+ '&OpenCurlyDoubleQuote;': { 'codepoints': [0x0201C], 'characters': '\u201C' },
+ '&OpenCurlyQuote;': { 'codepoints': [0x02018], 'characters': '\u2018' },
+ '&Or;': { 'codepoints': [0x02A54], 'characters': '\u2A54' },
+ '&Oscr;': { 'codepoints': [0x1D4AA], 'characters': '\uD835\uDCAA' },
+ '&Oslash': { 'codepoints': [0x000D8], 'characters': '\xD8' },
+ '&Oslash;': { 'codepoints': [0x000D8], 'characters': '\xD8' },
+ '&Otilde': { 'codepoints': [0x000D5], 'characters': '\xD5' },
+ '&Otilde;': { 'codepoints': [0x000D5], 'characters': '\xD5' },
+ '&Otimes;': { 'codepoints': [0x02A37], 'characters': '\u2A37' },
+ '&Ouml': { 'codepoints': [0x000D6], 'characters': '\xD6' },
+ '&Ouml;': { 'codepoints': [0x000D6], 'characters': '\xD6' },
+ '&OverBar;': { 'codepoints': [0x0203E], 'characters': '\u203E' },
+ '&OverBrace;': { 'codepoints': [0x023DE], 'characters': '\u23DE' },
+ '&OverBracket;': { 'codepoints': [0x023B4], 'characters': '\u23B4' },
+ '&OverParenthesis;': { 'codepoints': [0x023DC], 'characters': '\u23DC' },
+ '&PartialD;': { 'codepoints': [0x02202], 'characters': '\u2202' },
+ '&Pcy;': { 'codepoints': [0x0041F], 'characters': '\u041F' },
+ '&Pfr;': { 'codepoints': [0x1D513], 'characters': '\uD835\uDD13' },
+ '&Phi;': { 'codepoints': [0x003A6], 'characters': '\u03A6' },
+ '&Pi;': { 'codepoints': [0x003A0], 'characters': '\u03A0' },
+ '&PlusMinus;': { 'codepoints': [0x000B1], 'characters': '\xB1' },
+ '&Poincareplane;': { 'codepoints': [0x0210C], 'characters': '\u210C' },
+ '&Popf;': { 'codepoints': [0x02119], 'characters': '\u2119' },
+ '&Pr;': { 'codepoints': [0x02ABB], 'characters': '\u2ABB' },
+ '&Precedes;': { 'codepoints': [0x0227A], 'characters': '\u227A' },
+ '&PrecedesEqual;': { 'codepoints': [0x02AAF], 'characters': '\u2AAF' },
+ '&PrecedesSlantEqual;': { 'codepoints': [0x0227C], 'characters': '\u227C' },
+ '&PrecedesTilde;': { 'codepoints': [0x0227E], 'characters': '\u227E' },
+ '&Prime;': { 'codepoints': [0x02033], 'characters': '\u2033' },
+ '&Product;': { 'codepoints': [0x0220F], 'characters': '\u220F' },
+ '&Proportion;': { 'codepoints': [0x02237], 'characters': '\u2237' },
+ '&Proportional;': { 'codepoints': [0x0221D], 'characters': '\u221D' },
+ '&Pscr;': { 'codepoints': [0x1D4AB], 'characters': '\uD835\uDCAB' },
+ '&Psi;': { 'codepoints': [0x003A8], 'characters': '\u03A8' },
+ '&QUOT': { 'codepoints': [0x00022], 'characters': '\x22' },
+ '&QUOT;': { 'codepoints': [0x00022], 'characters': '\x22' },
+ '&Qfr;': { 'codepoints': [0x1D514], 'characters': '\uD835\uDD14' },
+ '&Qopf;': { 'codepoints': [0x0211A], 'characters': '\u211A' },
+ '&Qscr;': { 'codepoints': [0x1D4AC], 'characters': '\uD835\uDCAC' },
+ '&RBarr;': { 'codepoints': [0x02910], 'characters': '\u2910' },
+ '&REG': { 'codepoints': [0x000AE], 'characters': '\xAE' },
+ '&REG;': { 'codepoints': [0x000AE], 'characters': '\xAE' },
+ '&Racute;': { 'codepoints': [0x00154], 'characters': '\u0154' },
+ '&Rang;': { 'codepoints': [0x027EB], 'characters': '\u27EB' },
+ '&Rarr;': { 'codepoints': [0x021A0], 'characters': '\u21A0' },
+ '&Rarrtl;': { 'codepoints': [0x02916], 'characters': '\u2916' },
+ '&Rcaron;': { 'codepoints': [0x00158], 'characters': '\u0158' },
+ '&Rcedil;': { 'codepoints': [0x00156], 'characters': '\u0156' },
+ '&Rcy;': { 'codepoints': [0x00420], 'characters': '\u0420' },
+ '&Re;': { 'codepoints': [0x0211C], 'characters': '\u211C' },
+ '&ReverseElement;': { 'codepoints': [0x0220B], 'characters': '\u220B' },
+ '&ReverseEquilibrium;': { 'codepoints': [0x021CB], 'characters': '\u21CB' },
+ '&ReverseUpEquilibrium;': { 'codepoints': [0x0296F], 'characters': '\u296F' },
+ '&Rfr;': { 'codepoints': [0x0211C], 'characters': '\u211C' },
+ '&Rho;': { 'codepoints': [0x003A1], 'characters': '\u03A1' },
+ '&RightAngleBracket;': { 'codepoints': [0x027E9], 'characters': '\u27E9' },
+ '&RightArrow;': { 'codepoints': [0x02192], 'characters': '\u2192' },
+ '&RightArrowBar;': { 'codepoints': [0x021E5], 'characters': '\u21E5' },
+ '&RightArrowLeftArrow;': { 'codepoints': [0x021C4], 'characters': '\u21C4' },
+ '&RightCeiling;': { 'codepoints': [0x02309], 'characters': '\u2309' },
+ '&RightDoubleBracket;': { 'codepoints': [0x027E7], 'characters': '\u27E7' },
+ '&RightDownTeeVector;': { 'codepoints': [0x0295D], 'characters': '\u295D' },
+ '&RightDownVector;': { 'codepoints': [0x021C2], 'characters': '\u21C2' },
+ '&RightDownVectorBar;': { 'codepoints': [0x02955], 'characters': '\u2955' },
+ '&RightFloor;': { 'codepoints': [0x0230B], 'characters': '\u230B' },
+ '&RightTee;': { 'codepoints': [0x022A2], 'characters': '\u22A2' },
+ '&RightTeeArrow;': { 'codepoints': [0x021A6], 'characters': '\u21A6' },
+ '&RightTeeVector;': { 'codepoints': [0x0295B], 'characters': '\u295B' },
+ '&RightTriangle;': { 'codepoints': [0x022B3], 'characters': '\u22B3' },
+ '&RightTriangleBar;': { 'codepoints': [0x029D0], 'characters': '\u29D0' },
+ '&RightTriangleEqual;': { 'codepoints': [0x022B5], 'characters': '\u22B5' },
+ '&RightUpDownVector;': { 'codepoints': [0x0294F], 'characters': '\u294F' },
+ '&RightUpTeeVector;': { 'codepoints': [0x0295C], 'characters': '\u295C' },
+ '&RightUpVector;': { 'codepoints': [0x021BE], 'characters': '\u21BE' },
+ '&RightUpVectorBar;': { 'codepoints': [0x02954], 'characters': '\u2954' },
+ '&RightVector;': { 'codepoints': [0x021C0], 'characters': '\u21C0' },
+ '&RightVectorBar;': { 'codepoints': [0x02953], 'characters': '\u2953' },
+ '&Rightarrow;': { 'codepoints': [0x021D2], 'characters': '\u21D2' },
+ '&Ropf;': { 'codepoints': [0x0211D], 'characters': '\u211D' },
+ '&RoundImplies;': { 'codepoints': [0x02970], 'characters': '\u2970' },
+ '&Rrightarrow;': { 'codepoints': [0x021DB], 'characters': '\u21DB' },
+ '&Rscr;': { 'codepoints': [0x0211B], 'characters': '\u211B' },
+ '&Rsh;': { 'codepoints': [0x021B1], 'characters': '\u21B1' },
+ '&RuleDelayed;': { 'codepoints': [0x029F4], 'characters': '\u29F4' },
+ '&SHCHcy;': { 'codepoints': [0x00429], 'characters': '\u0429' },
+ '&SHcy;': { 'codepoints': [0x00428], 'characters': '\u0428' },
+ '&SOFTcy;': { 'codepoints': [0x0042C], 'characters': '\u042C' },
+ '&Sacute;': { 'codepoints': [0x0015A], 'characters': '\u015A' },
+ '&Sc;': { 'codepoints': [0x02ABC], 'characters': '\u2ABC' },
+ '&Scaron;': { 'codepoints': [0x00160], 'characters': '\u0160' },
+ '&Scedil;': { 'codepoints': [0x0015E], 'characters': '\u015E' },
+ '&Scirc;': { 'codepoints': [0x0015C], 'characters': '\u015C' },
+ '&Scy;': { 'codepoints': [0x00421], 'characters': '\u0421' },
+ '&Sfr;': { 'codepoints': [0x1D516], 'characters': '\uD835\uDD16' },
+ '&ShortDownArrow;': { 'codepoints': [0x02193], 'characters': '\u2193' },
+ '&ShortLeftArrow;': { 'codepoints': [0x02190], 'characters': '\u2190' },
+ '&ShortRightArrow;': { 'codepoints': [0x02192], 'characters': '\u2192' },
+ '&ShortUpArrow;': { 'codepoints': [0x02191], 'characters': '\u2191' },
+ '&Sigma;': { 'codepoints': [0x003A3], 'characters': '\u03A3' },
+ '&SmallCircle;': { 'codepoints': [0x02218], 'characters': '\u2218' },
+ '&Sopf;': { 'codepoints': [0x1D54A], 'characters': '\uD835\uDD4A' },
+ '&Sqrt;': { 'codepoints': [0x0221A], 'characters': '\u221A' },
+ '&Square;': { 'codepoints': [0x025A1], 'characters': '\u25A1' },
+ '&SquareIntersection;': { 'codepoints': [0x02293], 'characters': '\u2293' },
+ '&SquareSubset;': { 'codepoints': [0x0228F], 'characters': '\u228F' },
+ '&SquareSubsetEqual;': { 'codepoints': [0x02291], 'characters': '\u2291' },
+ '&SquareSuperset;': { 'codepoints': [0x02290], 'characters': '\u2290' },
+ '&SquareSupersetEqual;': { 'codepoints': [0x02292], 'characters': '\u2292' },
+ '&SquareUnion;': { 'codepoints': [0x02294], 'characters': '\u2294' },
+ '&Sscr;': { 'codepoints': [0x1D4AE], 'characters': '\uD835\uDCAE' },
+ '&Star;': { 'codepoints': [0x022C6], 'characters': '\u22C6' },
+ '&Sub;': { 'codepoints': [0x022D0], 'characters': '\u22D0' },
+ '&Subset;': { 'codepoints': [0x022D0], 'characters': '\u22D0' },
+ '&SubsetEqual;': { 'codepoints': [0x02286], 'characters': '\u2286' },
+ '&Succeeds;': { 'codepoints': [0x0227B], 'characters': '\u227B' },
+ '&SucceedsEqual;': { 'codepoints': [0x02AB0], 'characters': '\u2AB0' },
+ '&SucceedsSlantEqual;': { 'codepoints': [0x0227D], 'characters': '\u227D' },
+ '&SucceedsTilde;': { 'codepoints': [0x0227F], 'characters': '\u227F' },
+ '&SuchThat;': { 'codepoints': [0x0220B], 'characters': '\u220B' },
+ '&Sum;': { 'codepoints': [0x02211], 'characters': '\u2211' },
+ '&Sup;': { 'codepoints': [0x022D1], 'characters': '\u22D1' },
+ '&Superset;': { 'codepoints': [0x02283], 'characters': '\u2283' },
+ '&SupersetEqual;': { 'codepoints': [0x02287], 'characters': '\u2287' },
+ '&Supset;': { 'codepoints': [0x022D1], 'characters': '\u22D1' },
+ '&THORN': { 'codepoints': [0x000DE], 'characters': '\xDE' },
+ '&THORN;': { 'codepoints': [0x000DE], 'characters': '\xDE' },
+ '&TRADE;': { 'codepoints': [0x02122], 'characters': '\u2122' },
+ '&TSHcy;': { 'codepoints': [0x0040B], 'characters': '\u040B' },
+ '&TScy;': { 'codepoints': [0x00426], 'characters': '\u0426' },
+ '&Tab;': { 'codepoints': [0x00009], 'characters': '\x09' },
+ '&Tau;': { 'codepoints': [0x003A4], 'characters': '\u03A4' },
+ '&Tcaron;': { 'codepoints': [0x00164], 'characters': '\u0164' },
+ '&Tcedil;': { 'codepoints': [0x00162], 'characters': '\u0162' },
+ '&Tcy;': { 'codepoints': [0x00422], 'characters': '\u0422' },
+ '&Tfr;': { 'codepoints': [0x1D517], 'characters': '\uD835\uDD17' },
+ '&Therefore;': { 'codepoints': [0x02234], 'characters': '\u2234' },
+ '&Theta;': { 'codepoints': [0x00398], 'characters': '\u0398' },
+ '&ThickSpace;': { 'codepoints': [0x0205F, 0x0200A], 'characters': '\u205F\u200A' },
+ '&ThinSpace;': { 'codepoints': [0x02009], 'characters': '\u2009' },
+ '&Tilde;': { 'codepoints': [0x0223C], 'characters': '\u223C' },
+ '&TildeEqual;': { 'codepoints': [0x02243], 'characters': '\u2243' },
+ '&TildeFullEqual;': { 'codepoints': [0x02245], 'characters': '\u2245' },
+ '&TildeTilde;': { 'codepoints': [0x02248], 'characters': '\u2248' },
+ '&Topf;': { 'codepoints': [0x1D54B], 'characters': '\uD835\uDD4B' },
+ '&TripleDot;': { 'codepoints': [0x020DB], 'characters': '\u20DB' },
+ '&Tscr;': { 'codepoints': [0x1D4AF], 'characters': '\uD835\uDCAF' },
+ '&Tstrok;': { 'codepoints': [0x00166], 'characters': '\u0166' },
+ '&Uacute': { 'codepoints': [0x000DA], 'characters': '\xDA' },
+ '&Uacute;': { 'codepoints': [0x000DA], 'characters': '\xDA' },
+ '&Uarr;': { 'codepoints': [0x0219F], 'characters': '\u219F' },
+ '&Uarrocir;': { 'codepoints': [0x02949], 'characters': '\u2949' },
+ '&Ubrcy;': { 'codepoints': [0x0040E], 'characters': '\u040E' },
+ '&Ubreve;': { 'codepoints': [0x0016C], 'characters': '\u016C' },
+ '&Ucirc': { 'codepoints': [0x000DB], 'characters': '\xDB' },
+ '&Ucirc;': { 'codepoints': [0x000DB], 'characters': '\xDB' },
+ '&Ucy;': { 'codepoints': [0x00423], 'characters': '\u0423' },
+ '&Udblac;': { 'codepoints': [0x00170], 'characters': '\u0170' },
+ '&Ufr;': { 'codepoints': [0x1D518], 'characters': '\uD835\uDD18' },
+ '&Ugrave': { 'codepoints': [0x000D9], 'characters': '\xD9' },
+ '&Ugrave;': { 'codepoints': [0x000D9], 'characters': '\xD9' },
+ '&Umacr;': { 'codepoints': [0x0016A], 'characters': '\u016A' },
+ '&UnderBar;': { 'codepoints': [0x0005F], 'characters': '\x5F' },
+ '&UnderBrace;': { 'codepoints': [0x023DF], 'characters': '\u23DF' },
+ '&UnderBracket;': { 'codepoints': [0x023B5], 'characters': '\u23B5' },
+ '&UnderParenthesis;': { 'codepoints': [0x023DD], 'characters': '\u23DD' },
+ '&Union;': { 'codepoints': [0x022C3], 'characters': '\u22C3' },
+ '&UnionPlus;': { 'codepoints': [0x0228E], 'characters': '\u228E' },
+ '&Uogon;': { 'codepoints': [0x00172], 'characters': '\u0172' },
+ '&Uopf;': { 'codepoints': [0x1D54C], 'characters': '\uD835\uDD4C' },
+ '&UpArrow;': { 'codepoints': [0x02191], 'characters': '\u2191' },
+ '&UpArrowBar;': { 'codepoints': [0x02912], 'characters': '\u2912' },
+ '&UpArrowDownArrow;': { 'codepoints': [0x021C5], 'characters': '\u21C5' },
+ '&UpDownArrow;': { 'codepoints': [0x02195], 'characters': '\u2195' },
+ '&UpEquilibrium;': { 'codepoints': [0x0296E], 'characters': '\u296E' },
+ '&UpTee;': { 'codepoints': [0x022A5], 'characters': '\u22A5' },
+ '&UpTeeArrow;': { 'codepoints': [0x021A5], 'characters': '\u21A5' },
+ '&Uparrow;': { 'codepoints': [0x021D1], 'characters': '\u21D1' },
+ '&Updownarrow;': { 'codepoints': [0x021D5], 'characters': '\u21D5' },
+ '&UpperLeftArrow;': { 'codepoints': [0x02196], 'characters': '\u2196' },
+ '&UpperRightArrow;': { 'codepoints': [0x02197], 'characters': '\u2197' },
+ '&Upsi;': { 'codepoints': [0x003D2], 'characters': '\u03D2' },
+ '&Upsilon;': { 'codepoints': [0x003A5], 'characters': '\u03A5' },
+ '&Uring;': { 'codepoints': [0x0016E], 'characters': '\u016E' },
+ '&Uscr;': { 'codepoints': [0x1D4B0], 'characters': '\uD835\uDCB0' },
+ '&Utilde;': { 'codepoints': [0x00168], 'characters': '\u0168' },
+ '&Uuml': { 'codepoints': [0x000DC], 'characters': '\xDC' },
+ '&Uuml;': { 'codepoints': [0x000DC], 'characters': '\xDC' },
+ '&VDash;': { 'codepoints': [0x022AB], 'characters': '\u22AB' },
+ '&Vbar;': { 'codepoints': [0x02AEB], 'characters': '\u2AEB' },
+ '&Vcy;': { 'codepoints': [0x00412], 'characters': '\u0412' },
+ '&Vdash;': { 'codepoints': [0x022A9], 'characters': '\u22A9' },
+ '&Vdashl;': { 'codepoints': [0x02AE6], 'characters': '\u2AE6' },
+ '&Vee;': { 'codepoints': [0x022C1], 'characters': '\u22C1' },
+ '&Verbar;': { 'codepoints': [0x02016], 'characters': '\u2016' },
+ '&Vert;': { 'codepoints': [0x02016], 'characters': '\u2016' },
+ '&VerticalBar;': { 'codepoints': [0x02223], 'characters': '\u2223' },
+ '&VerticalLine;': { 'codepoints': [0x0007C], 'characters': '\x7C' },
+ '&VerticalSeparator;': { 'codepoints': [0x02758], 'characters': '\u2758' },
+ '&VerticalTilde;': { 'codepoints': [0x02240], 'characters': '\u2240' },
+ '&VeryThinSpace;': { 'codepoints': [0x0200A], 'characters': '\u200A' },
+ '&Vfr;': { 'codepoints': [0x1D519], 'characters': '\uD835\uDD19' },
+ '&Vopf;': { 'codepoints': [0x1D54D], 'characters': '\uD835\uDD4D' },
+ '&Vscr;': { 'codepoints': [0x1D4B1], 'characters': '\uD835\uDCB1' },
+ '&Vvdash;': { 'codepoints': [0x022AA], 'characters': '\u22AA' },
+ '&Wcirc;': { 'codepoints': [0x00174], 'characters': '\u0174' },
+ '&Wedge;': { 'codepoints': [0x022C0], 'characters': '\u22C0' },
+ '&Wfr;': { 'codepoints': [0x1D51A], 'characters': '\uD835\uDD1A' },
+ '&Wopf;': { 'codepoints': [0x1D54E], 'characters': '\uD835\uDD4E' },
+ '&Wscr;': { 'codepoints': [0x1D4B2], 'characters': '\uD835\uDCB2' },
+ '&Xfr;': { 'codepoints': [0x1D51B], 'characters': '\uD835\uDD1B' },
+ '&Xi;': { 'codepoints': [0x0039E], 'characters': '\u039E' },
+ '&Xopf;': { 'codepoints': [0x1D54F], 'characters': '\uD835\uDD4F' },
+ '&Xscr;': { 'codepoints': [0x1D4B3], 'characters': '\uD835\uDCB3' },
+ '&YAcy;': { 'codepoints': [0x0042F], 'characters': '\u042F' },
+ '&YIcy;': { 'codepoints': [0x00407], 'characters': '\u0407' },
+ '&YUcy;': { 'codepoints': [0x0042E], 'characters': '\u042E' },
+ '&Yacute': { 'codepoints': [0x000DD], 'characters': '\xDD' },
+ '&Yacute;': { 'codepoints': [0x000DD], 'characters': '\xDD' },
+ '&Ycirc;': { 'codepoints': [0x00176], 'characters': '\u0176' },
+ '&Ycy;': { 'codepoints': [0x0042B], 'characters': '\u042B' },
+ '&Yfr;': { 'codepoints': [0x1D51C], 'characters': '\uD835\uDD1C' },
+ '&Yopf;': { 'codepoints': [0x1D550], 'characters': '\uD835\uDD50' },
+ '&Yscr;': { 'codepoints': [0x1D4B4], 'characters': '\uD835\uDCB4' },
+ '&Yuml;': { 'codepoints': [0x00178], 'characters': '\u0178' },
+ '&ZHcy;': { 'codepoints': [0x00416], 'characters': '\u0416' },
+ '&Zacute;': { 'codepoints': [0x00179], 'characters': '\u0179' },
+ '&Zcaron;': { 'codepoints': [0x0017D], 'characters': '\u017D' },
+ '&Zcy;': { 'codepoints': [0x00417], 'characters': '\u0417' },
+ '&Zdot;': { 'codepoints': [0x0017B], 'characters': '\u017B' },
+ '&ZeroWidthSpace;': { 'codepoints': [0x0200B], 'characters': '\u200B' },
+ '&Zeta;': { 'codepoints': [0x00396], 'characters': '\u0396' },
+ '&Zfr;': { 'codepoints': [0x02128], 'characters': '\u2128' },
+ '&Zopf;': { 'codepoints': [0x02124], 'characters': '\u2124' },
+ '&Zscr;': { 'codepoints': [0x1D4B5], 'characters': '\uD835\uDCB5' },
+ '&aacute': { 'codepoints': [0x000E1], 'characters': '\xE1' },
+ '&aacute;': { 'codepoints': [0x000E1], 'characters': '\xE1' },
+ '&abreve;': { 'codepoints': [0x00103], 'characters': '\u0103' },
+ '&ac;': { 'codepoints': [0x0223E], 'characters': '\u223E' },
+ '&acE;': { 'codepoints': [0x0223E, 0x00333], 'characters': '\u223E\u0333' },
+ '&acd;': { 'codepoints': [0x0223F], 'characters': '\u223F' },
+ '&acirc': { 'codepoints': [0x000E2], 'characters': '\xE2' },
+ '&acirc;': { 'codepoints': [0x000E2], 'characters': '\xE2' },
+ '&acute': { 'codepoints': [0x000B4], 'characters': '\xB4' },
+ '&acute;': { 'codepoints': [0x000B4], 'characters': '\xB4' },
+ '&acy;': { 'codepoints': [0x00430], 'characters': '\u0430' },
+ '&aelig': { 'codepoints': [0x000E6], 'characters': '\xE6' },
+ '&aelig;': { 'codepoints': [0x000E6], 'characters': '\xE6' },
+ '&af;': { 'codepoints': [0x02061], 'characters': '\u2061' },
+ '&afr;': { 'codepoints': [0x1D51E], 'characters': '\uD835\uDD1E' },
+ '&agrave': { 'codepoints': [0x000E0], 'characters': '\xE0' },
+ '&agrave;': { 'codepoints': [0x000E0], 'characters': '\xE0' },
+ '&alefsym;': { 'codepoints': [0x02135], 'characters': '\u2135' },
+ '&aleph;': { 'codepoints': [0x02135], 'characters': '\u2135' },
+ '&alpha;': { 'codepoints': [0x003B1], 'characters': '\u03B1' },
+ '&amacr;': { 'codepoints': [0x00101], 'characters': '\u0101' },
+ '&amalg;': { 'codepoints': [0x02A3F], 'characters': '\u2A3F' },
+ '&amp': { 'codepoints': [0x00026], 'characters': '\x26' },
+ '&amp;': { 'codepoints': [0x00026], 'characters': '\x26' },
+ '&and;': { 'codepoints': [0x02227], 'characters': '\u2227' },
+ '&andand;': { 'codepoints': [0x02A55], 'characters': '\u2A55' },
+ '&andd;': { 'codepoints': [0x02A5C], 'characters': '\u2A5C' },
+ '&andslope;': { 'codepoints': [0x02A58], 'characters': '\u2A58' },
+ '&andv;': { 'codepoints': [0x02A5A], 'characters': '\u2A5A' },
+ '&ang;': { 'codepoints': [0x02220], 'characters': '\u2220' },
+ '&ange;': { 'codepoints': [0x029A4], 'characters': '\u29A4' },
+ '&angle;': { 'codepoints': [0x02220], 'characters': '\u2220' },
+ '&angmsd;': { 'codepoints': [0x02221], 'characters': '\u2221' },
+ '&angmsdaa;': { 'codepoints': [0x029A8], 'characters': '\u29A8' },
+ '&angmsdab;': { 'codepoints': [0x029A9], 'characters': '\u29A9' },
+ '&angmsdac;': { 'codepoints': [0x029AA], 'characters': '\u29AA' },
+ '&angmsdad;': { 'codepoints': [0x029AB], 'characters': '\u29AB' },
+ '&angmsdae;': { 'codepoints': [0x029AC], 'characters': '\u29AC' },
+ '&angmsdaf;': { 'codepoints': [0x029AD], 'characters': '\u29AD' },
+ '&angmsdag;': { 'codepoints': [0x029AE], 'characters': '\u29AE' },
+ '&angmsdah;': { 'codepoints': [0x029AF], 'characters': '\u29AF' },
+ '&angrt;': { 'codepoints': [0x0221F], 'characters': '\u221F' },
+ '&angrtvb;': { 'codepoints': [0x022BE], 'characters': '\u22BE' },
+ '&angrtvbd;': { 'codepoints': [0x0299D], 'characters': '\u299D' },
+ '&angsph;': { 'codepoints': [0x02222], 'characters': '\u2222' },
+ '&angst;': { 'codepoints': [0x000C5], 'characters': '\xC5' },
+ '&angzarr;': { 'codepoints': [0x0237C], 'characters': '\u237C' },
+ '&aogon;': { 'codepoints': [0x00105], 'characters': '\u0105' },
+ '&aopf;': { 'codepoints': [0x1D552], 'characters': '\uD835\uDD52' },
+ '&ap;': { 'codepoints': [0x02248], 'characters': '\u2248' },
+ '&apE;': { 'codepoints': [0x02A70], 'characters': '\u2A70' },
+ '&apacir;': { 'codepoints': [0x02A6F], 'characters': '\u2A6F' },
+ '&ape;': { 'codepoints': [0x0224A], 'characters': '\u224A' },
+ '&apid;': { 'codepoints': [0x0224B], 'characters': '\u224B' },
+ '&apos;': { 'codepoints': [0x00027], 'characters': '\x27' },
+ '&approx;': { 'codepoints': [0x02248], 'characters': '\u2248' },
+ '&approxeq;': { 'codepoints': [0x0224A], 'characters': '\u224A' },
+ '&aring': { 'codepoints': [0x000E5], 'characters': '\xE5' },
+ '&aring;': { 'codepoints': [0x000E5], 'characters': '\xE5' },
+ '&ascr;': { 'codepoints': [0x1D4B6], 'characters': '\uD835\uDCB6' },
+ '&ast;': { 'codepoints': [0x0002A], 'characters': '\x2A' },
+ '&asymp;': { 'codepoints': [0x02248], 'characters': '\u2248' },
+ '&asympeq;': { 'codepoints': [0x0224D], 'characters': '\u224D' },
+ '&atilde': { 'codepoints': [0x000E3], 'characters': '\xE3' },
+ '&atilde;': { 'codepoints': [0x000E3], 'characters': '\xE3' },
+ '&auml': { 'codepoints': [0x000E4], 'characters': '\xE4' },
+ '&auml;': { 'codepoints': [0x000E4], 'characters': '\xE4' },
+ '&awconint;': { 'codepoints': [0x02233], 'characters': '\u2233' },
+ '&awint;': { 'codepoints': [0x02A11], 'characters': '\u2A11' },
+ '&bNot;': { 'codepoints': [0x02AED], 'characters': '\u2AED' },
+ '&backcong;': { 'codepoints': [0x0224C], 'characters': '\u224C' },
+ '&backepsilon;': { 'codepoints': [0x003F6], 'characters': '\u03F6' },
+ '&backprime;': { 'codepoints': [0x02035], 'characters': '\u2035' },
+ '&backsim;': { 'codepoints': [0x0223D], 'characters': '\u223D' },
+ '&backsimeq;': { 'codepoints': [0x022CD], 'characters': '\u22CD' },
+ '&barvee;': { 'codepoints': [0x022BD], 'characters': '\u22BD' },
+ '&barwed;': { 'codepoints': [0x02305], 'characters': '\u2305' },
+ '&barwedge;': { 'codepoints': [0x02305], 'characters': '\u2305' },
+ '&bbrk;': { 'codepoints': [0x023B5], 'characters': '\u23B5' },
+ '&bbrktbrk;': { 'codepoints': [0x023B6], 'characters': '\u23B6' },
+ '&bcong;': { 'codepoints': [0x0224C], 'characters': '\u224C' },
+ '&bcy;': { 'codepoints': [0x00431], 'characters': '\u0431' },
+ '&bdquo;': { 'codepoints': [0x0201E], 'characters': '\u201E' },
+ '&becaus;': { 'codepoints': [0x02235], 'characters': '\u2235' },
+ '&because;': { 'codepoints': [0x02235], 'characters': '\u2235' },
+ '&bemptyv;': { 'codepoints': [0x029B0], 'characters': '\u29B0' },
+ '&bepsi;': { 'codepoints': [0x003F6], 'characters': '\u03F6' },
+ '&bernou;': { 'codepoints': [0x0212C], 'characters': '\u212C' },
+ '&beta;': { 'codepoints': [0x003B2], 'characters': '\u03B2' },
+ '&beth;': { 'codepoints': [0x02136], 'characters': '\u2136' },
+ '&between;': { 'codepoints': [0x0226C], 'characters': '\u226C' },
+ '&bfr;': { 'codepoints': [0x1D51F], 'characters': '\uD835\uDD1F' },
+ '&bigcap;': { 'codepoints': [0x022C2], 'characters': '\u22C2' },
+ '&bigcirc;': { 'codepoints': [0x025EF], 'characters': '\u25EF' },
+ '&bigcup;': { 'codepoints': [0x022C3], 'characters': '\u22C3' },
+ '&bigodot;': { 'codepoints': [0x02A00], 'characters': '\u2A00' },
+ '&bigoplus;': { 'codepoints': [0x02A01], 'characters': '\u2A01' },
+ '&bigotimes;': { 'codepoints': [0x02A02], 'characters': '\u2A02' },
+ '&bigsqcup;': { 'codepoints': [0x02A06], 'characters': '\u2A06' },
+ '&bigstar;': { 'codepoints': [0x02605], 'characters': '\u2605' },
+ '&bigtriangledown;': { 'codepoints': [0x025BD], 'characters': '\u25BD' },
+ '&bigtriangleup;': { 'codepoints': [0x025B3], 'characters': '\u25B3' },
+ '&biguplus;': { 'codepoints': [0x02A04], 'characters': '\u2A04' },
+ '&bigvee;': { 'codepoints': [0x022C1], 'characters': '\u22C1' },
+ '&bigwedge;': { 'codepoints': [0x022C0], 'characters': '\u22C0' },
+ '&bkarow;': { 'codepoints': [0x0290D], 'characters': '\u290D' },
+ '&blacklozenge;': { 'codepoints': [0x029EB], 'characters': '\u29EB' },
+ '&blacksquare;': { 'codepoints': [0x025AA], 'characters': '\u25AA' },
+ '&blacktriangle;': { 'codepoints': [0x025B4], 'characters': '\u25B4' },
+ '&blacktriangledown;': { 'codepoints': [0x025BE], 'characters': '\u25BE' },
+ '&blacktriangleleft;': { 'codepoints': [0x025C2], 'characters': '\u25C2' },
+ '&blacktriangleright;': { 'codepoints': [0x025B8], 'characters': '\u25B8' },
+ '&blank;': { 'codepoints': [0x02423], 'characters': '\u2423' },
+ '&blk12;': { 'codepoints': [0x02592], 'characters': '\u2592' },
+ '&blk14;': { 'codepoints': [0x02591], 'characters': '\u2591' },
+ '&blk34;': { 'codepoints': [0x02593], 'characters': '\u2593' },
+ '&block;': { 'codepoints': [0x02588], 'characters': '\u2588' },
+ '&bne;': { 'codepoints': [0x0003D, 0x020E5], 'characters': '\x3D\u20E5' },
+ '&bnequiv;': { 'codepoints': [0x02261, 0x020E5], 'characters': '\u2261\u20E5' },
+ '&bnot;': { 'codepoints': [0x02310], 'characters': '\u2310' },
+ '&bopf;': { 'codepoints': [0x1D553], 'characters': '\uD835\uDD53' },
+ '&bot;': { 'codepoints': [0x022A5], 'characters': '\u22A5' },
+ '&bottom;': { 'codepoints': [0x022A5], 'characters': '\u22A5' },
+ '&bowtie;': { 'codepoints': [0x022C8], 'characters': '\u22C8' },
+ '&boxDL;': { 'codepoints': [0x02557], 'characters': '\u2557' },
+ '&boxDR;': { 'codepoints': [0x02554], 'characters': '\u2554' },
+ '&boxDl;': { 'codepoints': [0x02556], 'characters': '\u2556' },
+ '&boxDr;': { 'codepoints': [0x02553], 'characters': '\u2553' },
+ '&boxH;': { 'codepoints': [0x02550], 'characters': '\u2550' },
+ '&boxHD;': { 'codepoints': [0x02566], 'characters': '\u2566' },
+ '&boxHU;': { 'codepoints': [0x02569], 'characters': '\u2569' },
+ '&boxHd;': { 'codepoints': [0x02564], 'characters': '\u2564' },
+ '&boxHu;': { 'codepoints': [0x02567], 'characters': '\u2567' },
+ '&boxUL;': { 'codepoints': [0x0255D], 'characters': '\u255D' },
+ '&boxUR;': { 'codepoints': [0x0255A], 'characters': '\u255A' },
+ '&boxUl;': { 'codepoints': [0x0255C], 'characters': '\u255C' },
+ '&boxUr;': { 'codepoints': [0x02559], 'characters': '\u2559' },
+ '&boxV;': { 'codepoints': [0x02551], 'characters': '\u2551' },
+ '&boxVH;': { 'codepoints': [0x0256C], 'characters': '\u256C' },
+ '&boxVL;': { 'codepoints': [0x02563], 'characters': '\u2563' },
+ '&boxVR;': { 'codepoints': [0x02560], 'characters': '\u2560' },
+ '&boxVh;': { 'codepoints': [0x0256B], 'characters': '\u256B' },
+ '&boxVl;': { 'codepoints': [0x02562], 'characters': '\u2562' },
+ '&boxVr;': { 'codepoints': [0x0255F], 'characters': '\u255F' },
+ '&boxbox;': { 'codepoints': [0x029C9], 'characters': '\u29C9' },
+ '&boxdL;': { 'codepoints': [0x02555], 'characters': '\u2555' },
+ '&boxdR;': { 'codepoints': [0x02552], 'characters': '\u2552' },
+ '&boxdl;': { 'codepoints': [0x02510], 'characters': '\u2510' },
+ '&boxdr;': { 'codepoints': [0x0250C], 'characters': '\u250C' },
+ '&boxh;': { 'codepoints': [0x02500], 'characters': '\u2500' },
+ '&boxhD;': { 'codepoints': [0x02565], 'characters': '\u2565' },
+ '&boxhU;': { 'codepoints': [0x02568], 'characters': '\u2568' },
+ '&boxhd;': { 'codepoints': [0x0252C], 'characters': '\u252C' },
+ '&boxhu;': { 'codepoints': [0x02534], 'characters': '\u2534' },
+ '&boxminus;': { 'codepoints': [0x0229F], 'characters': '\u229F' },
+ '&boxplus;': { 'codepoints': [0x0229E], 'characters': '\u229E' },
+ '&boxtimes;': { 'codepoints': [0x022A0], 'characters': '\u22A0' },
+ '&boxuL;': { 'codepoints': [0x0255B], 'characters': '\u255B' },
+ '&boxuR;': { 'codepoints': [0x02558], 'characters': '\u2558' },
+ '&boxul;': { 'codepoints': [0x02518], 'characters': '\u2518' },
+ '&boxur;': { 'codepoints': [0x02514], 'characters': '\u2514' },
+ '&boxv;': { 'codepoints': [0x02502], 'characters': '\u2502' },
+ '&boxvH;': { 'codepoints': [0x0256A], 'characters': '\u256A' },
+ '&boxvL;': { 'codepoints': [0x02561], 'characters': '\u2561' },
+ '&boxvR;': { 'codepoints': [0x0255E], 'characters': '\u255E' },
+ '&boxvh;': { 'codepoints': [0x0253C], 'characters': '\u253C' },
+ '&boxvl;': { 'codepoints': [0x02524], 'characters': '\u2524' },
+ '&boxvr;': { 'codepoints': [0x0251C], 'characters': '\u251C' },
+ '&bprime;': { 'codepoints': [0x02035], 'characters': '\u2035' },
+ '&breve;': { 'codepoints': [0x002D8], 'characters': '\u02D8' },
+ '&brvbar': { 'codepoints': [0x000A6], 'characters': '\xA6' },
+ '&brvbar;': { 'codepoints': [0x000A6], 'characters': '\xA6' },
+ '&bscr;': { 'codepoints': [0x1D4B7], 'characters': '\uD835\uDCB7' },
+ '&bsemi;': { 'codepoints': [0x0204F], 'characters': '\u204F' },
+ '&bsim;': { 'codepoints': [0x0223D], 'characters': '\u223D' },
+ '&bsime;': { 'codepoints': [0x022CD], 'characters': '\u22CD' },
+ '&bsol;': { 'codepoints': [0x0005C], 'characters': '\x5C' },
+ '&bsolb;': { 'codepoints': [0x029C5], 'characters': '\u29C5' },
+ '&bsolhsub;': { 'codepoints': [0x027C8], 'characters': '\u27C8' },
+ '&bull;': { 'codepoints': [0x02022], 'characters': '\u2022' },
+ '&bullet;': { 'codepoints': [0x02022], 'characters': '\u2022' },
+ '&bump;': { 'codepoints': [0x0224E], 'characters': '\u224E' },
+ '&bumpE;': { 'codepoints': [0x02AAE], 'characters': '\u2AAE' },
+ '&bumpe;': { 'codepoints': [0x0224F], 'characters': '\u224F' },
+ '&bumpeq;': { 'codepoints': [0x0224F], 'characters': '\u224F' },
+ '&cacute;': { 'codepoints': [0x00107], 'characters': '\u0107' },
+ '&cap;': { 'codepoints': [0x02229], 'characters': '\u2229' },
+ '&capand;': { 'codepoints': [0x02A44], 'characters': '\u2A44' },
+ '&capbrcup;': { 'codepoints': [0x02A49], 'characters': '\u2A49' },
+ '&capcap;': { 'codepoints': [0x02A4B], 'characters': '\u2A4B' },
+ '&capcup;': { 'codepoints': [0x02A47], 'characters': '\u2A47' },
+ '&capdot;': { 'codepoints': [0x02A40], 'characters': '\u2A40' },
+ '&caps;': { 'codepoints': [0x02229, 0x0FE00], 'characters': '\u2229\uFE00' },
+ '&caret;': { 'codepoints': [0x02041], 'characters': '\u2041' },
+ '&caron;': { 'codepoints': [0x002C7], 'characters': '\u02C7' },
+ '&ccaps;': { 'codepoints': [0x02A4D], 'characters': '\u2A4D' },
+ '&ccaron;': { 'codepoints': [0x0010D], 'characters': '\u010D' },
+ '&ccedil': { 'codepoints': [0x000E7], 'characters': '\xE7' },
+ '&ccedil;': { 'codepoints': [0x000E7], 'characters': '\xE7' },
+ '&ccirc;': { 'codepoints': [0x00109], 'characters': '\u0109' },
+ '&ccups;': { 'codepoints': [0x02A4C], 'characters': '\u2A4C' },
+ '&ccupssm;': { 'codepoints': [0x02A50], 'characters': '\u2A50' },
+ '&cdot;': { 'codepoints': [0x0010B], 'characters': '\u010B' },
+ '&cedil': { 'codepoints': [0x000B8], 'characters': '\xB8' },
+ '&cedil;': { 'codepoints': [0x000B8], 'characters': '\xB8' },
+ '&cemptyv;': { 'codepoints': [0x029B2], 'characters': '\u29B2' },
+ '&cent': { 'codepoints': [0x000A2], 'characters': '\xA2' },
+ '&cent;': { 'codepoints': [0x000A2], 'characters': '\xA2' },
+ '&centerdot;': { 'codepoints': [0x000B7], 'characters': '\xB7' },
+ '&cfr;': { 'codepoints': [0x1D520], 'characters': '\uD835\uDD20' },
+ '&chcy;': { 'codepoints': [0x00447], 'characters': '\u0447' },
+ '&check;': { 'codepoints': [0x02713], 'characters': '\u2713' },
+ '&checkmark;': { 'codepoints': [0x02713], 'characters': '\u2713' },
+ '&chi;': { 'codepoints': [0x003C7], 'characters': '\u03C7' },
+ '&cir;': { 'codepoints': [0x025CB], 'characters': '\u25CB' },
+ '&cirE;': { 'codepoints': [0x029C3], 'characters': '\u29C3' },
+ '&circ;': { 'codepoints': [0x002C6], 'characters': '\u02C6' },
+ '&circeq;': { 'codepoints': [0x02257], 'characters': '\u2257' },
+ '&circlearrowleft;': { 'codepoints': [0x021BA], 'characters': '\u21BA' },
+ '&circlearrowright;': { 'codepoints': [0x021BB], 'characters': '\u21BB' },
+ '&circledR;': { 'codepoints': [0x000AE], 'characters': '\xAE' },
+ '&circledS;': { 'codepoints': [0x024C8], 'characters': '\u24C8' },
+ '&circledast;': { 'codepoints': [0x0229B], 'characters': '\u229B' },
+ '&circledcirc;': { 'codepoints': [0x0229A], 'characters': '\u229A' },
+ '&circleddash;': { 'codepoints': [0x0229D], 'characters': '\u229D' },
+ '&cire;': { 'codepoints': [0x02257], 'characters': '\u2257' },
+ '&cirfnint;': { 'codepoints': [0x02A10], 'characters': '\u2A10' },
+ '&cirmid;': { 'codepoints': [0x02AEF], 'characters': '\u2AEF' },
+ '&cirscir;': { 'codepoints': [0x029C2], 'characters': '\u29C2' },
+ '&clubs;': { 'codepoints': [0x02663], 'characters': '\u2663' },
+ '&clubsuit;': { 'codepoints': [0x02663], 'characters': '\u2663' },
+ '&colon;': { 'codepoints': [0x0003A], 'characters': '\x3A' },
+ '&colone;': { 'codepoints': [0x02254], 'characters': '\u2254' },
+ '&coloneq;': { 'codepoints': [0x02254], 'characters': '\u2254' },
+ '&comma;': { 'codepoints': [0x0002C], 'characters': '\x2C' },
+ '&commat;': { 'codepoints': [0x00040], 'characters': '\x40' },
+ '&comp;': { 'codepoints': [0x02201], 'characters': '\u2201' },
+ '&compfn;': { 'codepoints': [0x02218], 'characters': '\u2218' },
+ '&complement;': { 'codepoints': [0x02201], 'characters': '\u2201' },
+ '&complexes;': { 'codepoints': [0x02102], 'characters': '\u2102' },
+ '&cong;': { 'codepoints': [0x02245], 'characters': '\u2245' },
+ '&congdot;': { 'codepoints': [0x02A6D], 'characters': '\u2A6D' },
+ '&conint;': { 'codepoints': [0x0222E], 'characters': '\u222E' },
+ '&copf;': { 'codepoints': [0x1D554], 'characters': '\uD835\uDD54' },
+ '&coprod;': { 'codepoints': [0x02210], 'characters': '\u2210' },
+ '&copy': { 'codepoints': [0x000A9], 'characters': '\xA9' },
+ '&copy;': { 'codepoints': [0x000A9], 'characters': '\xA9' },
+ '&copysr;': { 'codepoints': [0x02117], 'characters': '\u2117' },
+ '&crarr;': { 'codepoints': [0x021B5], 'characters': '\u21B5' },
+ '&cross;': { 'codepoints': [0x02717], 'characters': '\u2717' },
+ '&cscr;': { 'codepoints': [0x1D4B8], 'characters': '\uD835\uDCB8' },
+ '&csub;': { 'codepoints': [0x02ACF], 'characters': '\u2ACF' },
+ '&csube;': { 'codepoints': [0x02AD1], 'characters': '\u2AD1' },
+ '&csup;': { 'codepoints': [0x02AD0], 'characters': '\u2AD0' },
+ '&csupe;': { 'codepoints': [0x02AD2], 'characters': '\u2AD2' },
+ '&ctdot;': { 'codepoints': [0x022EF], 'characters': '\u22EF' },
+ '&cudarrl;': { 'codepoints': [0x02938], 'characters': '\u2938' },
+ '&cudarrr;': { 'codepoints': [0x02935], 'characters': '\u2935' },
+ '&cuepr;': { 'codepoints': [0x022DE], 'characters': '\u22DE' },
+ '&cuesc;': { 'codepoints': [0x022DF], 'characters': '\u22DF' },
+ '&cularr;': { 'codepoints': [0x021B6], 'characters': '\u21B6' },
+ '&cularrp;': { 'codepoints': [0x0293D], 'characters': '\u293D' },
+ '&cup;': { 'codepoints': [0x0222A], 'characters': '\u222A' },
+ '&cupbrcap;': { 'codepoints': [0x02A48], 'characters': '\u2A48' },
+ '&cupcap;': { 'codepoints': [0x02A46], 'characters': '\u2A46' },
+ '&cupcup;': { 'codepoints': [0x02A4A], 'characters': '\u2A4A' },
+ '&cupdot;': { 'codepoints': [0x0228D], 'characters': '\u228D' },
+ '&cupor;': { 'codepoints': [0x02A45], 'characters': '\u2A45' },
+ '&cups;': { 'codepoints': [0x0222A, 0x0FE00], 'characters': '\u222A\uFE00' },
+ '&curarr;': { 'codepoints': [0x021B7], 'characters': '\u21B7' },
+ '&curarrm;': { 'codepoints': [0x0293C], 'characters': '\u293C' },
+ '&curlyeqprec;': { 'codepoints': [0x022DE], 'characters': '\u22DE' },
+ '&curlyeqsucc;': { 'codepoints': [0x022DF], 'characters': '\u22DF' },
+ '&curlyvee;': { 'codepoints': [0x022CE], 'characters': '\u22CE' },
+ '&curlywedge;': { 'codepoints': [0x022CF], 'characters': '\u22CF' },
+ '&curren': { 'codepoints': [0x000A4], 'characters': '\xA4' },
+ '&curren;': { 'codepoints': [0x000A4], 'characters': '\xA4' },
+ '&curvearrowleft;': { 'codepoints': [0x021B6], 'characters': '\u21B6' },
+ '&curvearrowright;': { 'codepoints': [0x021B7], 'characters': '\u21B7' },
+ '&cuvee;': { 'codepoints': [0x022CE], 'characters': '\u22CE' },
+ '&cuwed;': { 'codepoints': [0x022CF], 'characters': '\u22CF' },
+ '&cwconint;': { 'codepoints': [0x02232], 'characters': '\u2232' },
+ '&cwint;': { 'codepoints': [0x02231], 'characters': '\u2231' },
+ '&cylcty;': { 'codepoints': [0x0232D], 'characters': '\u232D' },
+ '&dArr;': { 'codepoints': [0x021D3], 'characters': '\u21D3' },
+ '&dHar;': { 'codepoints': [0x02965], 'characters': '\u2965' },
+ '&dagger;': { 'codepoints': [0x02020], 'characters': '\u2020' },
+ '&daleth;': { 'codepoints': [0x02138], 'characters': '\u2138' },
+ '&darr;': { 'codepoints': [0x02193], 'characters': '\u2193' },
+ '&dash;': { 'codepoints': [0x02010], 'characters': '\u2010' },
+ '&dashv;': { 'codepoints': [0x022A3], 'characters': '\u22A3' },
+ '&dbkarow;': { 'codepoints': [0x0290F], 'characters': '\u290F' },
+ '&dblac;': { 'codepoints': [0x002DD], 'characters': '\u02DD' },
+ '&dcaron;': { 'codepoints': [0x0010F], 'characters': '\u010F' },
+ '&dcy;': { 'codepoints': [0x00434], 'characters': '\u0434' },
+ '&dd;': { 'codepoints': [0x02146], 'characters': '\u2146' },
+ '&ddagger;': { 'codepoints': [0x02021], 'characters': '\u2021' },
+ '&ddarr;': { 'codepoints': [0x021CA], 'characters': '\u21CA' },
+ '&ddotseq;': { 'codepoints': [0x02A77], 'characters': '\u2A77' },
+ '&deg': { 'codepoints': [0x000B0], 'characters': '\xB0' },
+ '&deg;': { 'codepoints': [0x000B0], 'characters': '\xB0' },
+ '&delta;': { 'codepoints': [0x003B4], 'characters': '\u03B4' },
+ '&demptyv;': { 'codepoints': [0x029B1], 'characters': '\u29B1' },
+ '&dfisht;': { 'codepoints': [0x0297F], 'characters': '\u297F' },
+ '&dfr;': { 'codepoints': [0x1D521], 'characters': '\uD835\uDD21' },
+ '&dharl;': { 'codepoints': [0x021C3], 'characters': '\u21C3' },
+ '&dharr;': { 'codepoints': [0x021C2], 'characters': '\u21C2' },
+ '&diam;': { 'codepoints': [0x022C4], 'characters': '\u22C4' },
+ '&diamond;': { 'codepoints': [0x022C4], 'characters': '\u22C4' },
+ '&diamondsuit;': { 'codepoints': [0x02666], 'characters': '\u2666' },
+ '&diams;': { 'codepoints': [0x02666], 'characters': '\u2666' },
+ '&die;': { 'codepoints': [0x000A8], 'characters': '\xA8' },
+ '&digamma;': { 'codepoints': [0x003DD], 'characters': '\u03DD' },
+ '&disin;': { 'codepoints': [0x022F2], 'characters': '\u22F2' },
+ '&div;': { 'codepoints': [0x000F7], 'characters': '\xF7' },
+ '&divide': { 'codepoints': [0x000F7], 'characters': '\xF7' },
+ '&divide;': { 'codepoints': [0x000F7], 'characters': '\xF7' },
+ '&divideontimes;': { 'codepoints': [0x022C7], 'characters': '\u22C7' },
+ '&divonx;': { 'codepoints': [0x022C7], 'characters': '\u22C7' },
+ '&djcy;': { 'codepoints': [0x00452], 'characters': '\u0452' },
+ '&dlcorn;': { 'codepoints': [0x0231E], 'characters': '\u231E' },
+ '&dlcrop;': { 'codepoints': [0x0230D], 'characters': '\u230D' },
+ '&dollar;': { 'codepoints': [0x00024], 'characters': '\x24' },
+ '&dopf;': { 'codepoints': [0x1D555], 'characters': '\uD835\uDD55' },
+ '&dot;': { 'codepoints': [0x002D9], 'characters': '\u02D9' },
+ '&doteq;': { 'codepoints': [0x02250], 'characters': '\u2250' },
+ '&doteqdot;': { 'codepoints': [0x02251], 'characters': '\u2251' },
+ '&dotminus;': { 'codepoints': [0x02238], 'characters': '\u2238' },
+ '&dotplus;': { 'codepoints': [0x02214], 'characters': '\u2214' },
+ '&dotsquare;': { 'codepoints': [0x022A1], 'characters': '\u22A1' },
+ '&doublebarwedge;': { 'codepoints': [0x02306], 'characters': '\u2306' },
+ '&downarrow;': { 'codepoints': [0x02193], 'characters': '\u2193' },
+ '&downdownarrows;': { 'codepoints': [0x021CA], 'characters': '\u21CA' },
+ '&downharpoonleft;': { 'codepoints': [0x021C3], 'characters': '\u21C3' },
+ '&downharpoonright;': { 'codepoints': [0x021C2], 'characters': '\u21C2' },
+ '&drbkarow;': { 'codepoints': [0x02910], 'characters': '\u2910' },
+ '&drcorn;': { 'codepoints': [0x0231F], 'characters': '\u231F' },
+ '&drcrop;': { 'codepoints': [0x0230C], 'characters': '\u230C' },
+ '&dscr;': { 'codepoints': [0x1D4B9], 'characters': '\uD835\uDCB9' },
+ '&dscy;': { 'codepoints': [0x00455], 'characters': '\u0455' },
+ '&dsol;': { 'codepoints': [0x029F6], 'characters': '\u29F6' },
+ '&dstrok;': { 'codepoints': [0x00111], 'characters': '\u0111' },
+ '&dtdot;': { 'codepoints': [0x022F1], 'characters': '\u22F1' },
+ '&dtri;': { 'codepoints': [0x025BF], 'characters': '\u25BF' },
+ '&dtrif;': { 'codepoints': [0x025BE], 'characters': '\u25BE' },
+ '&duarr;': { 'codepoints': [0x021F5], 'characters': '\u21F5' },
+ '&duhar;': { 'codepoints': [0x0296F], 'characters': '\u296F' },
+ '&dwangle;': { 'codepoints': [0x029A6], 'characters': '\u29A6' },
+ '&dzcy;': { 'codepoints': [0x0045F], 'characters': '\u045F' },
+ '&dzigrarr;': { 'codepoints': [0x027FF], 'characters': '\u27FF' },
+ '&eDDot;': { 'codepoints': [0x02A77], 'characters': '\u2A77' },
+ '&eDot;': { 'codepoints': [0x02251], 'characters': '\u2251' },
+ '&eacute': { 'codepoints': [0x000E9], 'characters': '\xE9' },
+ '&eacute;': { 'codepoints': [0x000E9], 'characters': '\xE9' },
+ '&easter;': { 'codepoints': [0x02A6E], 'characters': '\u2A6E' },
+ '&ecaron;': { 'codepoints': [0x0011B], 'characters': '\u011B' },
+ '&ecir;': { 'codepoints': [0x02256], 'characters': '\u2256' },
+ '&ecirc': { 'codepoints': [0x000EA], 'characters': '\xEA' },
+ '&ecirc;': { 'codepoints': [0x000EA], 'characters': '\xEA' },
+ '&ecolon;': { 'codepoints': [0x02255], 'characters': '\u2255' },
+ '&ecy;': { 'codepoints': [0x0044D], 'characters': '\u044D' },
+ '&edot;': { 'codepoints': [0x00117], 'characters': '\u0117' },
+ '&ee;': { 'codepoints': [0x02147], 'characters': '\u2147' },
+ '&efDot;': { 'codepoints': [0x02252], 'characters': '\u2252' },
+ '&efr;': { 'codepoints': [0x1D522], 'characters': '\uD835\uDD22' },
+ '&eg;': { 'codepoints': [0x02A9A], 'characters': '\u2A9A' },
+ '&egrave': { 'codepoints': [0x000E8], 'characters': '\xE8' },
+ '&egrave;': { 'codepoints': [0x000E8], 'characters': '\xE8' },
+ '&egs;': { 'codepoints': [0x02A96], 'characters': '\u2A96' },
+ '&egsdot;': { 'codepoints': [0x02A98], 'characters': '\u2A98' },
+ '&el;': { 'codepoints': [0x02A99], 'characters': '\u2A99' },
+ '&elinters;': { 'codepoints': [0x023E7], 'characters': '\u23E7' },
+ '&ell;': { 'codepoints': [0x02113], 'characters': '\u2113' },
+ '&els;': { 'codepoints': [0x02A95], 'characters': '\u2A95' },
+ '&elsdot;': { 'codepoints': [0x02A97], 'characters': '\u2A97' },
+ '&emacr;': { 'codepoints': [0x00113], 'characters': '\u0113' },
+ '&empty;': { 'codepoints': [0x02205], 'characters': '\u2205' },
+ '&emptyset;': { 'codepoints': [0x02205], 'characters': '\u2205' },
+ '&emptyv;': { 'codepoints': [0x02205], 'characters': '\u2205' },
+ '&emsp13;': { 'codepoints': [0x02004], 'characters': '\u2004' },
+ '&emsp14;': { 'codepoints': [0x02005], 'characters': '\u2005' },
+ '&emsp;': { 'codepoints': [0x02003], 'characters': '\u2003' },
+ '&eng;': { 'codepoints': [0x0014B], 'characters': '\u014B' },
+ '&ensp;': { 'codepoints': [0x02002], 'characters': '\u2002' },
+ '&eogon;': { 'codepoints': [0x00119], 'characters': '\u0119' },
+ '&eopf;': { 'codepoints': [0x1D556], 'characters': '\uD835\uDD56' },
+ '&epar;': { 'codepoints': [0x022D5], 'characters': '\u22D5' },
+ '&eparsl;': { 'codepoints': [0x029E3], 'characters': '\u29E3' },
+ '&eplus;': { 'codepoints': [0x02A71], 'characters': '\u2A71' },
+ '&epsi;': { 'codepoints': [0x003B5], 'characters': '\u03B5' },
+ '&epsilon;': { 'codepoints': [0x003B5], 'characters': '\u03B5' },
+ '&epsiv;': { 'codepoints': [0x003F5], 'characters': '\u03F5' },
+ '&eqcirc;': { 'codepoints': [0x02256], 'characters': '\u2256' },
+ '&eqcolon;': { 'codepoints': [0x02255], 'characters': '\u2255' },
+ '&eqsim;': { 'codepoints': [0x02242], 'characters': '\u2242' },
+ '&eqslantgtr;': { 'codepoints': [0x02A96], 'characters': '\u2A96' },
+ '&eqslantless;': { 'codepoints': [0x02A95], 'characters': '\u2A95' },
+ '&equals;': { 'codepoints': [0x0003D], 'characters': '\x3D' },
+ '&equest;': { 'codepoints': [0x0225F], 'characters': '\u225F' },
+ '&equiv;': { 'codepoints': [0x02261], 'characters': '\u2261' },
+ '&equivDD;': { 'codepoints': [0x02A78], 'characters': '\u2A78' },
+ '&eqvparsl;': { 'codepoints': [0x029E5], 'characters': '\u29E5' },
+ '&erDot;': { 'codepoints': [0x02253], 'characters': '\u2253' },
+ '&erarr;': { 'codepoints': [0x02971], 'characters': '\u2971' },
+ '&escr;': { 'codepoints': [0x0212F], 'characters': '\u212F' },
+ '&esdot;': { 'codepoints': [0x02250], 'characters': '\u2250' },
+ '&esim;': { 'codepoints': [0x02242], 'characters': '\u2242' },
+ '&eta;': { 'codepoints': [0x003B7], 'characters': '\u03B7' },
+ '&eth': { 'codepoints': [0x000F0], 'characters': '\xF0' },
+ '&eth;': { 'codepoints': [0x000F0], 'characters': '\xF0' },
+ '&euml': { 'codepoints': [0x000EB], 'characters': '\xEB' },
+ '&euml;': { 'codepoints': [0x000EB], 'characters': '\xEB' },
+ '&euro;': { 'codepoints': [0x020AC], 'characters': '\u20AC' },
+ '&excl;': { 'codepoints': [0x00021], 'characters': '\x21' },
+ '&exist;': { 'codepoints': [0x02203], 'characters': '\u2203' },
+ '&expectation;': { 'codepoints': [0x02130], 'characters': '\u2130' },
+ '&exponentiale;': { 'codepoints': [0x02147], 'characters': '\u2147' },
+ '&fallingdotseq;': { 'codepoints': [0x02252], 'characters': '\u2252' },
+ '&fcy;': { 'codepoints': [0x00444], 'characters': '\u0444' },
+ '&female;': { 'codepoints': [0x02640], 'characters': '\u2640' },
+ '&ffilig;': { 'codepoints': [0x0FB03], 'characters': '\uFB03' },
+ '&fflig;': { 'codepoints': [0x0FB00], 'characters': '\uFB00' },
+ '&ffllig;': { 'codepoints': [0x0FB04], 'characters': '\uFB04' },
+ '&ffr;': { 'codepoints': [0x1D523], 'characters': '\uD835\uDD23' },
+ '&filig;': { 'codepoints': [0x0FB01], 'characters': '\uFB01' },
+ '&fjlig;': { 'codepoints': [0x00066, 0x0006A], 'characters': '\x66\x6A' },
+ '&flat;': { 'codepoints': [0x0266D], 'characters': '\u266D' },
+ '&fllig;': { 'codepoints': [0x0FB02], 'characters': '\uFB02' },
+ '&fltns;': { 'codepoints': [0x025B1], 'characters': '\u25B1' },
+ '&fnof;': { 'codepoints': [0x00192], 'characters': '\u0192' },
+ '&fopf;': { 'codepoints': [0x1D557], 'characters': '\uD835\uDD57' },
+ '&forall;': { 'codepoints': [0x02200], 'characters': '\u2200' },
+ '&fork;': { 'codepoints': [0x022D4], 'characters': '\u22D4' },
+ '&forkv;': { 'codepoints': [0x02AD9], 'characters': '\u2AD9' },
+ '&fpartint;': { 'codepoints': [0x02A0D], 'characters': '\u2A0D' },
+ '&frac12': { 'codepoints': [0x000BD], 'characters': '\xBD' },
+ '&frac12;': { 'codepoints': [0x000BD], 'characters': '\xBD' },
+ '&frac13;': { 'codepoints': [0x02153], 'characters': '\u2153' },
+ '&frac14': { 'codepoints': [0x000BC], 'characters': '\xBC' },
+ '&frac14;': { 'codepoints': [0x000BC], 'characters': '\xBC' },
+ '&frac15;': { 'codepoints': [0x02155], 'characters': '\u2155' },
+ '&frac16;': { 'codepoints': [0x02159], 'characters': '\u2159' },
+ '&frac18;': { 'codepoints': [0x0215B], 'characters': '\u215B' },
+ '&frac23;': { 'codepoints': [0x02154], 'characters': '\u2154' },
+ '&frac25;': { 'codepoints': [0x02156], 'characters': '\u2156' },
+ '&frac34': { 'codepoints': [0x000BE], 'characters': '\xBE' },
+ '&frac34;': { 'codepoints': [0x000BE], 'characters': '\xBE' },
+ '&frac35;': { 'codepoints': [0x02157], 'characters': '\u2157' },
+ '&frac38;': { 'codepoints': [0x0215C], 'characters': '\u215C' },
+ '&frac45;': { 'codepoints': [0x02158], 'characters': '\u2158' },
+ '&frac56;': { 'codepoints': [0x0215A], 'characters': '\u215A' },
+ '&frac58;': { 'codepoints': [0x0215D], 'characters': '\u215D' },
+ '&frac78;': { 'codepoints': [0x0215E], 'characters': '\u215E' },
+ '&frasl;': { 'codepoints': [0x02044], 'characters': '\u2044' },
+ '&frown;': { 'codepoints': [0x02322], 'characters': '\u2322' },
+ '&fscr;': { 'codepoints': [0x1D4BB], 'characters': '\uD835\uDCBB' },
+ '&gE;': { 'codepoints': [0x02267], 'characters': '\u2267' },
+ '&gEl;': { 'codepoints': [0x02A8C], 'characters': '\u2A8C' },
+ '&gacute;': { 'codepoints': [0x001F5], 'characters': '\u01F5' },
+ '&gamma;': { 'codepoints': [0x003B3], 'characters': '\u03B3' },
+ '&gammad;': { 'codepoints': [0x003DD], 'characters': '\u03DD' },
+ '&gap;': { 'codepoints': [0x02A86], 'characters': '\u2A86' },
+ '&gbreve;': { 'codepoints': [0x0011F], 'characters': '\u011F' },
+ '&gcirc;': { 'codepoints': [0x0011D], 'characters': '\u011D' },
+ '&gcy;': { 'codepoints': [0x00433], 'characters': '\u0433' },
+ '&gdot;': { 'codepoints': [0x00121], 'characters': '\u0121' },
+ '&ge;': { 'codepoints': [0x02265], 'characters': '\u2265' },
+ '&gel;': { 'codepoints': [0x022DB], 'characters': '\u22DB' },
+ '&geq;': { 'codepoints': [0x02265], 'characters': '\u2265' },
+ '&geqq;': { 'codepoints': [0x02267], 'characters': '\u2267' },
+ '&geqslant;': { 'codepoints': [0x02A7E], 'characters': '\u2A7E' },
+ '&ges;': { 'codepoints': [0x02A7E], 'characters': '\u2A7E' },
+ '&gescc;': { 'codepoints': [0x02AA9], 'characters': '\u2AA9' },
+ '&gesdot;': { 'codepoints': [0x02A80], 'characters': '\u2A80' },
+ '&gesdoto;': { 'codepoints': [0x02A82], 'characters': '\u2A82' },
+ '&gesdotol;': { 'codepoints': [0x02A84], 'characters': '\u2A84' },
+ '&gesl;': { 'codepoints': [0x022DB, 0x0FE00], 'characters': '\u22DB\uFE00' },
+ '&gesles;': { 'codepoints': [0x02A94], 'characters': '\u2A94' },
+ '&gfr;': { 'codepoints': [0x1D524], 'characters': '\uD835\uDD24' },
+ '&gg;': { 'codepoints': [0x0226B], 'characters': '\u226B' },
+ '&ggg;': { 'codepoints': [0x022D9], 'characters': '\u22D9' },
+ '&gimel;': { 'codepoints': [0x02137], 'characters': '\u2137' },
+ '&gjcy;': { 'codepoints': [0x00453], 'characters': '\u0453' },
+ '&gl;': { 'codepoints': [0x02277], 'characters': '\u2277' },
+ '&glE;': { 'codepoints': [0x02A92], 'characters': '\u2A92' },
+ '&gla;': { 'codepoints': [0x02AA5], 'characters': '\u2AA5' },
+ '&glj;': { 'codepoints': [0x02AA4], 'characters': '\u2AA4' },
+ '&gnE;': { 'codepoints': [0x02269], 'characters': '\u2269' },
+ '&gnap;': { 'codepoints': [0x02A8A], 'characters': '\u2A8A' },
+ '&gnapprox;': { 'codepoints': [0x02A8A], 'characters': '\u2A8A' },
+ '&gne;': { 'codepoints': [0x02A88], 'characters': '\u2A88' },
+ '&gneq;': { 'codepoints': [0x02A88], 'characters': '\u2A88' },
+ '&gneqq;': { 'codepoints': [0x02269], 'characters': '\u2269' },
+ '&gnsim;': { 'codepoints': [0x022E7], 'characters': '\u22E7' },
+ '&gopf;': { 'codepoints': [0x1D558], 'characters': '\uD835\uDD58' },
+ '&grave;': { 'codepoints': [0x00060], 'characters': '\x60' },
+ '&gscr;': { 'codepoints': [0x0210A], 'characters': '\u210A' },
+ '&gsim;': { 'codepoints': [0x02273], 'characters': '\u2273' },
+ '&gsime;': { 'codepoints': [0x02A8E], 'characters': '\u2A8E' },
+ '&gsiml;': { 'codepoints': [0x02A90], 'characters': '\u2A90' },
+ '&gt': { 'codepoints': [0x0003E], 'characters': '\x3E' },
+ '&gt;': { 'codepoints': [0x0003E], 'characters': '\x3E' },
+ '&gtcc;': { 'codepoints': [0x02AA7], 'characters': '\u2AA7' },
+ '&gtcir;': { 'codepoints': [0x02A7A], 'characters': '\u2A7A' },
+ '&gtdot;': { 'codepoints': [0x022D7], 'characters': '\u22D7' },
+ '&gtlPar;': { 'codepoints': [0x02995], 'characters': '\u2995' },
+ '&gtquest;': { 'codepoints': [0x02A7C], 'characters': '\u2A7C' },
+ '&gtrapprox;': { 'codepoints': [0x02A86], 'characters': '\u2A86' },
+ '&gtrarr;': { 'codepoints': [0x02978], 'characters': '\u2978' },
+ '&gtrdot;': { 'codepoints': [0x022D7], 'characters': '\u22D7' },
+ '&gtreqless;': { 'codepoints': [0x022DB], 'characters': '\u22DB' },
+ '&gtreqqless;': { 'codepoints': [0x02A8C], 'characters': '\u2A8C' },
+ '&gtrless;': { 'codepoints': [0x02277], 'characters': '\u2277' },
+ '&gtrsim;': { 'codepoints': [0x02273], 'characters': '\u2273' },
+ '&gvertneqq;': { 'codepoints': [0x02269, 0x0FE00], 'characters': '\u2269\uFE00' },
+ '&gvnE;': { 'codepoints': [0x02269, 0x0FE00], 'characters': '\u2269\uFE00' },
+ '&hArr;': { 'codepoints': [0x021D4], 'characters': '\u21D4' },
+ '&hairsp;': { 'codepoints': [0x0200A], 'characters': '\u200A' },
+ '&half;': { 'codepoints': [0x000BD], 'characters': '\xBD' },
+ '&hamilt;': { 'codepoints': [0x0210B], 'characters': '\u210B' },
+ '&hardcy;': { 'codepoints': [0x0044A], 'characters': '\u044A' },
+ '&harr;': { 'codepoints': [0x02194], 'characters': '\u2194' },
+ '&harrcir;': { 'codepoints': [0x02948], 'characters': '\u2948' },
+ '&harrw;': { 'codepoints': [0x021AD], 'characters': '\u21AD' },
+ '&hbar;': { 'codepoints': [0x0210F], 'characters': '\u210F' },
+ '&hcirc;': { 'codepoints': [0x00125], 'characters': '\u0125' },
+ '&hearts;': { 'codepoints': [0x02665], 'characters': '\u2665' },
+ '&heartsuit;': { 'codepoints': [0x02665], 'characters': '\u2665' },
+ '&hellip;': { 'codepoints': [0x02026], 'characters': '\u2026' },
+ '&hercon;': { 'codepoints': [0x022B9], 'characters': '\u22B9' },
+ '&hfr;': { 'codepoints': [0x1D525], 'characters': '\uD835\uDD25' },
+ '&hksearow;': { 'codepoints': [0x02925], 'characters': '\u2925' },
+ '&hkswarow;': { 'codepoints': [0x02926], 'characters': '\u2926' },
+ '&hoarr;': { 'codepoints': [0x021FF], 'characters': '\u21FF' },
+ '&homtht;': { 'codepoints': [0x0223B], 'characters': '\u223B' },
+ '&hookleftarrow;': { 'codepoints': [0x021A9], 'characters': '\u21A9' },
+ '&hookrightarrow;': { 'codepoints': [0x021AA], 'characters': '\u21AA' },
+ '&hopf;': { 'codepoints': [0x1D559], 'characters': '\uD835\uDD59' },
+ '&horbar;': { 'codepoints': [0x02015], 'characters': '\u2015' },
+ '&hscr;': { 'codepoints': [0x1D4BD], 'characters': '\uD835\uDCBD' },
+ '&hslash;': { 'codepoints': [0x0210F], 'characters': '\u210F' },
+ '&hstrok;': { 'codepoints': [0x00127], 'characters': '\u0127' },
+ '&hybull;': { 'codepoints': [0x02043], 'characters': '\u2043' },
+ '&hyphen;': { 'codepoints': [0x02010], 'characters': '\u2010' },
+ '&iacute': { 'codepoints': [0x000ED], 'characters': '\xED' },
+ '&iacute;': { 'codepoints': [0x000ED], 'characters': '\xED' },
+ '&ic;': { 'codepoints': [0x02063], 'characters': '\u2063' },
+ '&icirc': { 'codepoints': [0x000EE], 'characters': '\xEE' },
+ '&icirc;': { 'codepoints': [0x000EE], 'characters': '\xEE' },
+ '&icy;': { 'codepoints': [0x00438], 'characters': '\u0438' },
+ '&iecy;': { 'codepoints': [0x00435], 'characters': '\u0435' },
+ '&iexcl': { 'codepoints': [0x000A1], 'characters': '\xA1' },
+ '&iexcl;': { 'codepoints': [0x000A1], 'characters': '\xA1' },
+ '&iff;': { 'codepoints': [0x021D4], 'characters': '\u21D4' },
+ '&ifr;': { 'codepoints': [0x1D526], 'characters': '\uD835\uDD26' },
+ '&igrave': { 'codepoints': [0x000EC], 'characters': '\xEC' },
+ '&igrave;': { 'codepoints': [0x000EC], 'characters': '\xEC' },
+ '&ii;': { 'codepoints': [0x02148], 'characters': '\u2148' },
+ '&iiiint;': { 'codepoints': [0x02A0C], 'characters': '\u2A0C' },
+ '&iiint;': { 'codepoints': [0x0222D], 'characters': '\u222D' },
+ '&iinfin;': { 'codepoints': [0x029DC], 'characters': '\u29DC' },
+ '&iiota;': { 'codepoints': [0x02129], 'characters': '\u2129' },
+ '&ijlig;': { 'codepoints': [0x00133], 'characters': '\u0133' },
+ '&imacr;': { 'codepoints': [0x0012B], 'characters': '\u012B' },
+ '&image;': { 'codepoints': [0x02111], 'characters': '\u2111' },
+ '&imagline;': { 'codepoints': [0x02110], 'characters': '\u2110' },
+ '&imagpart;': { 'codepoints': [0x02111], 'characters': '\u2111' },
+ '&imath;': { 'codepoints': [0x00131], 'characters': '\u0131' },
+ '&imof;': { 'codepoints': [0x022B7], 'characters': '\u22B7' },
+ '&imped;': { 'codepoints': [0x001B5], 'characters': '\u01B5' },
+ '&in;': { 'codepoints': [0x02208], 'characters': '\u2208' },
+ '&incare;': { 'codepoints': [0x02105], 'characters': '\u2105' },
+ '&infin;': { 'codepoints': [0x0221E], 'characters': '\u221E' },
+ '&infintie;': { 'codepoints': [0x029DD], 'characters': '\u29DD' },
+ '&inodot;': { 'codepoints': [0x00131], 'characters': '\u0131' },
+ '&int;': { 'codepoints': [0x0222B], 'characters': '\u222B' },
+ '&intcal;': { 'codepoints': [0x022BA], 'characters': '\u22BA' },
+ '&integers;': { 'codepoints': [0x02124], 'characters': '\u2124' },
+ '&intercal;': { 'codepoints': [0x022BA], 'characters': '\u22BA' },
+ '&intlarhk;': { 'codepoints': [0x02A17], 'characters': '\u2A17' },
+ '&intprod;': { 'codepoints': [0x02A3C], 'characters': '\u2A3C' },
+ '&iocy;': { 'codepoints': [0x00451], 'characters': '\u0451' },
+ '&iogon;': { 'codepoints': [0x0012F], 'characters': '\u012F' },
+ '&iopf;': { 'codepoints': [0x1D55A], 'characters': '\uD835\uDD5A' },
+ '&iota;': { 'codepoints': [0x003B9], 'characters': '\u03B9' },
+ '&iprod;': { 'codepoints': [0x02A3C], 'characters': '\u2A3C' },
+ '&iquest': { 'codepoints': [0x000BF], 'characters': '\xBF' },
+ '&iquest;': { 'codepoints': [0x000BF], 'characters': '\xBF' },
+ '&iscr;': { 'codepoints': [0x1D4BE], 'characters': '\uD835\uDCBE' },
+ '&isin;': { 'codepoints': [0x02208], 'characters': '\u2208' },
+ '&isinE;': { 'codepoints': [0x022F9], 'characters': '\u22F9' },
+ '&isindot;': { 'codepoints': [0x022F5], 'characters': '\u22F5' },
+ '&isins;': { 'codepoints': [0x022F4], 'characters': '\u22F4' },
+ '&isinsv;': { 'codepoints': [0x022F3], 'characters': '\u22F3' },
+ '&isinv;': { 'codepoints': [0x02208], 'characters': '\u2208' },
+ '&it;': { 'codepoints': [0x02062], 'characters': '\u2062' },
+ '&itilde;': { 'codepoints': [0x00129], 'characters': '\u0129' },
+ '&iukcy;': { 'codepoints': [0x00456], 'characters': '\u0456' },
+ '&iuml': { 'codepoints': [0x000EF], 'characters': '\xEF' },
+ '&iuml;': { 'codepoints': [0x000EF], 'characters': '\xEF' },
+ '&jcirc;': { 'codepoints': [0x00135], 'characters': '\u0135' },
+ '&jcy;': { 'codepoints': [0x00439], 'characters': '\u0439' },
+ '&jfr;': { 'codepoints': [0x1D527], 'characters': '\uD835\uDD27' },
+ '&jmath;': { 'codepoints': [0x00237], 'characters': '\u0237' },
+ '&jopf;': { 'codepoints': [0x1D55B], 'characters': '\uD835\uDD5B' },
+ '&jscr;': { 'codepoints': [0x1D4BF], 'characters': '\uD835\uDCBF' },
+ '&jsercy;': { 'codepoints': [0x00458], 'characters': '\u0458' },
+ '&jukcy;': { 'codepoints': [0x00454], 'characters': '\u0454' },
+ '&kappa;': { 'codepoints': [0x003BA], 'characters': '\u03BA' },
+ '&kappav;': { 'codepoints': [0x003F0], 'characters': '\u03F0' },
+ '&kcedil;': { 'codepoints': [0x00137], 'characters': '\u0137' },
+ '&kcy;': { 'codepoints': [0x0043A], 'characters': '\u043A' },
+ '&kfr;': { 'codepoints': [0x1D528], 'characters': '\uD835\uDD28' },
+ '&kgreen;': { 'codepoints': [0x00138], 'characters': '\u0138' },
+ '&khcy;': { 'codepoints': [0x00445], 'characters': '\u0445' },
+ '&kjcy;': { 'codepoints': [0x0045C], 'characters': '\u045C' },
+ '&kopf;': { 'codepoints': [0x1D55C], 'characters': '\uD835\uDD5C' },
+ '&kscr;': { 'codepoints': [0x1D4C0], 'characters': '\uD835\uDCC0' },
+ '&lAarr;': { 'codepoints': [0x021DA], 'characters': '\u21DA' },
+ '&lArr;': { 'codepoints': [0x021D0], 'characters': '\u21D0' },
+ '&lAtail;': { 'codepoints': [0x0291B], 'characters': '\u291B' },
+ '&lBarr;': { 'codepoints': [0x0290E], 'characters': '\u290E' },
+ '&lE;': { 'codepoints': [0x02266], 'characters': '\u2266' },
+ '&lEg;': { 'codepoints': [0x02A8B], 'characters': '\u2A8B' },
+ '&lHar;': { 'codepoints': [0x02962], 'characters': '\u2962' },
+ '&lacute;': { 'codepoints': [0x0013A], 'characters': '\u013A' },
+ '&laemptyv;': { 'codepoints': [0x029B4], 'characters': '\u29B4' },
+ '&lagran;': { 'codepoints': [0x02112], 'characters': '\u2112' },
+ '&lambda;': { 'codepoints': [0x003BB], 'characters': '\u03BB' },
+ '&lang;': { 'codepoints': [0x027E8], 'characters': '\u27E8' },
+ '&langd;': { 'codepoints': [0x02991], 'characters': '\u2991' },
+ '&langle;': { 'codepoints': [0x027E8], 'characters': '\u27E8' },
+ '&lap;': { 'codepoints': [0x02A85], 'characters': '\u2A85' },
+ '&laquo': { 'codepoints': [0x000AB], 'characters': '\xAB' },
+ '&laquo;': { 'codepoints': [0x000AB], 'characters': '\xAB' },
+ '&larr;': { 'codepoints': [0x02190], 'characters': '\u2190' },
+ '&larrb;': { 'codepoints': [0x021E4], 'characters': '\u21E4' },
+ '&larrbfs;': { 'codepoints': [0x0291F], 'characters': '\u291F' },
+ '&larrfs;': { 'codepoints': [0x0291D], 'characters': '\u291D' },
+ '&larrhk;': { 'codepoints': [0x021A9], 'characters': '\u21A9' },
+ '&larrlp;': { 'codepoints': [0x021AB], 'characters': '\u21AB' },
+ '&larrpl;': { 'codepoints': [0x02939], 'characters': '\u2939' },
+ '&larrsim;': { 'codepoints': [0x02973], 'characters': '\u2973' },
+ '&larrtl;': { 'codepoints': [0x021A2], 'characters': '\u21A2' },
+ '&lat;': { 'codepoints': [0x02AAB], 'characters': '\u2AAB' },
+ '&latail;': { 'codepoints': [0x02919], 'characters': '\u2919' },
+ '&late;': { 'codepoints': [0x02AAD], 'characters': '\u2AAD' },
+ '&lates;': { 'codepoints': [0x02AAD, 0x0FE00], 'characters': '\u2AAD\uFE00' },
+ '&lbarr;': { 'codepoints': [0x0290C], 'characters': '\u290C' },
+ '&lbbrk;': { 'codepoints': [0x02772], 'characters': '\u2772' },
+ '&lbrace;': { 'codepoints': [0x0007B], 'characters': '\x7B' },
+ '&lbrack;': { 'codepoints': [0x0005B], 'characters': '\x5B' },
+ '&lbrke;': { 'codepoints': [0x0298B], 'characters': '\u298B' },
+ '&lbrksld;': { 'codepoints': [0x0298F], 'characters': '\u298F' },
+ '&lbrkslu;': { 'codepoints': [0x0298D], 'characters': '\u298D' },
+ '&lcaron;': { 'codepoints': [0x0013E], 'characters': '\u013E' },
+ '&lcedil;': { 'codepoints': [0x0013C], 'characters': '\u013C' },
+ '&lceil;': { 'codepoints': [0x02308], 'characters': '\u2308' },
+ '&lcub;': { 'codepoints': [0x0007B], 'characters': '\x7B' },
+ '&lcy;': { 'codepoints': [0x0043B], 'characters': '\u043B' },
+ '&ldca;': { 'codepoints': [0x02936], 'characters': '\u2936' },
+ '&ldquo;': { 'codepoints': [0x0201C], 'characters': '\u201C' },
+ '&ldquor;': { 'codepoints': [0x0201E], 'characters': '\u201E' },
+ '&ldrdhar;': { 'codepoints': [0x02967], 'characters': '\u2967' },
+ '&ldrushar;': { 'codepoints': [0x0294B], 'characters': '\u294B' },
+ '&ldsh;': { 'codepoints': [0x021B2], 'characters': '\u21B2' },
+ '&le;': { 'codepoints': [0x02264], 'characters': '\u2264' },
+ '&leftarrow;': { 'codepoints': [0x02190], 'characters': '\u2190' },
+ '&leftarrowtail;': { 'codepoints': [0x021A2], 'characters': '\u21A2' },
+ '&leftharpoondown;': { 'codepoints': [0x021BD], 'characters': '\u21BD' },
+ '&leftharpoonup;': { 'codepoints': [0x021BC], 'characters': '\u21BC' },
+ '&leftleftarrows;': { 'codepoints': [0x021C7], 'characters': '\u21C7' },
+ '&leftrightarrow;': { 'codepoints': [0x02194], 'characters': '\u2194' },
+ '&leftrightarrows;': { 'codepoints': [0x021C6], 'characters': '\u21C6' },
+ '&leftrightharpoons;': { 'codepoints': [0x021CB], 'characters': '\u21CB' },
+ '&leftrightsquigarrow;': { 'codepoints': [0x021AD], 'characters': '\u21AD' },
+ '&leftthreetimes;': { 'codepoints': [0x022CB], 'characters': '\u22CB' },
+ '&leg;': { 'codepoints': [0x022DA], 'characters': '\u22DA' },
+ '&leq;': { 'codepoints': [0x02264], 'characters': '\u2264' },
+ '&leqq;': { 'codepoints': [0x02266], 'characters': '\u2266' },
+ '&leqslant;': { 'codepoints': [0x02A7D], 'characters': '\u2A7D' },
+ '&les;': { 'codepoints': [0x02A7D], 'characters': '\u2A7D' },
+ '&lescc;': { 'codepoints': [0x02AA8], 'characters': '\u2AA8' },
+ '&lesdot;': { 'codepoints': [0x02A7F], 'characters': '\u2A7F' },
+ '&lesdoto;': { 'codepoints': [0x02A81], 'characters': '\u2A81' },
+ '&lesdotor;': { 'codepoints': [0x02A83], 'characters': '\u2A83' },
+ '&lesg;': { 'codepoints': [0x022DA, 0x0FE00], 'characters': '\u22DA\uFE00' },
+ '&lesges;': { 'codepoints': [0x02A93], 'characters': '\u2A93' },
+ '&lessapprox;': { 'codepoints': [0x02A85], 'characters': '\u2A85' },
+ '&lessdot;': { 'codepoints': [0x022D6], 'characters': '\u22D6' },
+ '&lesseqgtr;': { 'codepoints': [0x022DA], 'characters': '\u22DA' },
+ '&lesseqqgtr;': { 'codepoints': [0x02A8B], 'characters': '\u2A8B' },
+ '&lessgtr;': { 'codepoints': [0x02276], 'characters': '\u2276' },
+ '&lesssim;': { 'codepoints': [0x02272], 'characters': '\u2272' },
+ '&lfisht;': { 'codepoints': [0x0297C], 'characters': '\u297C' },
+ '&lfloor;': { 'codepoints': [0x0230A], 'characters': '\u230A' },
+ '&lfr;': { 'codepoints': [0x1D529], 'characters': '\uD835\uDD29' },
+ '&lg;': { 'codepoints': [0x02276], 'characters': '\u2276' },
+ '&lgE;': { 'codepoints': [0x02A91], 'characters': '\u2A91' },
+ '&lhard;': { 'codepoints': [0x021BD], 'characters': '\u21BD' },
+ '&lharu;': { 'codepoints': [0x021BC], 'characters': '\u21BC' },
+ '&lharul;': { 'codepoints': [0x0296A], 'characters': '\u296A' },
+ '&lhblk;': { 'codepoints': [0x02584], 'characters': '\u2584' },
+ '&ljcy;': { 'codepoints': [0x00459], 'characters': '\u0459' },
+ '&ll;': { 'codepoints': [0x0226A], 'characters': '\u226A' },
+ '&llarr;': { 'codepoints': [0x021C7], 'characters': '\u21C7' },
+ '&llcorner;': { 'codepoints': [0x0231E], 'characters': '\u231E' },
+ '&llhard;': { 'codepoints': [0x0296B], 'characters': '\u296B' },
+ '&lltri;': { 'codepoints': [0x025FA], 'characters': '\u25FA' },
+ '&lmidot;': { 'codepoints': [0x00140], 'characters': '\u0140' },
+ '&lmoust;': { 'codepoints': [0x023B0], 'characters': '\u23B0' },
+ '&lmoustache;': { 'codepoints': [0x023B0], 'characters': '\u23B0' },
+ '&lnE;': { 'codepoints': [0x02268], 'characters': '\u2268' },
+ '&lnap;': { 'codepoints': [0x02A89], 'characters': '\u2A89' },
+ '&lnapprox;': { 'codepoints': [0x02A89], 'characters': '\u2A89' },
+ '&lne;': { 'codepoints': [0x02A87], 'characters': '\u2A87' },
+ '&lneq;': { 'codepoints': [0x02A87], 'characters': '\u2A87' },
+ '&lneqq;': { 'codepoints': [0x02268], 'characters': '\u2268' },
+ '&lnsim;': { 'codepoints': [0x022E6], 'characters': '\u22E6' },
+ '&loang;': { 'codepoints': [0x027EC], 'characters': '\u27EC' },
+ '&loarr;': { 'codepoints': [0x021FD], 'characters': '\u21FD' },
+ '&lobrk;': { 'codepoints': [0x027E6], 'characters': '\u27E6' },
+ '&longleftarrow;': { 'codepoints': [0x027F5], 'characters': '\u27F5' },
+ '&longleftrightarrow;': { 'codepoints': [0x027F7], 'characters': '\u27F7' },
+ '&longmapsto;': { 'codepoints': [0x027FC], 'characters': '\u27FC' },
+ '&longrightarrow;': { 'codepoints': [0x027F6], 'characters': '\u27F6' },
+ '&looparrowleft;': { 'codepoints': [0x021AB], 'characters': '\u21AB' },
+ '&looparrowright;': { 'codepoints': [0x021AC], 'characters': '\u21AC' },
+ '&lopar;': { 'codepoints': [0x02985], 'characters': '\u2985' },
+ '&lopf;': { 'codepoints': [0x1D55D], 'characters': '\uD835\uDD5D' },
+ '&loplus;': { 'codepoints': [0x02A2D], 'characters': '\u2A2D' },
+ '&lotimes;': { 'codepoints': [0x02A34], 'characters': '\u2A34' },
+ '&lowast;': { 'codepoints': [0x02217], 'characters': '\u2217' },
+ '&lowbar;': { 'codepoints': [0x0005F], 'characters': '\x5F' },
+ '&loz;': { 'codepoints': [0x025CA], 'characters': '\u25CA' },
+ '&lozenge;': { 'codepoints': [0x025CA], 'characters': '\u25CA' },
+ '&lozf;': { 'codepoints': [0x029EB], 'characters': '\u29EB' },
+ '&lpar;': { 'codepoints': [0x00028], 'characters': '\x28' },
+ '&lparlt;': { 'codepoints': [0x02993], 'characters': '\u2993' },
+ '&lrarr;': { 'codepoints': [0x021C6], 'characters': '\u21C6' },
+ '&lrcorner;': { 'codepoints': [0x0231F], 'characters': '\u231F' },
+ '&lrhar;': { 'codepoints': [0x021CB], 'characters': '\u21CB' },
+ '&lrhard;': { 'codepoints': [0x0296D], 'characters': '\u296D' },
+ '&lrm;': { 'codepoints': [0x0200E], 'characters': '\u200E' },
+ '&lrtri;': { 'codepoints': [0x022BF], 'characters': '\u22BF' },
+ '&lsaquo;': { 'codepoints': [0x02039], 'characters': '\u2039' },
+ '&lscr;': { 'codepoints': [0x1D4C1], 'characters': '\uD835\uDCC1' },
+ '&lsh;': { 'codepoints': [0x021B0], 'characters': '\u21B0' },
+ '&lsim;': { 'codepoints': [0x02272], 'characters': '\u2272' },
+ '&lsime;': { 'codepoints': [0x02A8D], 'characters': '\u2A8D' },
+ '&lsimg;': { 'codepoints': [0x02A8F], 'characters': '\u2A8F' },
+ '&lsqb;': { 'codepoints': [0x0005B], 'characters': '\x5B' },
+ '&lsquo;': { 'codepoints': [0x02018], 'characters': '\u2018' },
+ '&lsquor;': { 'codepoints': [0x0201A], 'characters': '\u201A' },
+ '&lstrok;': { 'codepoints': [0x00142], 'characters': '\u0142' },
+ '&lt': { 'codepoints': [0x0003C], 'characters': '\x3C' },
+ '&lt;': { 'codepoints': [0x0003C], 'characters': '\x3C' },
+ '&ltcc;': { 'codepoints': [0x02AA6], 'characters': '\u2AA6' },
+ '&ltcir;': { 'codepoints': [0x02A79], 'characters': '\u2A79' },
+ '&ltdot;': { 'codepoints': [0x022D6], 'characters': '\u22D6' },
+ '&lthree;': { 'codepoints': [0x022CB], 'characters': '\u22CB' },
+ '&ltimes;': { 'codepoints': [0x022C9], 'characters': '\u22C9' },
+ '&ltlarr;': { 'codepoints': [0x02976], 'characters': '\u2976' },
+ '&ltquest;': { 'codepoints': [0x02A7B], 'characters': '\u2A7B' },
+ '&ltrPar;': { 'codepoints': [0x02996], 'characters': '\u2996' },
+ '&ltri;': { 'codepoints': [0x025C3], 'characters': '\u25C3' },
+ '&ltrie;': { 'codepoints': [0x022B4], 'characters': '\u22B4' },
+ '&ltrif;': { 'codepoints': [0x025C2], 'characters': '\u25C2' },
+ '&lurdshar;': { 'codepoints': [0x0294A], 'characters': '\u294A' },
+ '&luruhar;': { 'codepoints': [0x02966], 'characters': '\u2966' },
+ '&lvertneqq;': { 'codepoints': [0x02268, 0x0FE00], 'characters': '\u2268\uFE00' },
+ '&lvnE;': { 'codepoints': [0x02268, 0x0FE00], 'characters': '\u2268\uFE00' },
+ '&mDDot;': { 'codepoints': [0x0223A], 'characters': '\u223A' },
+ '&macr': { 'codepoints': [0x000AF], 'characters': '\xAF' },
+ '&macr;': { 'codepoints': [0x000AF], 'characters': '\xAF' },
+ '&male;': { 'codepoints': [0x02642], 'characters': '\u2642' },
+ '&malt;': { 'codepoints': [0x02720], 'characters': '\u2720' },
+ '&maltese;': { 'codepoints': [0x02720], 'characters': '\u2720' },
+ '&map;': { 'codepoints': [0x021A6], 'characters': '\u21A6' },
+ '&mapsto;': { 'codepoints': [0x021A6], 'characters': '\u21A6' },
+ '&mapstodown;': { 'codepoints': [0x021A7], 'characters': '\u21A7' },
+ '&mapstoleft;': { 'codepoints': [0x021A4], 'characters': '\u21A4' },
+ '&mapstoup;': { 'codepoints': [0x021A5], 'characters': '\u21A5' },
+ '&marker;': { 'codepoints': [0x025AE], 'characters': '\u25AE' },
+ '&mcomma;': { 'codepoints': [0x02A29], 'characters': '\u2A29' },
+ '&mcy;': { 'codepoints': [0x0043C], 'characters': '\u043C' },
+ '&mdash;': { 'codepoints': [0x02014], 'characters': '\u2014' },
+ '&measuredangle;': { 'codepoints': [0x02221], 'characters': '\u2221' },
+ '&mfr;': { 'codepoints': [0x1D52A], 'characters': '\uD835\uDD2A' },
+ '&mho;': { 'codepoints': [0x02127], 'characters': '\u2127' },
+ '&micro': { 'codepoints': [0x000B5], 'characters': '\xB5' },
+ '&micro;': { 'codepoints': [0x000B5], 'characters': '\xB5' },
+ '&mid;': { 'codepoints': [0x02223], 'characters': '\u2223' },
+ '&midast;': { 'codepoints': [0x0002A], 'characters': '\x2A' },
+ '&midcir;': { 'codepoints': [0x02AF0], 'characters': '\u2AF0' },
+ '&middot': { 'codepoints': [0x000B7], 'characters': '\xB7' },
+ '&middot;': { 'codepoints': [0x000B7], 'characters': '\xB7' },
+ '&minus;': { 'codepoints': [0x02212], 'characters': '\u2212' },
+ '&minusb;': { 'codepoints': [0x0229F], 'characters': '\u229F' },
+ '&minusd;': { 'codepoints': [0x02238], 'characters': '\u2238' },
+ '&minusdu;': { 'codepoints': [0x02A2A], 'characters': '\u2A2A' },
+ '&mlcp;': { 'codepoints': [0x02ADB], 'characters': '\u2ADB' },
+ '&mldr;': { 'codepoints': [0x02026], 'characters': '\u2026' },
+ '&mnplus;': { 'codepoints': [0x02213], 'characters': '\u2213' },
+ '&models;': { 'codepoints': [0x022A7], 'characters': '\u22A7' },
+ '&mopf;': { 'codepoints': [0x1D55E], 'characters': '\uD835\uDD5E' },
+ '&mp;': { 'codepoints': [0x02213], 'characters': '\u2213' },
+ '&mscr;': { 'codepoints': [0x1D4C2], 'characters': '\uD835\uDCC2' },
+ '&mstpos;': { 'codepoints': [0x0223E], 'characters': '\u223E' },
+ '&mu;': { 'codepoints': [0x003BC], 'characters': '\u03BC' },
+ '&multimap;': { 'codepoints': [0x022B8], 'characters': '\u22B8' },
+ '&mumap;': { 'codepoints': [0x022B8], 'characters': '\u22B8' },
+ '&nGg;': { 'codepoints': [0x022D9, 0x00338], 'characters': '\u22D9\u0338' },
+ '&nGt;': { 'codepoints': [0x0226B, 0x020D2], 'characters': '\u226B\u20D2' },
+ '&nGtv;': { 'codepoints': [0x0226B, 0x00338], 'characters': '\u226B\u0338' },
+ '&nLeftarrow;': { 'codepoints': [0x021CD], 'characters': '\u21CD' },
+ '&nLeftrightarrow;': { 'codepoints': [0x021CE], 'characters': '\u21CE' },
+ '&nLl;': { 'codepoints': [0x022D8, 0x00338], 'characters': '\u22D8\u0338' },
+ '&nLt;': { 'codepoints': [0x0226A, 0x020D2], 'characters': '\u226A\u20D2' },
+ '&nLtv;': { 'codepoints': [0x0226A, 0x00338], 'characters': '\u226A\u0338' },
+ '&nRightarrow;': { 'codepoints': [0x021CF], 'characters': '\u21CF' },
+ '&nVDash;': { 'codepoints': [0x022AF], 'characters': '\u22AF' },
+ '&nVdash;': { 'codepoints': [0x022AE], 'characters': '\u22AE' },
+ '&nabla;': { 'codepoints': [0x02207], 'characters': '\u2207' },
+ '&nacute;': { 'codepoints': [0x00144], 'characters': '\u0144' },
+ '&nang;': { 'codepoints': [0x02220, 0x020D2], 'characters': '\u2220\u20D2' },
+ '&nap;': { 'codepoints': [0x02249], 'characters': '\u2249' },
+ '&napE;': { 'codepoints': [0x02A70, 0x00338], 'characters': '\u2A70\u0338' },
+ '&napid;': { 'codepoints': [0x0224B, 0x00338], 'characters': '\u224B\u0338' },
+ '&napos;': { 'codepoints': [0x00149], 'characters': '\u0149' },
+ '&napprox;': { 'codepoints': [0x02249], 'characters': '\u2249' },
+ '&natur;': { 'codepoints': [0x0266E], 'characters': '\u266E' },
+ '&natural;': { 'codepoints': [0x0266E], 'characters': '\u266E' },
+ '&naturals;': { 'codepoints': [0x02115], 'characters': '\u2115' },
+ '&nbsp': { 'codepoints': [0x000A0], 'characters': '\xA0' },
+ '&nbsp;': { 'codepoints': [0x000A0], 'characters': '\xA0' },
+ '&nbump;': { 'codepoints': [0x0224E, 0x00338], 'characters': '\u224E\u0338' },
+ '&nbumpe;': { 'codepoints': [0x0224F, 0x00338], 'characters': '\u224F\u0338' },
+ '&ncap;': { 'codepoints': [0x02A43], 'characters': '\u2A43' },
+ '&ncaron;': { 'codepoints': [0x00148], 'characters': '\u0148' },
+ '&ncedil;': { 'codepoints': [0x00146], 'characters': '\u0146' },
+ '&ncong;': { 'codepoints': [0x02247], 'characters': '\u2247' },
+ '&ncongdot;': { 'codepoints': [0x02A6D, 0x00338], 'characters': '\u2A6D\u0338' },
+ '&ncup;': { 'codepoints': [0x02A42], 'characters': '\u2A42' },
+ '&ncy;': { 'codepoints': [0x0043D], 'characters': '\u043D' },
+ '&ndash;': { 'codepoints': [0x02013], 'characters': '\u2013' },
+ '&ne;': { 'codepoints': [0x02260], 'characters': '\u2260' },
+ '&neArr;': { 'codepoints': [0x021D7], 'characters': '\u21D7' },
+ '&nearhk;': { 'codepoints': [0x02924], 'characters': '\u2924' },
+ '&nearr;': { 'codepoints': [0x02197], 'characters': '\u2197' },
+ '&nearrow;': { 'codepoints': [0x02197], 'characters': '\u2197' },
+ '&nedot;': { 'codepoints': [0x02250, 0x00338], 'characters': '\u2250\u0338' },
+ '&nequiv;': { 'codepoints': [0x02262], 'characters': '\u2262' },
+ '&nesear;': { 'codepoints': [0x02928], 'characters': '\u2928' },
+ '&nesim;': { 'codepoints': [0x02242, 0x00338], 'characters': '\u2242\u0338' },
+ '&nexist;': { 'codepoints': [0x02204], 'characters': '\u2204' },
+ '&nexists;': { 'codepoints': [0x02204], 'characters': '\u2204' },
+ '&nfr;': { 'codepoints': [0x1D52B], 'characters': '\uD835\uDD2B' },
+ '&ngE;': { 'codepoints': [0x02267, 0x00338], 'characters': '\u2267\u0338' },
+ '&nge;': { 'codepoints': [0x02271], 'characters': '\u2271' },
+ '&ngeq;': { 'codepoints': [0x02271], 'characters': '\u2271' },
+ '&ngeqq;': { 'codepoints': [0x02267, 0x00338], 'characters': '\u2267\u0338' },
+ '&ngeqslant;': { 'codepoints': [0x02A7E, 0x00338], 'characters': '\u2A7E\u0338' },
+ '&nges;': { 'codepoints': [0x02A7E, 0x00338], 'characters': '\u2A7E\u0338' },
+ '&ngsim;': { 'codepoints': [0x02275], 'characters': '\u2275' },
+ '&ngt;': { 'codepoints': [0x0226F], 'characters': '\u226F' },
+ '&ngtr;': { 'codepoints': [0x0226F], 'characters': '\u226F' },
+ '&nhArr;': { 'codepoints': [0x021CE], 'characters': '\u21CE' },
+ '&nharr;': { 'codepoints': [0x021AE], 'characters': '\u21AE' },
+ '&nhpar;': { 'codepoints': [0x02AF2], 'characters': '\u2AF2' },
+ '&ni;': { 'codepoints': [0x0220B], 'characters': '\u220B' },
+ '&nis;': { 'codepoints': [0x022FC], 'characters': '\u22FC' },
+ '&nisd;': { 'codepoints': [0x022FA], 'characters': '\u22FA' },
+ '&niv;': { 'codepoints': [0x0220B], 'characters': '\u220B' },
+ '&njcy;': { 'codepoints': [0x0045A], 'characters': '\u045A' },
+ '&nlArr;': { 'codepoints': [0x021CD], 'characters': '\u21CD' },
+ '&nlE;': { 'codepoints': [0x02266, 0x00338], 'characters': '\u2266\u0338' },
+ '&nlarr;': { 'codepoints': [0x0219A], 'characters': '\u219A' },
+ '&nldr;': { 'codepoints': [0x02025], 'characters': '\u2025' },
+ '&nle;': { 'codepoints': [0x02270], 'characters': '\u2270' },
+ '&nleftarrow;': { 'codepoints': [0x0219A], 'characters': '\u219A' },
+ '&nleftrightarrow;': { 'codepoints': [0x021AE], 'characters': '\u21AE' },
+ '&nleq;': { 'codepoints': [0x02270], 'characters': '\u2270' },
+ '&nleqq;': { 'codepoints': [0x02266, 0x00338], 'characters': '\u2266\u0338' },
+ '&nleqslant;': { 'codepoints': [0x02A7D, 0x00338], 'characters': '\u2A7D\u0338' },
+ '&nles;': { 'codepoints': [0x02A7D, 0x00338], 'characters': '\u2A7D\u0338' },
+ '&nless;': { 'codepoints': [0x0226E], 'characters': '\u226E' },
+ '&nlsim;': { 'codepoints': [0x02274], 'characters': '\u2274' },
+ '&nlt;': { 'codepoints': [0x0226E], 'characters': '\u226E' },
+ '&nltri;': { 'codepoints': [0x022EA], 'characters': '\u22EA' },
+ '&nltrie;': { 'codepoints': [0x022EC], 'characters': '\u22EC' },
+ '&nmid;': { 'codepoints': [0x02224], 'characters': '\u2224' },
+ '&nopf;': { 'codepoints': [0x1D55F], 'characters': '\uD835\uDD5F' },
+ '&not': { 'codepoints': [0x000AC], 'characters': '\xAC' },
+ '&not;': { 'codepoints': [0x000AC], 'characters': '\xAC' },
+ '&notin;': { 'codepoints': [0x02209], 'characters': '\u2209' },
+ '&notinE;': { 'codepoints': [0x022F9, 0x00338], 'characters': '\u22F9\u0338' },
+ '&notindot;': { 'codepoints': [0x022F5, 0x00338], 'characters': '\u22F5\u0338' },
+ '&notinva;': { 'codepoints': [0x02209], 'characters': '\u2209' },
+ '&notinvb;': { 'codepoints': [0x022F7], 'characters': '\u22F7' },
+ '&notinvc;': { 'codepoints': [0x022F6], 'characters': '\u22F6' },
+ '&notni;': { 'codepoints': [0x0220C], 'characters': '\u220C' },
+ '&notniva;': { 'codepoints': [0x0220C], 'characters': '\u220C' },
+ '&notnivb;': { 'codepoints': [0x022FE], 'characters': '\u22FE' },
+ '&notnivc;': { 'codepoints': [0x022FD], 'characters': '\u22FD' },
+ '&npar;': { 'codepoints': [0x02226], 'characters': '\u2226' },
+ '&nparallel;': { 'codepoints': [0x02226], 'characters': '\u2226' },
+ '&nparsl;': { 'codepoints': [0x02AFD, 0x020E5], 'characters': '\u2AFD\u20E5' },
+ '&npart;': { 'codepoints': [0x02202, 0x00338], 'characters': '\u2202\u0338' },
+ '&npolint;': { 'codepoints': [0x02A14], 'characters': '\u2A14' },
+ '&npr;': { 'codepoints': [0x02280], 'characters': '\u2280' },
+ '&nprcue;': { 'codepoints': [0x022E0], 'characters': '\u22E0' },
+ '&npre;': { 'codepoints': [0x02AAF, 0x00338], 'characters': '\u2AAF\u0338' },
+ '&nprec;': { 'codepoints': [0x02280], 'characters': '\u2280' },
+ '&npreceq;': { 'codepoints': [0x02AAF, 0x00338], 'characters': '\u2AAF\u0338' },
+ '&nrArr;': { 'codepoints': [0x021CF], 'characters': '\u21CF' },
+ '&nrarr;': { 'codepoints': [0x0219B], 'characters': '\u219B' },
+ '&nrarrc;': { 'codepoints': [0x02933, 0x00338], 'characters': '\u2933\u0338' },
+ '&nrarrw;': { 'codepoints': [0x0219D, 0x00338], 'characters': '\u219D\u0338' },
+ '&nrightarrow;': { 'codepoints': [0x0219B], 'characters': '\u219B' },
+ '&nrtri;': { 'codepoints': [0x022EB], 'characters': '\u22EB' },
+ '&nrtrie;': { 'codepoints': [0x022ED], 'characters': '\u22ED' },
+ '&nsc;': { 'codepoints': [0x02281], 'characters': '\u2281' },
+ '&nsccue;': { 'codepoints': [0x022E1], 'characters': '\u22E1' },
+ '&nsce;': { 'codepoints': [0x02AB0, 0x00338], 'characters': '\u2AB0\u0338' },
+ '&nscr;': { 'codepoints': [0x1D4C3], 'characters': '\uD835\uDCC3' },
+ '&nshortmid;': { 'codepoints': [0x02224], 'characters': '\u2224' },
+ '&nshortparallel;': { 'codepoints': [0x02226], 'characters': '\u2226' },
+ '&nsim;': { 'codepoints': [0x02241], 'characters': '\u2241' },
+ '&nsime;': { 'codepoints': [0x02244], 'characters': '\u2244' },
+ '&nsimeq;': { 'codepoints': [0x02244], 'characters': '\u2244' },
+ '&nsmid;': { 'codepoints': [0x02224], 'characters': '\u2224' },
+ '&nspar;': { 'codepoints': [0x02226], 'characters': '\u2226' },
+ '&nsqsube;': { 'codepoints': [0x022E2], 'characters': '\u22E2' },
+ '&nsqsupe;': { 'codepoints': [0x022E3], 'characters': '\u22E3' },
+ '&nsub;': { 'codepoints': [0x02284], 'characters': '\u2284' },
+ '&nsubE;': { 'codepoints': [0x02AC5, 0x00338], 'characters': '\u2AC5\u0338' },
+ '&nsube;': { 'codepoints': [0x02288], 'characters': '\u2288' },
+ '&nsubset;': { 'codepoints': [0x02282, 0x020D2], 'characters': '\u2282\u20D2' },
+ '&nsubseteq;': { 'codepoints': [0x02288], 'characters': '\u2288' },
+ '&nsubseteqq;': { 'codepoints': [0x02AC5, 0x00338], 'characters': '\u2AC5\u0338' },
+ '&nsucc;': { 'codepoints': [0x02281], 'characters': '\u2281' },
+ '&nsucceq;': { 'codepoints': [0x02AB0, 0x00338], 'characters': '\u2AB0\u0338' },
+ '&nsup;': { 'codepoints': [0x02285], 'characters': '\u2285' },
+ '&nsupE;': { 'codepoints': [0x02AC6, 0x00338], 'characters': '\u2AC6\u0338' },
+ '&nsupe;': { 'codepoints': [0x02289], 'characters': '\u2289' },
+ '&nsupset;': { 'codepoints': [0x02283, 0x020D2], 'characters': '\u2283\u20D2' },
+ '&nsupseteq;': { 'codepoints': [0x02289], 'characters': '\u2289' },
+ '&nsupseteqq;': { 'codepoints': [0x02AC6, 0x00338], 'characters': '\u2AC6\u0338' },
+ '&ntgl;': { 'codepoints': [0x02279], 'characters': '\u2279' },
+ '&ntilde': { 'codepoints': [0x000F1], 'characters': '\xF1' },
+ '&ntilde;': { 'codepoints': [0x000F1], 'characters': '\xF1' },
+ '&ntlg;': { 'codepoints': [0x02278], 'characters': '\u2278' },
+ '&ntriangleleft;': { 'codepoints': [0x022EA], 'characters': '\u22EA' },
+ '&ntrianglelefteq;': { 'codepoints': [0x022EC], 'characters': '\u22EC' },
+ '&ntriangleright;': { 'codepoints': [0x022EB], 'characters': '\u22EB' },
+ '&ntrianglerighteq;': { 'codepoints': [0x022ED], 'characters': '\u22ED' },
+ '&nu;': { 'codepoints': [0x003BD], 'characters': '\u03BD' },
+ '&num;': { 'codepoints': [0x00023], 'characters': '\x23' },
+ '&numero;': { 'codepoints': [0x02116], 'characters': '\u2116' },
+ '&numsp;': { 'codepoints': [0x02007], 'characters': '\u2007' },
+ '&nvDash;': { 'codepoints': [0x022AD], 'characters': '\u22AD' },
+ '&nvHarr;': { 'codepoints': [0x02904], 'characters': '\u2904' },
+ '&nvap;': { 'codepoints': [0x0224D, 0x020D2], 'characters': '\u224D\u20D2' },
+ '&nvdash;': { 'codepoints': [0x022AC], 'characters': '\u22AC' },
+ '&nvge;': { 'codepoints': [0x02265, 0x020D2], 'characters': '\u2265\u20D2' },
+ '&nvgt;': { 'codepoints': [0x0003E, 0x020D2], 'characters': '\x3E\u20D2' },
+ '&nvinfin;': { 'codepoints': [0x029DE], 'characters': '\u29DE' },
+ '&nvlArr;': { 'codepoints': [0x02902], 'characters': '\u2902' },
+ '&nvle;': { 'codepoints': [0x02264, 0x020D2], 'characters': '\u2264\u20D2' },
+ '&nvlt;': { 'codepoints': [0x0003C, 0x020D2], 'characters': '\x3C\u20D2' },
+ '&nvltrie;': { 'codepoints': [0x022B4, 0x020D2], 'characters': '\u22B4\u20D2' },
+ '&nvrArr;': { 'codepoints': [0x02903], 'characters': '\u2903' },
+ '&nvrtrie;': { 'codepoints': [0x022B5, 0x020D2], 'characters': '\u22B5\u20D2' },
+ '&nvsim;': { 'codepoints': [0x0223C, 0x020D2], 'characters': '\u223C\u20D2' },
+ '&nwArr;': { 'codepoints': [0x021D6], 'characters': '\u21D6' },
+ '&nwarhk;': { 'codepoints': [0x02923], 'characters': '\u2923' },
+ '&nwarr;': { 'codepoints': [0x02196], 'characters': '\u2196' },
+ '&nwarrow;': { 'codepoints': [0x02196], 'characters': '\u2196' },
+ '&nwnear;': { 'codepoints': [0x02927], 'characters': '\u2927' },
+ '&oS;': { 'codepoints': [0x024C8], 'characters': '\u24C8' },
+ '&oacute': { 'codepoints': [0x000F3], 'characters': '\xF3' },
+ '&oacute;': { 'codepoints': [0x000F3], 'characters': '\xF3' },
+ '&oast;': { 'codepoints': [0x0229B], 'characters': '\u229B' },
+ '&ocir;': { 'codepoints': [0x0229A], 'characters': '\u229A' },
+ '&ocirc': { 'codepoints': [0x000F4], 'characters': '\xF4' },
+ '&ocirc;': { 'codepoints': [0x000F4], 'characters': '\xF4' },
+ '&ocy;': { 'codepoints': [0x0043E], 'characters': '\u043E' },
+ '&odash;': { 'codepoints': [0x0229D], 'characters': '\u229D' },
+ '&odblac;': { 'codepoints': [0x00151], 'characters': '\u0151' },
+ '&odiv;': { 'codepoints': [0x02A38], 'characters': '\u2A38' },
+ '&odot;': { 'codepoints': [0x02299], 'characters': '\u2299' },
+ '&odsold;': { 'codepoints': [0x029BC], 'characters': '\u29BC' },
+ '&oelig;': { 'codepoints': [0x00153], 'characters': '\u0153' },
+ '&ofcir;': { 'codepoints': [0x029BF], 'characters': '\u29BF' },
+ '&ofr;': { 'codepoints': [0x1D52C], 'characters': '\uD835\uDD2C' },
+ '&ogon;': { 'codepoints': [0x002DB], 'characters': '\u02DB' },
+ '&ograve': { 'codepoints': [0x000F2], 'characters': '\xF2' },
+ '&ograve;': { 'codepoints': [0x000F2], 'characters': '\xF2' },
+ '&ogt;': { 'codepoints': [0x029C1], 'characters': '\u29C1' },
+ '&ohbar;': { 'codepoints': [0x029B5], 'characters': '\u29B5' },
+ '&ohm;': { 'codepoints': [0x003A9], 'characters': '\u03A9' },
+ '&oint;': { 'codepoints': [0x0222E], 'characters': '\u222E' },
+ '&olarr;': { 'codepoints': [0x021BA], 'characters': '\u21BA' },
+ '&olcir;': { 'codepoints': [0x029BE], 'characters': '\u29BE' },
+ '&olcross;': { 'codepoints': [0x029BB], 'characters': '\u29BB' },
+ '&oline;': { 'codepoints': [0x0203E], 'characters': '\u203E' },
+ '&olt;': { 'codepoints': [0x029C0], 'characters': '\u29C0' },
+ '&omacr;': { 'codepoints': [0x0014D], 'characters': '\u014D' },
+ '&omega;': { 'codepoints': [0x003C9], 'characters': '\u03C9' },
+ '&omicron;': { 'codepoints': [0x003BF], 'characters': '\u03BF' },
+ '&omid;': { 'codepoints': [0x029B6], 'characters': '\u29B6' },
+ '&ominus;': { 'codepoints': [0x02296], 'characters': '\u2296' },
+ '&oopf;': { 'codepoints': [0x1D560], 'characters': '\uD835\uDD60' },
+ '&opar;': { 'codepoints': [0x029B7], 'characters': '\u29B7' },
+ '&operp;': { 'codepoints': [0x029B9], 'characters': '\u29B9' },
+ '&oplus;': { 'codepoints': [0x02295], 'characters': '\u2295' },
+ '&or;': { 'codepoints': [0x02228], 'characters': '\u2228' },
+ '&orarr;': { 'codepoints': [0x021BB], 'characters': '\u21BB' },
+ '&ord;': { 'codepoints': [0x02A5D], 'characters': '\u2A5D' },
+ '&order;': { 'codepoints': [0x02134], 'characters': '\u2134' },
+ '&orderof;': { 'codepoints': [0x02134], 'characters': '\u2134' },
+ '&ordf': { 'codepoints': [0x000AA], 'characters': '\xAA' },
+ '&ordf;': { 'codepoints': [0x000AA], 'characters': '\xAA' },
+ '&ordm': { 'codepoints': [0x000BA], 'characters': '\xBA' },
+ '&ordm;': { 'codepoints': [0x000BA], 'characters': '\xBA' },
+ '&origof;': { 'codepoints': [0x022B6], 'characters': '\u22B6' },
+ '&oror;': { 'codepoints': [0x02A56], 'characters': '\u2A56' },
+ '&orslope;': { 'codepoints': [0x02A57], 'characters': '\u2A57' },
+ '&orv;': { 'codepoints': [0x02A5B], 'characters': '\u2A5B' },
+ '&oscr;': { 'codepoints': [0x02134], 'characters': '\u2134' },
+ '&oslash': { 'codepoints': [0x000F8], 'characters': '\xF8' },
+ '&oslash;': { 'codepoints': [0x000F8], 'characters': '\xF8' },
+ '&osol;': { 'codepoints': [0x02298], 'characters': '\u2298' },
+ '&otilde': { 'codepoints': [0x000F5], 'characters': '\xF5' },
+ '&otilde;': { 'codepoints': [0x000F5], 'characters': '\xF5' },
+ '&otimes;': { 'codepoints': [0x02297], 'characters': '\u2297' },
+ '&otimesas;': { 'codepoints': [0x02A36], 'characters': '\u2A36' },
+ '&ouml': { 'codepoints': [0x000F6], 'characters': '\xF6' },
+ '&ouml;': { 'codepoints': [0x000F6], 'characters': '\xF6' },
+ '&ovbar;': { 'codepoints': [0x0233D], 'characters': '\u233D' },
+ '&par;': { 'codepoints': [0x02225], 'characters': '\u2225' },
+ '&para': { 'codepoints': [0x000B6], 'characters': '\xB6' },
+ '&para;': { 'codepoints': [0x000B6], 'characters': '\xB6' },
+ '&parallel;': { 'codepoints': [0x02225], 'characters': '\u2225' },
+ '&parsim;': { 'codepoints': [0x02AF3], 'characters': '\u2AF3' },
+ '&parsl;': { 'codepoints': [0x02AFD], 'characters': '\u2AFD' },
+ '&part;': { 'codepoints': [0x02202], 'characters': '\u2202' },
+ '&pcy;': { 'codepoints': [0x0043F], 'characters': '\u043F' },
+ '&percnt;': { 'codepoints': [0x00025], 'characters': '\x25' },
+ '&period;': { 'codepoints': [0x0002E], 'characters': '\x2E' },
+ '&permil;': { 'codepoints': [0x02030], 'characters': '\u2030' },
+ '&perp;': { 'codepoints': [0x022A5], 'characters': '\u22A5' },
+ '&pertenk;': { 'codepoints': [0x02031], 'characters': '\u2031' },
+ '&pfr;': { 'codepoints': [0x1D52D], 'characters': '\uD835\uDD2D' },
+ '&phi;': { 'codepoints': [0x003C6], 'characters': '\u03C6' },
+ '&phiv;': { 'codepoints': [0x003D5], 'characters': '\u03D5' },
+ '&phmmat;': { 'codepoints': [0x02133], 'characters': '\u2133' },
+ '&phone;': { 'codepoints': [0x0260E], 'characters': '\u260E' },
+ '&pi;': { 'codepoints': [0x003C0], 'characters': '\u03C0' },
+ '&pitchfork;': { 'codepoints': [0x022D4], 'characters': '\u22D4' },
+ '&piv;': { 'codepoints': [0x003D6], 'characters': '\u03D6' },
+ '&planck;': { 'codepoints': [0x0210F], 'characters': '\u210F' },
+ '&planckh;': { 'codepoints': [0x0210E], 'characters': '\u210E' },
+ '&plankv;': { 'codepoints': [0x0210F], 'characters': '\u210F' },
+ '&plus;': { 'codepoints': [0x0002B], 'characters': '\x2B' },
+ '&plusacir;': { 'codepoints': [0x02A23], 'characters': '\u2A23' },
+ '&plusb;': { 'codepoints': [0x0229E], 'characters': '\u229E' },
+ '&pluscir;': { 'codepoints': [0x02A22], 'characters': '\u2A22' },
+ '&plusdo;': { 'codepoints': [0x02214], 'characters': '\u2214' },
+ '&plusdu;': { 'codepoints': [0x02A25], 'characters': '\u2A25' },
+ '&pluse;': { 'codepoints': [0x02A72], 'characters': '\u2A72' },
+ '&plusmn': { 'codepoints': [0x000B1], 'characters': '\xB1' },
+ '&plusmn;': { 'codepoints': [0x000B1], 'characters': '\xB1' },
+ '&plussim;': { 'codepoints': [0x02A26], 'characters': '\u2A26' },
+ '&plustwo;': { 'codepoints': [0x02A27], 'characters': '\u2A27' },
+ '&pm;': { 'codepoints': [0x000B1], 'characters': '\xB1' },
+ '&pointint;': { 'codepoints': [0x02A15], 'characters': '\u2A15' },
+ '&popf;': { 'codepoints': [0x1D561], 'characters': '\uD835\uDD61' },
+ '&pound': { 'codepoints': [0x000A3], 'characters': '\xA3' },
+ '&pound;': { 'codepoints': [0x000A3], 'characters': '\xA3' },
+ '&pr;': { 'codepoints': [0x0227A], 'characters': '\u227A' },
+ '&prE;': { 'codepoints': [0x02AB3], 'characters': '\u2AB3' },
+ '&prap;': { 'codepoints': [0x02AB7], 'characters': '\u2AB7' },
+ '&prcue;': { 'codepoints': [0x0227C], 'characters': '\u227C' },
+ '&pre;': { 'codepoints': [0x02AAF], 'characters': '\u2AAF' },
+ '&prec;': { 'codepoints': [0x0227A], 'characters': '\u227A' },
+ '&precapprox;': { 'codepoints': [0x02AB7], 'characters': '\u2AB7' },
+ '&preccurlyeq;': { 'codepoints': [0x0227C], 'characters': '\u227C' },
+ '&preceq;': { 'codepoints': [0x02AAF], 'characters': '\u2AAF' },
+ '&precnapprox;': { 'codepoints': [0x02AB9], 'characters': '\u2AB9' },
+ '&precneqq;': { 'codepoints': [0x02AB5], 'characters': '\u2AB5' },
+ '&precnsim;': { 'codepoints': [0x022E8], 'characters': '\u22E8' },
+ '&precsim;': { 'codepoints': [0x0227E], 'characters': '\u227E' },
+ '&prime;': { 'codepoints': [0x02032], 'characters': '\u2032' },
+ '&primes;': { 'codepoints': [0x02119], 'characters': '\u2119' },
+ '&prnE;': { 'codepoints': [0x02AB5], 'characters': '\u2AB5' },
+ '&prnap;': { 'codepoints': [0x02AB9], 'characters': '\u2AB9' },
+ '&prnsim;': { 'codepoints': [0x022E8], 'characters': '\u22E8' },
+ '&prod;': { 'codepoints': [0x0220F], 'characters': '\u220F' },
+ '&profalar;': { 'codepoints': [0x0232E], 'characters': '\u232E' },
+ '&profline;': { 'codepoints': [0x02312], 'characters': '\u2312' },
+ '&profsurf;': { 'codepoints': [0x02313], 'characters': '\u2313' },
+ '&prop;': { 'codepoints': [0x0221D], 'characters': '\u221D' },
+ '&propto;': { 'codepoints': [0x0221D], 'characters': '\u221D' },
+ '&prsim;': { 'codepoints': [0x0227E], 'characters': '\u227E' },
+ '&prurel;': { 'codepoints': [0x022B0], 'characters': '\u22B0' },
+ '&pscr;': { 'codepoints': [0x1D4C5], 'characters': '\uD835\uDCC5' },
+ '&psi;': { 'codepoints': [0x003C8], 'characters': '\u03C8' },
+ '&puncsp;': { 'codepoints': [0x02008], 'characters': '\u2008' },
+ '&qfr;': { 'codepoints': [0x1D52E], 'characters': '\uD835\uDD2E' },
+ '&qint;': { 'codepoints': [0x02A0C], 'characters': '\u2A0C' },
+ '&qopf;': { 'codepoints': [0x1D562], 'characters': '\uD835\uDD62' },
+ '&qprime;': { 'codepoints': [0x02057], 'characters': '\u2057' },
+ '&qscr;': { 'codepoints': [0x1D4C6], 'characters': '\uD835\uDCC6' },
+ '&quaternions;': { 'codepoints': [0x0210D], 'characters': '\u210D' },
+ '&quatint;': { 'codepoints': [0x02A16], 'characters': '\u2A16' },
+ '&quest;': { 'codepoints': [0x0003F], 'characters': '\x3F' },
+ '&questeq;': { 'codepoints': [0x0225F], 'characters': '\u225F' },
+ '&quot': { 'codepoints': [0x00022], 'characters': '\x22' },
+ '&quot;': { 'codepoints': [0x00022], 'characters': '\x22' },
+ '&rAarr;': { 'codepoints': [0x021DB], 'characters': '\u21DB' },
+ '&rArr;': { 'codepoints': [0x021D2], 'characters': '\u21D2' },
+ '&rAtail;': { 'codepoints': [0x0291C], 'characters': '\u291C' },
+ '&rBarr;': { 'codepoints': [0x0290F], 'characters': '\u290F' },
+ '&rHar;': { 'codepoints': [0x02964], 'characters': '\u2964' },
+ '&race;': { 'codepoints': [0x0223D, 0x00331], 'characters': '\u223D\u0331' },
+ '&racute;': { 'codepoints': [0x00155], 'characters': '\u0155' },
+ '&radic;': { 'codepoints': [0x0221A], 'characters': '\u221A' },
+ '&raemptyv;': { 'codepoints': [0x029B3], 'characters': '\u29B3' },
+ '&rang;': { 'codepoints': [0x027E9], 'characters': '\u27E9' },
+ '&rangd;': { 'codepoints': [0x02992], 'characters': '\u2992' },
+ '&range;': { 'codepoints': [0x029A5], 'characters': '\u29A5' },
+ '&rangle;': { 'codepoints': [0x027E9], 'characters': '\u27E9' },
+ '&raquo': { 'codepoints': [0x000BB], 'characters': '\xBB' },
+ '&raquo;': { 'codepoints': [0x000BB], 'characters': '\xBB' },
+ '&rarr;': { 'codepoints': [0x02192], 'characters': '\u2192' },
+ '&rarrap;': { 'codepoints': [0x02975], 'characters': '\u2975' },
+ '&rarrb;': { 'codepoints': [0x021E5], 'characters': '\u21E5' },
+ '&rarrbfs;': { 'codepoints': [0x02920], 'characters': '\u2920' },
+ '&rarrc;': { 'codepoints': [0x02933], 'characters': '\u2933' },
+ '&rarrfs;': { 'codepoints': [0x0291E], 'characters': '\u291E' },
+ '&rarrhk;': { 'codepoints': [0x021AA], 'characters': '\u21AA' },
+ '&rarrlp;': { 'codepoints': [0x021AC], 'characters': '\u21AC' },
+ '&rarrpl;': { 'codepoints': [0x02945], 'characters': '\u2945' },
+ '&rarrsim;': { 'codepoints': [0x02974], 'characters': '\u2974' },
+ '&rarrtl;': { 'codepoints': [0x021A3], 'characters': '\u21A3' },
+ '&rarrw;': { 'codepoints': [0x0219D], 'characters': '\u219D' },
+ '&ratail;': { 'codepoints': [0x0291A], 'characters': '\u291A' },
+ '&ratio;': { 'codepoints': [0x02236], 'characters': '\u2236' },
+ '&rationals;': { 'codepoints': [0x0211A], 'characters': '\u211A' },
+ '&rbarr;': { 'codepoints': [0x0290D], 'characters': '\u290D' },
+ '&rbbrk;': { 'codepoints': [0x02773], 'characters': '\u2773' },
+ '&rbrace;': { 'codepoints': [0x0007D], 'characters': '\x7D' },
+ '&rbrack;': { 'codepoints': [0x0005D], 'characters': '\x5D' },
+ '&rbrke;': { 'codepoints': [0x0298C], 'characters': '\u298C' },
+ '&rbrksld;': { 'codepoints': [0x0298E], 'characters': '\u298E' },
+ '&rbrkslu;': { 'codepoints': [0x02990], 'characters': '\u2990' },
+ '&rcaron;': { 'codepoints': [0x00159], 'characters': '\u0159' },
+ '&rcedil;': { 'codepoints': [0x00157], 'characters': '\u0157' },
+ '&rceil;': { 'codepoints': [0x02309], 'characters': '\u2309' },
+ '&rcub;': { 'codepoints': [0x0007D], 'characters': '\x7D' },
+ '&rcy;': { 'codepoints': [0x00440], 'characters': '\u0440' },
+ '&rdca;': { 'codepoints': [0x02937], 'characters': '\u2937' },
+ '&rdldhar;': { 'codepoints': [0x02969], 'characters': '\u2969' },
+ '&rdquo;': { 'codepoints': [0x0201D], 'characters': '\u201D' },
+ '&rdquor;': { 'codepoints': [0x0201D], 'characters': '\u201D' },
+ '&rdsh;': { 'codepoints': [0x021B3], 'characters': '\u21B3' },
+ '&real;': { 'codepoints': [0x0211C], 'characters': '\u211C' },
+ '&realine;': { 'codepoints': [0x0211B], 'characters': '\u211B' },
+ '&realpart;': { 'codepoints': [0x0211C], 'characters': '\u211C' },
+ '&reals;': { 'codepoints': [0x0211D], 'characters': '\u211D' },
+ '&rect;': { 'codepoints': [0x025AD], 'characters': '\u25AD' },
+ '&reg': { 'codepoints': [0x000AE], 'characters': '\xAE' },
+ '&reg;': { 'codepoints': [0x000AE], 'characters': '\xAE' },
+ '&rfisht;': { 'codepoints': [0x0297D], 'characters': '\u297D' },
+ '&rfloor;': { 'codepoints': [0x0230B], 'characters': '\u230B' },
+ '&rfr;': { 'codepoints': [0x1D52F], 'characters': '\uD835\uDD2F' },
+ '&rhard;': { 'codepoints': [0x021C1], 'characters': '\u21C1' },
+ '&rharu;': { 'codepoints': [0x021C0], 'characters': '\u21C0' },
+ '&rharul;': { 'codepoints': [0x0296C], 'characters': '\u296C' },
+ '&rho;': { 'codepoints': [0x003C1], 'characters': '\u03C1' },
+ '&rhov;': { 'codepoints': [0x003F1], 'characters': '\u03F1' },
+ '&rightarrow;': { 'codepoints': [0x02192], 'characters': '\u2192' },
+ '&rightarrowtail;': { 'codepoints': [0x021A3], 'characters': '\u21A3' },
+ '&rightharpoondown;': { 'codepoints': [0x021C1], 'characters': '\u21C1' },
+ '&rightharpoonup;': { 'codepoints': [0x021C0], 'characters': '\u21C0' },
+ '&rightleftarrows;': { 'codepoints': [0x021C4], 'characters': '\u21C4' },
+ '&rightleftharpoons;': { 'codepoints': [0x021CC], 'characters': '\u21CC' },
+ '&rightrightarrows;': { 'codepoints': [0x021C9], 'characters': '\u21C9' },
+ '&rightsquigarrow;': { 'codepoints': [0x0219D], 'characters': '\u219D' },
+ '&rightthreetimes;': { 'codepoints': [0x022CC], 'characters': '\u22CC' },
+ '&ring;': { 'codepoints': [0x002DA], 'characters': '\u02DA' },
+ '&risingdotseq;': { 'codepoints': [0x02253], 'characters': '\u2253' },
+ '&rlarr;': { 'codepoints': [0x021C4], 'characters': '\u21C4' },
+ '&rlhar;': { 'codepoints': [0x021CC], 'characters': '\u21CC' },
+ '&rlm;': { 'codepoints': [0x0200F], 'characters': '\u200F' },
+ '&rmoust;': { 'codepoints': [0x023B1], 'characters': '\u23B1' },
+ '&rmoustache;': { 'codepoints': [0x023B1], 'characters': '\u23B1' },
+ '&rnmid;': { 'codepoints': [0x02AEE], 'characters': '\u2AEE' },
+ '&roang;': { 'codepoints': [0x027ED], 'characters': '\u27ED' },
+ '&roarr;': { 'codepoints': [0x021FE], 'characters': '\u21FE' },
+ '&robrk;': { 'codepoints': [0x027E7], 'characters': '\u27E7' },
+ '&ropar;': { 'codepoints': [0x02986], 'characters': '\u2986' },
+ '&ropf;': { 'codepoints': [0x1D563], 'characters': '\uD835\uDD63' },
+ '&roplus;': { 'codepoints': [0x02A2E], 'characters': '\u2A2E' },
+ '&rotimes;': { 'codepoints': [0x02A35], 'characters': '\u2A35' },
+ '&rpar;': { 'codepoints': [0x00029], 'characters': '\x29' },
+ '&rpargt;': { 'codepoints': [0x02994], 'characters': '\u2994' },
+ '&rppolint;': { 'codepoints': [0x02A12], 'characters': '\u2A12' },
+ '&rrarr;': { 'codepoints': [0x021C9], 'characters': '\u21C9' },
+ '&rsaquo;': { 'codepoints': [0x0203A], 'characters': '\u203A' },
+ '&rscr;': { 'codepoints': [0x1D4C7], 'characters': '\uD835\uDCC7' },
+ '&rsh;': { 'codepoints': [0x021B1], 'characters': '\u21B1' },
+ '&rsqb;': { 'codepoints': [0x0005D], 'characters': '\x5D' },
+ '&rsquo;': { 'codepoints': [0x02019], 'characters': '\u2019' },
+ '&rsquor;': { 'codepoints': [0x02019], 'characters': '\u2019' },
+ '&rthree;': { 'codepoints': [0x022CC], 'characters': '\u22CC' },
+ '&rtimes;': { 'codepoints': [0x022CA], 'characters': '\u22CA' },
+ '&rtri;': { 'codepoints': [0x025B9], 'characters': '\u25B9' },
+ '&rtrie;': { 'codepoints': [0x022B5], 'characters': '\u22B5' },
+ '&rtrif;': { 'codepoints': [0x025B8], 'characters': '\u25B8' },
+ '&rtriltri;': { 'codepoints': [0x029CE], 'characters': '\u29CE' },
+ '&ruluhar;': { 'codepoints': [0x02968], 'characters': '\u2968' },
+ '&rx;': { 'codepoints': [0x0211E], 'characters': '\u211E' },
+ '&sacute;': { 'codepoints': [0x0015B], 'characters': '\u015B' },
+ '&sbquo;': { 'codepoints': [0x0201A], 'characters': '\u201A' },
+ '&sc;': { 'codepoints': [0x0227B], 'characters': '\u227B' },
+ '&scE;': { 'codepoints': [0x02AB4], 'characters': '\u2AB4' },
+ '&scap;': { 'codepoints': [0x02AB8], 'characters': '\u2AB8' },
+ '&scaron;': { 'codepoints': [0x00161], 'characters': '\u0161' },
+ '&sccue;': { 'codepoints': [0x0227D], 'characters': '\u227D' },
+ '&sce;': { 'codepoints': [0x02AB0], 'characters': '\u2AB0' },
+ '&scedil;': { 'codepoints': [0x0015F], 'characters': '\u015F' },
+ '&scirc;': { 'codepoints': [0x0015D], 'characters': '\u015D' },
+ '&scnE;': { 'codepoints': [0x02AB6], 'characters': '\u2AB6' },
+ '&scnap;': { 'codepoints': [0x02ABA], 'characters': '\u2ABA' },
+ '&scnsim;': { 'codepoints': [0x022E9], 'characters': '\u22E9' },
+ '&scpolint;': { 'codepoints': [0x02A13], 'characters': '\u2A13' },
+ '&scsim;': { 'codepoints': [0x0227F], 'characters': '\u227F' },
+ '&scy;': { 'codepoints': [0x00441], 'characters': '\u0441' },
+ '&sdot;': { 'codepoints': [0x022C5], 'characters': '\u22C5' },
+ '&sdotb;': { 'codepoints': [0x022A1], 'characters': '\u22A1' },
+ '&sdote;': { 'codepoints': [0x02A66], 'characters': '\u2A66' },
+ '&seArr;': { 'codepoints': [0x021D8], 'characters': '\u21D8' },
+ '&searhk;': { 'codepoints': [0x02925], 'characters': '\u2925' },
+ '&searr;': { 'codepoints': [0x02198], 'characters': '\u2198' },
+ '&searrow;': { 'codepoints': [0x02198], 'characters': '\u2198' },
+ '&sect': { 'codepoints': [0x000A7], 'characters': '\xA7' },
+ '&sect;': { 'codepoints': [0x000A7], 'characters': '\xA7' },
+ '&semi;': { 'codepoints': [0x0003B], 'characters': '\x3B' },
+ '&seswar;': { 'codepoints': [0x02929], 'characters': '\u2929' },
+ '&setminus;': { 'codepoints': [0x02216], 'characters': '\u2216' },
+ '&setmn;': { 'codepoints': [0x02216], 'characters': '\u2216' },
+ '&sext;': { 'codepoints': [0x02736], 'characters': '\u2736' },
+ '&sfr;': { 'codepoints': [0x1D530], 'characters': '\uD835\uDD30' },
+ '&sfrown;': { 'codepoints': [0x02322], 'characters': '\u2322' },
+ '&sharp;': { 'codepoints': [0x0266F], 'characters': '\u266F' },
+ '&shchcy;': { 'codepoints': [0x00449], 'characters': '\u0449' },
+ '&shcy;': { 'codepoints': [0x00448], 'characters': '\u0448' },
+ '&shortmid;': { 'codepoints': [0x02223], 'characters': '\u2223' },
+ '&shortparallel;': { 'codepoints': [0x02225], 'characters': '\u2225' },
+ '&shy': { 'codepoints': [0x000AD], 'characters': '\xAD' },
+ '&shy;': { 'codepoints': [0x000AD], 'characters': '\xAD' },
+ '&sigma;': { 'codepoints': [0x003C3], 'characters': '\u03C3' },
+ '&sigmaf;': { 'codepoints': [0x003C2], 'characters': '\u03C2' },
+ '&sigmav;': { 'codepoints': [0x003C2], 'characters': '\u03C2' },
+ '&sim;': { 'codepoints': [0x0223C], 'characters': '\u223C' },
+ '&simdot;': { 'codepoints': [0x02A6A], 'characters': '\u2A6A' },
+ '&sime;': { 'codepoints': [0x02243], 'characters': '\u2243' },
+ '&simeq;': { 'codepoints': [0x02243], 'characters': '\u2243' },
+ '&simg;': { 'codepoints': [0x02A9E], 'characters': '\u2A9E' },
+ '&simgE;': { 'codepoints': [0x02AA0], 'characters': '\u2AA0' },
+ '&siml;': { 'codepoints': [0x02A9D], 'characters': '\u2A9D' },
+ '&simlE;': { 'codepoints': [0x02A9F], 'characters': '\u2A9F' },
+ '&simne;': { 'codepoints': [0x02246], 'characters': '\u2246' },
+ '&simplus;': { 'codepoints': [0x02A24], 'characters': '\u2A24' },
+ '&simrarr;': { 'codepoints': [0x02972], 'characters': '\u2972' },
+ '&slarr;': { 'codepoints': [0x02190], 'characters': '\u2190' },
+ '&smallsetminus;': { 'codepoints': [0x02216], 'characters': '\u2216' },
+ '&smashp;': { 'codepoints': [0x02A33], 'characters': '\u2A33' },
+ '&smeparsl;': { 'codepoints': [0x029E4], 'characters': '\u29E4' },
+ '&smid;': { 'codepoints': [0x02223], 'characters': '\u2223' },
+ '&smile;': { 'codepoints': [0x02323], 'characters': '\u2323' },
+ '&smt;': { 'codepoints': [0x02AAA], 'characters': '\u2AAA' },
+ '&smte;': { 'codepoints': [0x02AAC], 'characters': '\u2AAC' },
+ '&smtes;': { 'codepoints': [0x02AAC, 0x0FE00], 'characters': '\u2AAC\uFE00' },
+ '&softcy;': { 'codepoints': [0x0044C], 'characters': '\u044C' },
+ '&sol;': { 'codepoints': [0x0002F], 'characters': '\x2F' },
+ '&solb;': { 'codepoints': [0x029C4], 'characters': '\u29C4' },
+ '&solbar;': { 'codepoints': [0x0233F], 'characters': '\u233F' },
+ '&sopf;': { 'codepoints': [0x1D564], 'characters': '\uD835\uDD64' },
+ '&spades;': { 'codepoints': [0x02660], 'characters': '\u2660' },
+ '&spadesuit;': { 'codepoints': [0x02660], 'characters': '\u2660' },
+ '&spar;': { 'codepoints': [0x02225], 'characters': '\u2225' },
+ '&sqcap;': { 'codepoints': [0x02293], 'characters': '\u2293' },
+ '&sqcaps;': { 'codepoints': [0x02293, 0x0FE00], 'characters': '\u2293\uFE00' },
+ '&sqcup;': { 'codepoints': [0x02294], 'characters': '\u2294' },
+ '&sqcups;': { 'codepoints': [0x02294, 0x0FE00], 'characters': '\u2294\uFE00' },
+ '&sqsub;': { 'codepoints': [0x0228F], 'characters': '\u228F' },
+ '&sqsube;': { 'codepoints': [0x02291], 'characters': '\u2291' },
+ '&sqsubset;': { 'codepoints': [0x0228F], 'characters': '\u228F' },
+ '&sqsubseteq;': { 'codepoints': [0x02291], 'characters': '\u2291' },
+ '&sqsup;': { 'codepoints': [0x02290], 'characters': '\u2290' },
+ '&sqsupe;': { 'codepoints': [0x02292], 'characters': '\u2292' },
+ '&sqsupset;': { 'codepoints': [0x02290], 'characters': '\u2290' },
+ '&sqsupseteq;': { 'codepoints': [0x02292], 'characters': '\u2292' },
+ '&squ;': { 'codepoints': [0x025A1], 'characters': '\u25A1' },
+ '&square;': { 'codepoints': [0x025A1], 'characters': '\u25A1' },
+ '&squarf;': { 'codepoints': [0x025AA], 'characters': '\u25AA' },
+ '&squf;': { 'codepoints': [0x025AA], 'characters': '\u25AA' },
+ '&srarr;': { 'codepoints': [0x02192], 'characters': '\u2192' },
+ '&sscr;': { 'codepoints': [0x1D4C8], 'characters': '\uD835\uDCC8' },
+ '&ssetmn;': { 'codepoints': [0x02216], 'characters': '\u2216' },
+ '&ssmile;': { 'codepoints': [0x02323], 'characters': '\u2323' },
+ '&sstarf;': { 'codepoints': [0x022C6], 'characters': '\u22C6' },
+ '&star;': { 'codepoints': [0x02606], 'characters': '\u2606' },
+ '&starf;': { 'codepoints': [0x02605], 'characters': '\u2605' },
+ '&straightepsilon;': { 'codepoints': [0x003F5], 'characters': '\u03F5' },
+ '&straightphi;': { 'codepoints': [0x003D5], 'characters': '\u03D5' },
+ '&strns;': { 'codepoints': [0x000AF], 'characters': '\xAF' },
+ '&sub;': { 'codepoints': [0x02282], 'characters': '\u2282' },
+ '&subE;': { 'codepoints': [0x02AC5], 'characters': '\u2AC5' },
+ '&subdot;': { 'codepoints': [0x02ABD], 'characters': '\u2ABD' },
+ '&sube;': { 'codepoints': [0x02286], 'characters': '\u2286' },
+ '&subedot;': { 'codepoints': [0x02AC3], 'characters': '\u2AC3' },
+ '&submult;': { 'codepoints': [0x02AC1], 'characters': '\u2AC1' },
+ '&subnE;': { 'codepoints': [0x02ACB], 'characters': '\u2ACB' },
+ '&subne;': { 'codepoints': [0x0228A], 'characters': '\u228A' },
+ '&subplus;': { 'codepoints': [0x02ABF], 'characters': '\u2ABF' },
+ '&subrarr;': { 'codepoints': [0x02979], 'characters': '\u2979' },
+ '&subset;': { 'codepoints': [0x02282], 'characters': '\u2282' },
+ '&subseteq;': { 'codepoints': [0x02286], 'characters': '\u2286' },
+ '&subseteqq;': { 'codepoints': [0x02AC5], 'characters': '\u2AC5' },
+ '&subsetneq;': { 'codepoints': [0x0228A], 'characters': '\u228A' },
+ '&subsetneqq;': { 'codepoints': [0x02ACB], 'characters': '\u2ACB' },
+ '&subsim;': { 'codepoints': [0x02AC7], 'characters': '\u2AC7' },
+ '&subsub;': { 'codepoints': [0x02AD5], 'characters': '\u2AD5' },
+ '&subsup;': { 'codepoints': [0x02AD3], 'characters': '\u2AD3' },
+ '&succ;': { 'codepoints': [0x0227B], 'characters': '\u227B' },
+ '&succapprox;': { 'codepoints': [0x02AB8], 'characters': '\u2AB8' },
+ '&succcurlyeq;': { 'codepoints': [0x0227D], 'characters': '\u227D' },
+ '&succeq;': { 'codepoints': [0x02AB0], 'characters': '\u2AB0' },
+ '&succnapprox;': { 'codepoints': [0x02ABA], 'characters': '\u2ABA' },
+ '&succneqq;': { 'codepoints': [0x02AB6], 'characters': '\u2AB6' },
+ '&succnsim;': { 'codepoints': [0x022E9], 'characters': '\u22E9' },
+ '&succsim;': { 'codepoints': [0x0227F], 'characters': '\u227F' },
+ '&sum;': { 'codepoints': [0x02211], 'characters': '\u2211' },
+ '&sung;': { 'codepoints': [0x0266A], 'characters': '\u266A' },
+ '&sup1': { 'codepoints': [0x000B9], 'characters': '\xB9' },
+ '&sup1;': { 'codepoints': [0x000B9], 'characters': '\xB9' },
+ '&sup2': { 'codepoints': [0x000B2], 'characters': '\xB2' },
+ '&sup2;': { 'codepoints': [0x000B2], 'characters': '\xB2' },
+ '&sup3': { 'codepoints': [0x000B3], 'characters': '\xB3' },
+ '&sup3;': { 'codepoints': [0x000B3], 'characters': '\xB3' },
+ '&sup;': { 'codepoints': [0x02283], 'characters': '\u2283' },
+ '&supE;': { 'codepoints': [0x02AC6], 'characters': '\u2AC6' },
+ '&supdot;': { 'codepoints': [0x02ABE], 'characters': '\u2ABE' },
+ '&supdsub;': { 'codepoints': [0x02AD8], 'characters': '\u2AD8' },
+ '&supe;': { 'codepoints': [0x02287], 'characters': '\u2287' },
+ '&supedot;': { 'codepoints': [0x02AC4], 'characters': '\u2AC4' },
+ '&suphsol;': { 'codepoints': [0x027C9], 'characters': '\u27C9' },
+ '&suphsub;': { 'codepoints': [0x02AD7], 'characters': '\u2AD7' },
+ '&suplarr;': { 'codepoints': [0x0297B], 'characters': '\u297B' },
+ '&supmult;': { 'codepoints': [0x02AC2], 'characters': '\u2AC2' },
+ '&supnE;': { 'codepoints': [0x02ACC], 'characters': '\u2ACC' },
+ '&supne;': { 'codepoints': [0x0228B], 'characters': '\u228B' },
+ '&supplus;': { 'codepoints': [0x02AC0], 'characters': '\u2AC0' },
+ '&supset;': { 'codepoints': [0x02283], 'characters': '\u2283' },
+ '&supseteq;': { 'codepoints': [0x02287], 'characters': '\u2287' },
+ '&supseteqq;': { 'codepoints': [0x02AC6], 'characters': '\u2AC6' },
+ '&supsetneq;': { 'codepoints': [0x0228B], 'characters': '\u228B' },
+ '&supsetneqq;': { 'codepoints': [0x02ACC], 'characters': '\u2ACC' },
+ '&supsim;': { 'codepoints': [0x02AC8], 'characters': '\u2AC8' },
+ '&supsub;': { 'codepoints': [0x02AD4], 'characters': '\u2AD4' },
+ '&supsup;': { 'codepoints': [0x02AD6], 'characters': '\u2AD6' },
+ '&swArr;': { 'codepoints': [0x021D9], 'characters': '\u21D9' },
+ '&swarhk;': { 'codepoints': [0x02926], 'characters': '\u2926' },
+ '&swarr;': { 'codepoints': [0x02199], 'characters': '\u2199' },
+ '&swarrow;': { 'codepoints': [0x02199], 'characters': '\u2199' },
+ '&swnwar;': { 'codepoints': [0x0292A], 'characters': '\u292A' },
+ '&szlig': { 'codepoints': [0x000DF], 'characters': '\xDF' },
+ '&szlig;': { 'codepoints': [0x000DF], 'characters': '\xDF' },
+ '&target;': { 'codepoints': [0x02316], 'characters': '\u2316' },
+ '&tau;': { 'codepoints': [0x003C4], 'characters': '\u03C4' },
+ '&tbrk;': { 'codepoints': [0x023B4], 'characters': '\u23B4' },
+ '&tcaron;': { 'codepoints': [0x00165], 'characters': '\u0165' },
+ '&tcedil;': { 'codepoints': [0x00163], 'characters': '\u0163' },
+ '&tcy;': { 'codepoints': [0x00442], 'characters': '\u0442' },
+ '&tdot;': { 'codepoints': [0x020DB], 'characters': '\u20DB' },
+ '&telrec;': { 'codepoints': [0x02315], 'characters': '\u2315' },
+ '&tfr;': { 'codepoints': [0x1D531], 'characters': '\uD835\uDD31' },
+ '&there4;': { 'codepoints': [0x02234], 'characters': '\u2234' },
+ '&therefore;': { 'codepoints': [0x02234], 'characters': '\u2234' },
+ '&theta;': { 'codepoints': [0x003B8], 'characters': '\u03B8' },
+ '&thetasym;': { 'codepoints': [0x003D1], 'characters': '\u03D1' },
+ '&thetav;': { 'codepoints': [0x003D1], 'characters': '\u03D1' },
+ '&thickapprox;': { 'codepoints': [0x02248], 'characters': '\u2248' },
+ '&thicksim;': { 'codepoints': [0x0223C], 'characters': '\u223C' },
+ '&thinsp;': { 'codepoints': [0x02009], 'characters': '\u2009' },
+ '&thkap;': { 'codepoints': [0x02248], 'characters': '\u2248' },
+ '&thksim;': { 'codepoints': [0x0223C], 'characters': '\u223C' },
+ '&thorn': { 'codepoints': [0x000FE], 'characters': '\xFE' },
+ '&thorn;': { 'codepoints': [0x000FE], 'characters': '\xFE' },
+ '&tilde;': { 'codepoints': [0x002DC], 'characters': '\u02DC' },
+ '&times': { 'codepoints': [0x000D7], 'characters': '\xD7' },
+ '&times;': { 'codepoints': [0x000D7], 'characters': '\xD7' },
+ '&timesb;': { 'codepoints': [0x022A0], 'characters': '\u22A0' },
+ '&timesbar;': { 'codepoints': [0x02A31], 'characters': '\u2A31' },
+ '&timesd;': { 'codepoints': [0x02A30], 'characters': '\u2A30' },
+ '&tint;': { 'codepoints': [0x0222D], 'characters': '\u222D' },
+ '&toea;': { 'codepoints': [0x02928], 'characters': '\u2928' },
+ '&top;': { 'codepoints': [0x022A4], 'characters': '\u22A4' },
+ '&topbot;': { 'codepoints': [0x02336], 'characters': '\u2336' },
+ '&topcir;': { 'codepoints': [0x02AF1], 'characters': '\u2AF1' },
+ '&topf;': { 'codepoints': [0x1D565], 'characters': '\uD835\uDD65' },
+ '&topfork;': { 'codepoints': [0x02ADA], 'characters': '\u2ADA' },
+ '&tosa;': { 'codepoints': [0x02929], 'characters': '\u2929' },
+ '&tprime;': { 'codepoints': [0x02034], 'characters': '\u2034' },
+ '&trade;': { 'codepoints': [0x02122], 'characters': '\u2122' },
+ '&triangle;': { 'codepoints': [0x025B5], 'characters': '\u25B5' },
+ '&triangledown;': { 'codepoints': [0x025BF], 'characters': '\u25BF' },
+ '&triangleleft;': { 'codepoints': [0x025C3], 'characters': '\u25C3' },
+ '&trianglelefteq;': { 'codepoints': [0x022B4], 'characters': '\u22B4' },
+ '&triangleq;': { 'codepoints': [0x0225C], 'characters': '\u225C' },
+ '&triangleright;': { 'codepoints': [0x025B9], 'characters': '\u25B9' },
+ '&trianglerighteq;': { 'codepoints': [0x022B5], 'characters': '\u22B5' },
+ '&tridot;': { 'codepoints': [0x025EC], 'characters': '\u25EC' },
+ '&trie;': { 'codepoints': [0x0225C], 'characters': '\u225C' },
+ '&triminus;': { 'codepoints': [0x02A3A], 'characters': '\u2A3A' },
+ '&triplus;': { 'codepoints': [0x02A39], 'characters': '\u2A39' },
+ '&trisb;': { 'codepoints': [0x029CD], 'characters': '\u29CD' },
+ '&tritime;': { 'codepoints': [0x02A3B], 'characters': '\u2A3B' },
+ '&trpezium;': { 'codepoints': [0x023E2], 'characters': '\u23E2' },
+ '&tscr;': { 'codepoints': [0x1D4C9], 'characters': '\uD835\uDCC9' },
+ '&tscy;': { 'codepoints': [0x00446], 'characters': '\u0446' },
+ '&tshcy;': { 'codepoints': [0x0045B], 'characters': '\u045B' },
+ '&tstrok;': { 'codepoints': [0x00167], 'characters': '\u0167' },
+ '&twixt;': { 'codepoints': [0x0226C], 'characters': '\u226C' },
+ '&twoheadleftarrow;': { 'codepoints': [0x0219E], 'characters': '\u219E' },
+ '&twoheadrightarrow;': { 'codepoints': [0x021A0], 'characters': '\u21A0' },
+ '&uArr;': { 'codepoints': [0x021D1], 'characters': '\u21D1' },
+ '&uHar;': { 'codepoints': [0x02963], 'characters': '\u2963' },
+ '&uacute': { 'codepoints': [0x000FA], 'characters': '\xFA' },
+ '&uacute;': { 'codepoints': [0x000FA], 'characters': '\xFA' },
+ '&uarr;': { 'codepoints': [0x02191], 'characters': '\u2191' },
+ '&ubrcy;': { 'codepoints': [0x0045E], 'characters': '\u045E' },
+ '&ubreve;': { 'codepoints': [0x0016D], 'characters': '\u016D' },
+ '&ucirc': { 'codepoints': [0x000FB], 'characters': '\xFB' },
+ '&ucirc;': { 'codepoints': [0x000FB], 'characters': '\xFB' },
+ '&ucy;': { 'codepoints': [0x00443], 'characters': '\u0443' },
+ '&udarr;': { 'codepoints': [0x021C5], 'characters': '\u21C5' },
+ '&udblac;': { 'codepoints': [0x00171], 'characters': '\u0171' },
+ '&udhar;': { 'codepoints': [0x0296E], 'characters': '\u296E' },
+ '&ufisht;': { 'codepoints': [0x0297E], 'characters': '\u297E' },
+ '&ufr;': { 'codepoints': [0x1D532], 'characters': '\uD835\uDD32' },
+ '&ugrave': { 'codepoints': [0x000F9], 'characters': '\xF9' },
+ '&ugrave;': { 'codepoints': [0x000F9], 'characters': '\xF9' },
+ '&uharl;': { 'codepoints': [0x021BF], 'characters': '\u21BF' },
+ '&uharr;': { 'codepoints': [0x021BE], 'characters': '\u21BE' },
+ '&uhblk;': { 'codepoints': [0x02580], 'characters': '\u2580' },
+ '&ulcorn;': { 'codepoints': [0x0231C], 'characters': '\u231C' },
+ '&ulcorner;': { 'codepoints': [0x0231C], 'characters': '\u231C' },
+ '&ulcrop;': { 'codepoints': [0x0230F], 'characters': '\u230F' },
+ '&ultri;': { 'codepoints': [0x025F8], 'characters': '\u25F8' },
+ '&umacr;': { 'codepoints': [0x0016B], 'characters': '\u016B' },
+ '&uml': { 'codepoints': [0x000A8], 'characters': '\xA8' },
+ '&uml;': { 'codepoints': [0x000A8], 'characters': '\xA8' },
+ '&uogon;': { 'codepoints': [0x00173], 'characters': '\u0173' },
+ '&uopf;': { 'codepoints': [0x1D566], 'characters': '\uD835\uDD66' },
+ '&uparrow;': { 'codepoints': [0x02191], 'characters': '\u2191' },
+ '&updownarrow;': { 'codepoints': [0x02195], 'characters': '\u2195' },
+ '&upharpoonleft;': { 'codepoints': [0x021BF], 'characters': '\u21BF' },
+ '&upharpoonright;': { 'codepoints': [0x021BE], 'characters': '\u21BE' },
+ '&uplus;': { 'codepoints': [0x0228E], 'characters': '\u228E' },
+ '&upsi;': { 'codepoints': [0x003C5], 'characters': '\u03C5' },
+ '&upsih;': { 'codepoints': [0x003D2], 'characters': '\u03D2' },
+ '&upsilon;': { 'codepoints': [0x003C5], 'characters': '\u03C5' },
+ '&upuparrows;': { 'codepoints': [0x021C8], 'characters': '\u21C8' },
+ '&urcorn;': { 'codepoints': [0x0231D], 'characters': '\u231D' },
+ '&urcorner;': { 'codepoints': [0x0231D], 'characters': '\u231D' },
+ '&urcrop;': { 'codepoints': [0x0230E], 'characters': '\u230E' },
+ '&uring;': { 'codepoints': [0x0016F], 'characters': '\u016F' },
+ '&urtri;': { 'codepoints': [0x025F9], 'characters': '\u25F9' },
+ '&uscr;': { 'codepoints': [0x1D4CA], 'characters': '\uD835\uDCCA' },
+ '&utdot;': { 'codepoints': [0x022F0], 'characters': '\u22F0' },
+ '&utilde;': { 'codepoints': [0x00169], 'characters': '\u0169' },
+ '&utri;': { 'codepoints': [0x025B5], 'characters': '\u25B5' },
+ '&utrif;': { 'codepoints': [0x025B4], 'characters': '\u25B4' },
+ '&uuarr;': { 'codepoints': [0x021C8], 'characters': '\u21C8' },
+ '&uuml': { 'codepoints': [0x000FC], 'characters': '\xFC' },
+ '&uuml;': { 'codepoints': [0x000FC], 'characters': '\xFC' },
+ '&uwangle;': { 'codepoints': [0x029A7], 'characters': '\u29A7' },
+ '&vArr;': { 'codepoints': [0x021D5], 'characters': '\u21D5' },
+ '&vBar;': { 'codepoints': [0x02AE8], 'characters': '\u2AE8' },
+ '&vBarv;': { 'codepoints': [0x02AE9], 'characters': '\u2AE9' },
+ '&vDash;': { 'codepoints': [0x022A8], 'characters': '\u22A8' },
+ '&vangrt;': { 'codepoints': [0x0299C], 'characters': '\u299C' },
+ '&varepsilon;': { 'codepoints': [0x003F5], 'characters': '\u03F5' },
+ '&varkappa;': { 'codepoints': [0x003F0], 'characters': '\u03F0' },
+ '&varnothing;': { 'codepoints': [0x02205], 'characters': '\u2205' },
+ '&varphi;': { 'codepoints': [0x003D5], 'characters': '\u03D5' },
+ '&varpi;': { 'codepoints': [0x003D6], 'characters': '\u03D6' },
+ '&varpropto;': { 'codepoints': [0x0221D], 'characters': '\u221D' },
+ '&varr;': { 'codepoints': [0x02195], 'characters': '\u2195' },
+ '&varrho;': { 'codepoints': [0x003F1], 'characters': '\u03F1' },
+ '&varsigma;': { 'codepoints': [0x003C2], 'characters': '\u03C2' },
+ '&varsubsetneq;': { 'codepoints': [0x0228A, 0x0FE00], 'characters': '\u228A\uFE00' },
+ '&varsubsetneqq;': { 'codepoints': [0x02ACB, 0x0FE00], 'characters': '\u2ACB\uFE00' },
+ '&varsupsetneq;': { 'codepoints': [0x0228B, 0x0FE00], 'characters': '\u228B\uFE00' },
+ '&varsupsetneqq;': { 'codepoints': [0x02ACC, 0x0FE00], 'characters': '\u2ACC\uFE00' },
+ '&vartheta;': { 'codepoints': [0x003D1], 'characters': '\u03D1' },
+ '&vartriangleleft;': { 'codepoints': [0x022B2], 'characters': '\u22B2' },
+ '&vartriangleright;': { 'codepoints': [0x022B3], 'characters': '\u22B3' },
+ '&vcy;': { 'codepoints': [0x00432], 'characters': '\u0432' },
+ '&vdash;': { 'codepoints': [0x022A2], 'characters': '\u22A2' },
+ '&vee;': { 'codepoints': [0x02228], 'characters': '\u2228' },
+ '&veebar;': { 'codepoints': [0x022BB], 'characters': '\u22BB' },
+ '&veeeq;': { 'codepoints': [0x0225A], 'characters': '\u225A' },
+ '&vellip;': { 'codepoints': [0x022EE], 'characters': '\u22EE' },
+ '&verbar;': { 'codepoints': [0x0007C], 'characters': '\x7C' },
+ '&vert;': { 'codepoints': [0x0007C], 'characters': '\x7C' },
+ '&vfr;': { 'codepoints': [0x1D533], 'characters': '\uD835\uDD33' },
+ '&vltri;': { 'codepoints': [0x022B2], 'characters': '\u22B2' },
+ '&vnsub;': { 'codepoints': [0x02282, 0x020D2], 'characters': '\u2282\u20D2' },
+ '&vnsup;': { 'codepoints': [0x02283, 0x020D2], 'characters': '\u2283\u20D2' },
+ '&vopf;': { 'codepoints': [0x1D567], 'characters': '\uD835\uDD67' },
+ '&vprop;': { 'codepoints': [0x0221D], 'characters': '\u221D' },
+ '&vrtri;': { 'codepoints': [0x022B3], 'characters': '\u22B3' },
+ '&vscr;': { 'codepoints': [0x1D4CB], 'characters': '\uD835\uDCCB' },
+ '&vsubnE;': { 'codepoints': [0x02ACB, 0x0FE00], 'characters': '\u2ACB\uFE00' },
+ '&vsubne;': { 'codepoints': [0x0228A, 0x0FE00], 'characters': '\u228A\uFE00' },
+ '&vsupnE;': { 'codepoints': [0x02ACC, 0x0FE00], 'characters': '\u2ACC\uFE00' },
+ '&vsupne;': { 'codepoints': [0x0228B, 0x0FE00], 'characters': '\u228B\uFE00' },
+ '&vzigzag;': { 'codepoints': [0x0299A], 'characters': '\u299A' },
+ '&wcirc;': { 'codepoints': [0x00175], 'characters': '\u0175' },
+ '&wedbar;': { 'codepoints': [0x02A5F], 'characters': '\u2A5F' },
+ '&wedge;': { 'codepoints': [0x02227], 'characters': '\u2227' },
+ '&wedgeq;': { 'codepoints': [0x02259], 'characters': '\u2259' },
+ '&weierp;': { 'codepoints': [0x02118], 'characters': '\u2118' },
+ '&wfr;': { 'codepoints': [0x1D534], 'characters': '\uD835\uDD34' },
+ '&wopf;': { 'codepoints': [0x1D568], 'characters': '\uD835\uDD68' },
+ '&wp;': { 'codepoints': [0x02118], 'characters': '\u2118' },
+ '&wr;': { 'codepoints': [0x02240], 'characters': '\u2240' },
+ '&wreath;': { 'codepoints': [0x02240], 'characters': '\u2240' },
+ '&wscr;': { 'codepoints': [0x1D4CC], 'characters': '\uD835\uDCCC' },
+ '&xcap;': { 'codepoints': [0x022C2], 'characters': '\u22C2' },
+ '&xcirc;': { 'codepoints': [0x025EF], 'characters': '\u25EF' },
+ '&xcup;': { 'codepoints': [0x022C3], 'characters': '\u22C3' },
+ '&xdtri;': { 'codepoints': [0x025BD], 'characters': '\u25BD' },
+ '&xfr;': { 'codepoints': [0x1D535], 'characters': '\uD835\uDD35' },
+ '&xhArr;': { 'codepoints': [0x027FA], 'characters': '\u27FA' },
+ '&xharr;': { 'codepoints': [0x027F7], 'characters': '\u27F7' },
+ '&xi;': { 'codepoints': [0x003BE], 'characters': '\u03BE' },
+ '&xlArr;': { 'codepoints': [0x027F8], 'characters': '\u27F8' },
+ '&xlarr;': { 'codepoints': [0x027F5], 'characters': '\u27F5' },
+ '&xmap;': { 'codepoints': [0x027FC], 'characters': '\u27FC' },
+ '&xnis;': { 'codepoints': [0x022FB], 'characters': '\u22FB' },
+ '&xodot;': { 'codepoints': [0x02A00], 'characters': '\u2A00' },
+ '&xopf;': { 'codepoints': [0x1D569], 'characters': '\uD835\uDD69' },
+ '&xoplus;': { 'codepoints': [0x02A01], 'characters': '\u2A01' },
+ '&xotime;': { 'codepoints': [0x02A02], 'characters': '\u2A02' },
+ '&xrArr;': { 'codepoints': [0x027F9], 'characters': '\u27F9' },
+ '&xrarr;': { 'codepoints': [0x027F6], 'characters': '\u27F6' },
+ '&xscr;': { 'codepoints': [0x1D4CD], 'characters': '\uD835\uDCCD' },
+ '&xsqcup;': { 'codepoints': [0x02A06], 'characters': '\u2A06' },
+ '&xuplus;': { 'codepoints': [0x02A04], 'characters': '\u2A04' },
+ '&xutri;': { 'codepoints': [0x025B3], 'characters': '\u25B3' },
+ '&xvee;': { 'codepoints': [0x022C1], 'characters': '\u22C1' },
+ '&xwedge;': { 'codepoints': [0x022C0], 'characters': '\u22C0' },
+ '&yacute': { 'codepoints': [0x000FD], 'characters': '\xFD' },
+ '&yacute;': { 'codepoints': [0x000FD], 'characters': '\xFD' },
+ '&yacy;': { 'codepoints': [0x0044F], 'characters': '\u044F' },
+ '&ycirc;': { 'codepoints': [0x00177], 'characters': '\u0177' },
+ '&ycy;': { 'codepoints': [0x0044B], 'characters': '\u044B' },
+ '&yen': { 'codepoints': [0x000A5], 'characters': '\xA5' },
+ '&yen;': { 'codepoints': [0x000A5], 'characters': '\xA5' },
+ '&yfr;': { 'codepoints': [0x1D536], 'characters': '\uD835\uDD36' },
+ '&yicy;': { 'codepoints': [0x00457], 'characters': '\u0457' },
+ '&yopf;': { 'codepoints': [0x1D56A], 'characters': '\uD835\uDD6A' },
+ '&yscr;': { 'codepoints': [0x1D4CE], 'characters': '\uD835\uDCCE' },
+ '&yucy;': { 'codepoints': [0x0044E], 'characters': '\u044E' },
+ '&yuml': { 'codepoints': [0x000FF], 'characters': '\xFF' },
+ '&yuml;': { 'codepoints': [0x000FF], 'characters': '\xFF' },
+ '&zacute;': { 'codepoints': [0x0017A], 'characters': '\u017A' },
+ '&zcaron;': { 'codepoints': [0x0017E], 'characters': '\u017E' },
+ '&zcy;': { 'codepoints': [0x00437], 'characters': '\u0437' },
+ '&zdot;': { 'codepoints': [0x0017C], 'characters': '\u017C' },
+ '&zeetrf;': { 'codepoints': [0x02128], 'characters': '\u2128' },
+ '&zeta;': { 'codepoints': [0x003B6], 'characters': '\u03B6' },
+ '&zfr;': { 'codepoints': [0x1D537], 'characters': '\uD835\uDD37' },
+ '&zhcy;': { 'codepoints': [0x00436], 'characters': '\u0436' },
+ '&zigrarr;': { 'codepoints': [0x021DD], 'characters': '\u21DD' },
+ '&zopf;': { 'codepoints': [0x1D56B], 'characters': '\uD835\uDD6B' },
+ '&zscr;': { 'codepoints': [0x1D4CF], 'characters': '\uD835\uDCCF' },
+ '&zwj;': { 'codepoints': [0x0200D], 'characters': '\u200D' },
+ '&zwnj;': { 'codepoints': [0x0200C], 'characters': '\u200C' }
+};
diff --git a/testing/web-platform/tests/html/syntax/parsing/named-character-references.html b/testing/web-platform/tests/html/syntax/parsing/named-character-references.html
new file mode 100644
index 0000000000..d09915cd97
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/named-character-references.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Tests for known named character references</title>
+<meta name=viewport content="width=device-width">
+<!-- Alternative output: http://mathias.html5.org/tests/html/named-character-references/ -->
+<div id=log></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=named-character-references-data.js></script>
+<script>
+ (function() {
+
+ function pad(string, totalCharacters) {
+ return totalCharacters < string.length ? string : (Array(totalCharacters + 1).join('0') + string).slice(-totalCharacters);
+ }
+
+ var dummy = document.createElement('p');
+
+ Object.keys(data).forEach(function(entity) {
+ var object = data[entity];
+ dummy.innerHTML = entity;
+ test(
+ function() {
+ assert_equals(
+ dummy.textContent,
+ object.characters
+ );
+ },
+ entity + ' should match ' + object.codepoints.map(function(codePoint) {
+ return 'U+' + pad(codePoint.toString(16).toUpperCase(), 5);
+ }).join(' ')
+ );
+ });
+
+ }());
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/no-doctype-name.html b/testing/web-platform/tests/html/syntax/parsing/no-doctype-name.html
new file mode 100644
index 0000000000..cfd57e41d9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/no-doctype-name.html
@@ -0,0 +1,22 @@
+<!doctype>
+<meta charset=utf-8>
+<title>Doctype without root name should have empty-string name in the DOM even if null in the tokenizer spec.</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+setup({explicit_done:true});
+window.onload = function() {
+ test(function () {
+ assert_equals(document.doctype.name, "", "Top-level");
+ let iframes = document.getElementsByTagName("iframe");
+ for (let i = 0; i < iframes.length; ++i) {
+ let iframe = iframes[i];
+ assert_equals(iframe.contentDocument.doctype.name, "", iframe.title);
+ }
+ }, "Doctype without root name should have the empty string as the name.");
+ done();
+}
+</script>
+<iframe src="support/no-doctype-name-space.html" title='space'></iframe>
+<iframe src="support/no-doctype-name-line.html" title='line'></iframe>
+<iframe src="support/no-doctype-name-eof.html" title='eof'></iframe>
diff --git a/testing/web-platform/tests/html/syntax/parsing/quotes-in-meta.html b/testing/web-platform/tests/html/syntax/parsing/quotes-in-meta.html
new file mode 100644
index 0000000000..3d1eaf02a2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/quotes-in-meta.html
@@ -0,0 +1,12 @@
+<!doctype html>
+<meta http-equiv="Content-Type" content='charset="windows-1251'>
+<meta charset=windows-1250>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<link rel=help href="https://html.spec.whatwg.org/#algorithm-for-extracting-a-character-encoding-from-a-meta-element">
+<script>
+test(function() {
+ assert_equals(document.characterSet, "windows-1250");
+});
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/support/DOMContentLoaded-defer.js b/testing/web-platform/tests/html/syntax/parsing/support/DOMContentLoaded-defer.js
new file mode 100644
index 0000000000..35ce9327bf
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/support/DOMContentLoaded-defer.js
@@ -0,0 +1,14 @@
+t.step(function() {
+ assert_false(dcl, "DOMContentLoaded should not have fired before executing " +
+ "a defer script");
+
+ t.step_timeout(function() {
+ assert_false(dcl, "DOMContentLoaded should not have fired before " +
+ "executing a task queued from a defer script");
+ t.step_timeout(function() {
+ assert_true(dcl, "DOMContentLoaded should have fired in a task that " +
+ "was queued after the DOMContentLoaded task was queued");
+ t.done();
+ }, 0);
+ }, 0);
+});
diff --git a/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-eof.html b/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-eof.html
new file mode 100644
index 0000000000..b7717521bb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-eof.html
@@ -0,0 +1 @@
+<!DOCTYPE \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-line.html b/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-line.html
new file mode 100644
index 0000000000..ba90711872
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-line.html
@@ -0,0 +1,2 @@
+<!DOCTYPE
+>
diff --git a/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-space.html b/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-space.html
new file mode 100644
index 0000000000..f8391aa102
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/support/no-doctype-name-space.html
@@ -0,0 +1 @@
+<!DOCTYPE >
diff --git a/testing/web-platform/tests/html/syntax/parsing/support/svg-script-self-closing.js b/testing/web-platform/tests/html/syntax/parsing/support/svg-script-self-closing.js
new file mode 100644
index 0000000000..6dd286e7bc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/support/svg-script-self-closing.js
@@ -0,0 +1 @@
+scriptSelfClosing = true;
diff --git a/testing/web-platform/tests/html/syntax/parsing/template.js b/testing/web-platform/tests/html/syntax/parsing/template.js
new file mode 100644
index 0000000000..b249fb64c7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template.js
@@ -0,0 +1,214 @@
+ /*
+ * Template code
+ *
+ * A template is just a javascript structure. An element is represented as:
+ *
+ * [tag_name, {attr_name:attr_value}, child1, child2]
+ *
+ * the children can either be strings (which act like text nodes), other templates or
+ * functions (see below)
+ *
+ * A text node is represented as
+ *
+ * ["{text}", value]
+ *
+ * String values have a simple substitution syntax; ${foo} represents a variable foo.
+ *
+ * It is possible to embed logic in templates by using a function in a place where a
+ * node would usually go. The function must either return part of a template or null.
+ *
+ * In cases where a set of nodes are required as output rather than a single node
+ * with children it is possible to just use a list
+ * [node1, node2, node3]
+ *
+ * Usage:
+ *
+ * render(template, substitutions) - take a template and an object mapping
+ * variable names to parameters and return either a DOM node or a list of DOM nodes
+ *
+ * substitute(template, substitutions) - take a template and variable mapping object,
+ * make the variable substitutions and return the substituted template
+ *
+ */
+
+ function is_single_node(template)
+ {
+ return typeof template[0] === "string";
+ }
+
+ function substitute(template, substitutions)
+ {
+ if (typeof template === "function") {
+ var replacement = template(substitutions);
+ if (replacement)
+ {
+ var rv = substitute(replacement, substitutions);
+ return rv;
+ }
+ else
+ {
+ return null;
+ }
+ }
+ else if (is_single_node(template))
+ {
+ return substitute_single(template, substitutions);
+ }
+ else
+ {
+ return filter(map(template, function(x) {
+ return substitute(x, substitutions);
+ }), function(x) {return x !== null;});
+ }
+ }
+ expose(substitute, "template.substitute");
+
+ function substitute_single(template, substitutions)
+ {
+ var substitution_re = /\${([^ }]*)}/g;
+
+ function do_substitution(input) {
+ var components = input.split(substitution_re);
+ var rv = [];
+ for (var i=0; i<components.length; i+=2)
+ {
+ rv.push(components[i]);
+ if (components[i+1])
+ {
+ rv.push(substitutions[components[i+1]]);
+ }
+ }
+ return rv;
+ }
+
+ var rv = [];
+ rv.push(do_substitution(String(template[0])).join(""));
+
+ if (template[0] === "{text}") {
+ substitute_children(template.slice(1), rv);
+ } else {
+ substitute_attrs(template[1], rv);
+ substitute_children(template.slice(2), rv);
+ }
+
+ function substitute_attrs(attrs, rv)
+ {
+ rv[1] = {};
+ for (name in template[1])
+ {
+ if (attrs.hasOwnProperty(name))
+ {
+ var new_name = do_substitution(name).join("");
+ var new_value = do_substitution(attrs[name]).join("");
+ rv[1][new_name] = new_value;
+ };
+ }
+ }
+
+ function substitute_children(children, rv)
+ {
+ for (var i=0; i<children.length; i++)
+ {
+ if (children[i] instanceof Object) {
+ var replacement = substitute(children[i], substitutions);
+ if (replacement !== null)
+ {
+ if (is_single_node(replacement))
+ {
+ rv.push(replacement);
+ }
+ else
+ {
+ extend(rv, replacement);
+ }
+ }
+ }
+ else
+ {
+ extend(rv, do_substitution(String(children[i])));
+ }
+ }
+ return rv;
+ }
+
+ return rv;
+ }
+
+ function make_dom_single(template)
+ {
+ if (template[0] === "{text}")
+ {
+ var element = document.createTextNode("");
+ for (var i=1; i<template.length; i++)
+ {
+ element.data += template[i];
+ }
+ }
+ else
+ {
+ var element = document.createElement(template[0]);
+ for (name in template[1]) {
+ if (template[1].hasOwnProperty(name))
+ {
+ element.setAttribute(name, template[1][name]);
+ }
+ }
+ for (var i=2; i<template.length; i++)
+ {
+ if (template[i] instanceof Object)
+ {
+ var sub_element = make_dom(template[i]);
+ element.appendChild(sub_element);
+ }
+ else
+ {
+ var text_node = document.createTextNode(template[i]);
+ element.appendChild(text_node);
+ }
+ }
+ }
+
+ return element;
+ }
+
+
+
+ function make_dom(template, substitutions)
+ {
+ if (is_single_node(template))
+ {
+ return make_dom_single(template);
+ }
+ else
+ {
+ return map(template, function(x) {
+ return make_dom_single(x);
+ });
+ }
+ }
+
+ function render(template, substitutions)
+ {
+ return make_dom(substitute(template, substitutions));
+ }
+ expose(render, "template.render");
+
+function expose(object, name)
+{
+ var components = name.split(".");
+ var target = window;
+ for (var i=0; i<components.length - 1; i++)
+ {
+ if (!(components[i] in target))
+ {
+ target[components[i]] = {};
+ }
+ target = target[components[i]];
+ }
+ target[components[components.length - 1]] = object;
+}
+
+function extend(array, items)
+{
+ Array.prototype.push.apply(array, items);
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element.html
new file mode 100644
index 0000000000..6f6e7a7255
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: Template is a foster parent element</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="The last template element with either no table element is below it, or a table element immediately below it, in the stack of open elements is the foster parent element (NOT the template's parent!)">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#foster-parent-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '' +
+ '<div id="tmplParent">' +
+ '<template id="tmpl1">' +
+ '<table id="tbl">' +
+ '<tr><td>Cell 1</td></tr>' +
+ // Misplaced <div>. It should be foster parented
+ '<div id="orphanDiv">Orphan div content</div>' +
+ '<tr><td>Cell 2</td></tr>' +
+ '</table>' +
+ '</template>' +
+ '</div>';
+
+ var template = doc.querySelector('#tmpl1');
+ var div = template.content.querySelector('#orphanDiv');
+
+ assert_equals(div.parentNode, template.content, 'Wrong foster parent element');
+
+}, 'Template is a foster parent element. Test <table> immediately below <template>');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '' +
+ '<div id="tmplParent">' +
+ '<template id="tmpl1">' +
+ '<tr><td>Cell 1</td></tr>' +
+ // Misplaced <div>. It should be foster parented
+ '<div id="orphanDiv">Orphan div content</div>' +
+ '<tr><td>Cell 2</td></tr>' +
+ '</template>' +
+ '</div>';
+
+ var template = doc.querySelector('#tmpl1');
+ var div = template.content.querySelector('#orphanDiv');
+
+ assert_equals(div.parentNode, template.content, 'Wrong foster parent element');
+
+}, 'Template is a foster parent element. Test <template> element without <table>');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html
new file mode 100644
index 0000000000..677dfaf3ef
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: Template is not a foster parent element</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="When template element shouldn't be a foster parent then regular rules of foster parenting should be applied">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#foster-parent-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '' +
+ '<div id="tmplParent">' +
+ '<template id="tmpl1">' +
+ '<div id="fosterParent">' +
+ '<table id="tbl">' +
+ '<tr><td>Cell 1</td></tr>' +
+ // Misplaced <div>. It should be foster parented
+ '<div id="orphanDiv">Orphan div content</div>' +
+ '<tr><td>Cell 2</td></tr>' +
+ '</table>' +
+ '</div>' +
+ '</template>' +
+ '</div>';
+
+ var template = doc.querySelector('#tmpl1');
+ var fosterParent = template.content.querySelector('#fosterParent');
+ var div = template.content.querySelector('#orphanDiv');
+
+ assert_equals(div.parentNode, fosterParent, 'Wrong foster parent element');
+
+}, 'Template is not a foster parent element. '
+ + 'Test the case when <template> is higher in stack of open elements');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '' +
+ '<div id="fosterParent">' +
+ '<table id="tbl">' +
+ '<tr><td><template id="tmpl1">Template content</template></td></tr>' +
+ // Misplaced <div>. It should be foster parented
+ '<div id="orphanDiv">Orphan div content</div>' +
+ '<tr><td>Cell 2</td></tr>' +
+ '</table>' +
+ '</div>' +
+ '</div>';
+
+ var t = doc.querySelector('#tmpl1');
+ var fosterParent = doc.querySelector('#fosterParent');
+ var div = doc.querySelector('#orphanDiv');
+
+ assert_equals(div.parentNode, fosterParent, 'Wrong foster parent element');
+
+}, 'Template is not a foster parent element. '
+ + 'Test the case when <template> is lower in stack of open elements');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html
new file mode 100644
index 0000000000..6edce84ef2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: 'In body' insertion mode: when template end tag is met, implied end tags should be generated</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
+<meta name="assert" content="'In body' insertion mode: when template end tag is met, implied end tags should be generated">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ //No end </td></tr></table> tags. Should be added implicitly
+ doc.body.innerHTML = '<template id="tpl">'
+ + '<table id="tbl"><tr id="tr"><td id="td"></template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(doc.querySelector('#tbl'), null, 'Table element should not be available');
+ assert_equals(doc.querySelector('#tr'), null, 'TR element should not be available');
+ assert_equals(doc.querySelector('#td'), null, 'TD element should not be available');
+
+ assert_not_equals(template.content.querySelector('#tbl'), null,
+ 'Template should contain table element');
+ assert_not_equals(template.content.querySelector('#tr'), null,
+ 'Template should contain TR element');
+ assert_not_equals(template.content.querySelector('#td'), null,
+ 'Template should contain TD element');
+
+}, 'Generating of implied end tags. Test table elements');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ //No end </div> tag. Should be added implicitly
+ doc.body.innerHTML = '<template id="tpl"><div id="dv">Div content</template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(doc.querySelector('#dv'), null, 'DIV element should not be available');
+
+ assert_not_equals(template.content.querySelector('#dv'), null,
+ 'Template should contain DIV element');
+
+}, 'Generating of implied end tags. Test div element');
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ //No end </div> tag. Should be added implicitly after text content
+ doc.body.innerHTML = '<template id="tpl">Template text<div id="dv">Div content</template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(doc.querySelector('#dv'), null, 'DIV element should not be available');
+
+ var div = template.content.querySelector('#dv');
+
+ assert_not_equals( div, null, 'Template should contain DIV element');
+ assert_equals(div.textContent, 'Div content', 'Wrong template content inner text');
+
+}, 'Generating of implied end tags. Test some text and DIV element');
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ // Wrong end tag. Correct end tag must be added implicitly, wrong one ignored
+ doc.body.innerHTML = '<template id="tpl"><div id="dv">Div content</span></template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Wrong number of template\'s children');
+
+ assert_equals(doc.querySelector('#dv'), null, 'DIV element should not be available');
+
+ assert_not_equals(template.content.querySelector('#dv'), null,
+ 'Template should contain DIV element');
+ assert_equals(template.content.querySelector('#dv').textContent,
+ 'Div content', 'Wrong template content inner text');
+
+}, 'Generating of implied end tags. Test wrong end tag');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_not_equals(template.content.querySelector('table'), null,
+ 'Template should contain table element');
+ assert_not_equals(template.content.querySelector('tr'), null,
+ 'Template should contain TR element');
+ assert_not_equals(template.content.querySelector('td'), null,
+ 'Template should contain TD element');
+
+}, 'Generating of implied end tags. Test table elements. Loading of HTML document from a file');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ var div = template.content.querySelector('div');
+ assert_not_equals(div, null, 'Template should contain div element');
+ assert_equals(div.textContent, 'Hello, template\n ', 'Invalid div contents');
+
+}, 'Generating of implied end tags. Test div element. Loading of HTML document from a file');
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html
new file mode 100644
index 0000000000..4549f5fecc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: In body insertion mode: parser should ignore BODY token</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
+<meta name="assert" content="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+/*
+ * According to http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-contents-insertion-mode
+ * when parser is in "template content" mode and meets <body> tag it should be switched to
+ * "in body" insertion mode.
+ * According to http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition
+ * this token (BODY) should be ignored
+ */
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<body></body>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain BODY element');
+
+}, 'Ignore BODY token. Test empty BODY element assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<body><div>Some content</div></body>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Wrong number of template content children');
+ assert_equals(template.content.firstChild.nodeName, 'DIV',
+ 'Template should contain children of ignored BODY element');
+
+}, 'Ignore BODY token. Test not empty BODY element assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<body><div <div id="div1">Some content</div></body><div id="div2">Some valid content</div>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 2,
+ 'Wrong number of template content children');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain children of the ignored BODY element');
+ assert_not_equals(template.content.querySelector('#div2'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore BODY token. '
+ + 'Test BODY element and some valid element after BODY tag assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<div id="div1">Some valid content</div><body><div id="div2">Some content</div></body>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 2,
+ 'Template cannot contain BODY element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+ assert_not_equals(template.content.querySelector('#div2'), null,
+ 'Template should contain children of the ignored BODY element');
+
+}, 'Ignore BODY token. '
+ + 'Test BODY element and some valid element before BODY tag assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<template id="t2"><body><span>Body!<span></body></template>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template should contain nested template');
+ assert_not_equals(template.content.querySelector('#t2'), null,
+ 'Template should contain nested element');
+
+ var nestedTemplate = template.content.querySelector('#t2');
+
+ assert_equals(nestedTemplate.content.childNodes.length, 1,
+ 'Template cannot contain BODY element');
+ assert_equals(nestedTemplate.content.firstChild.nodeName, 'SPAN',
+ 'Template cannot contain BODY element');
+
+}, 'Ignore BODY token. '
+ + 'Test template with not empty BODY element inside assigned to another '
+ + 'template\'s innerHTML');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain BODY element');
+
+}, 'Ignore BODY token. '
+ + 'Test loading a HTML file with BODY tag inside template');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html
new file mode 100644
index 0000000000..121115075d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: In body insertion mode: parser should ignore FRAMESET token</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
+<meta name="assert" content="If parser is in 'in body' insertion mode and meets HTML token it should be ignored">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+/*
+ * According to http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-contents-insertion-mode
+ * when parser is in "template content" mode and meets <frameset> tag it should be switched to
+ * "in body" insertion mode.
+ * According to https://html.spec.whatwg.org/multipage/#parsing-main-inbody
+ * this token (FRAMESET) should be ignored
+ */
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<frameset cols="25%,*,25%">'
+ + '<frame src="frame_a.htm">'
+ + '<frame src="frame_b.htm">' + '<frame src="frame_c.htm">'
+ + '</frameset>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain FRAMESET element');
+
+}, 'Ignore frameset token. Test FRAMESET element assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<div id="div1">Some text</div>'
+ + '<frameset cols="25%,*,25%">'
+ + '<frame src="frame_a.htm">'
+ + '<frame src="frame_b.htm">'
+ + '<frame src="frame_c.htm">'
+ + '</frameset>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template cannot contain FRAMESET element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore frameset token. '
+ + 'Test FRAMESET element and some valid element before it, assigned '
+ + 'to the template\'s innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<frameset cols="25%,*,25%">'
+ + '<frame src="frame_a.htm">'
+ + '<frame src="frame_b.htm">'
+ + '<frame src="frame_c.htm">'
+ + '</frameset><div id="div1">Some text</div>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template cannot contain FRAMESET element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore frameset token. '
+ + 'Test FRAMESET element and some valid element after it, assigned '
+ + 'to the template\'s innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<template id="t2">'
+ + '<frameset cols="25%,*,25%">'
+ + '<frame src="frame_a.htm">'
+ + '<frame src="frame_b.htm">'
+ + '<frame src="frame_c.htm">'
+ + '</frameset></template>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template should contain nested template');
+ assert_not_equals(template.content.querySelector('#t2'), null,
+ 'Template should contain nested element');
+
+ var nestedTemplate = template.content.querySelector('#t2');
+
+ assert_equals(nestedTemplate.content.childNodes.length, 0,
+ 'Template cannot contain FRAMESET element');
+
+}, 'Ignore frameset token. '
+ + 'Test FRAMESET tag inside template tag assigned to another template\'s innerHTML');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain FRAMESET element');
+}, 'Ignore frameset token. Test loading a HTML file with FRAMESET tag inside template');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html
new file mode 100644
index 0000000000..9b14df9177
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: In body insertion mode: parser should ignore HEAD token</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
+<meta name="assert" content="If parser is in 'in body' insertion mode and meets HEAD token it should be ignored">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+/*
+ * According to http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-contents-insertion-mode
+ * when parser is in "template content" mode and meets <head> tag it should be switched to
+ * "in body" insertion mode.
+ * According to https://html.spec.whatwg.org/multipage/#parsing-main-inbody
+ * this token (HEAD) should be ignored
+ */
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<head></head>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain HEAD element');
+
+}, 'Ignore HEAD token. Test empty HEAD element assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<head><title>test</title></head>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Wrong number of template content children');
+ assert_equals(template.content.firstChild.nodeName, 'TITLE',
+ 'Template should contain children of ignored HEAD element');
+
+}, 'Ignore HEAD token. Test not empty HEAD element assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<div id="div1">Some text</div><head><title>test</title></head>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 2,
+ 'Wrong number of template content children');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+ assert_equals(template.content.lastChild.tagName, 'TITLE',
+ 'Template should contain children of ignored HEAD element');
+
+}, 'Ignore HEAD token. '
+ + 'Test HEAD element and some valid element before it, assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<head><title>test</title></head><div id="div1">Some text</div>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 2,
+ 'Wrong number of template content children');
+ assert_equals(template.content.firstChild.tagName, 'TITLE',
+ 'Template should contain children of ignored HEAD element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore HEAD token. '
+ + 'Test HEAD element and some valid element after it, assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<template id="t2"><head><title>test</title></head></template>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template should contain nested template');
+ assert_not_equals(template.content.querySelector('#t2'), null,
+ 'Template should contain nested element');
+
+ var nestedTemplate = template.content.querySelector('#t2');
+
+ assert_equals(nestedTemplate.content.childNodes.length, 1,
+ 'Wrong number of template content children');
+ assert_equals(nestedTemplate.content.firstChild.tagName, 'TITLE',
+ 'Template should contain children of ignored HEAD element');
+
+}, 'Ignore HEAD token. '
+ + 'Test HEAD tag inside template tag assigned to another template\'s innerHTML');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain HEAD element');
+
+}, 'Ignore HEAD token. Test loading a HTML file with HEAD tag inside template');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html
new file mode 100644
index 0000000000..5c53be8425
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: In body insertion mode: parser should ignore HTML token</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
+<meta name="assert" content="If parser is in 'in body' insertion mode and meets HTML token it should be ignored">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+/*
+ * According to http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-contents-insertion-mode
+ * when parser is in "template content" mode and meets <html> tag it should be switched to
+ * "in body" insertion mode.
+ * According to https://html.spec.whatwg.org/multipage/#parsing-main-inbody
+ * this token (HTML) should be ignored
+ */
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<html><body></body></html>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain HTML element');
+
+}, 'Ignore HTML token. Test HTML element assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<div id="div1">Some text</div><html><body></body></html>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template cannot contain HTML element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore HTML token.'
+ + 'Test HTML element and some valid element before it, assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<html><body></body></html><div id="div1">Some text</div>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template cannot contain HTML element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore HTML token. '
+ + 'Test HEAD element and some valid element after it, assigned to template innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<template id="t2"><html><body></body></html></template>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template should contain nested template');
+ assert_not_equals(template.content.querySelector('#t2'), null,
+ 'Template should contain nested element');
+
+ var nestedTemplate = template.content.querySelector('#t2');
+
+ assert_equals(nestedTemplate.content.childNodes.length, 0,
+ 'Template cannot contain HTML element');
+
+}, 'Ignore HTML token. '
+ + 'Test HTML tag inside template tag assigned to another template\'s innerHTML');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<html><div id="div1">Some text</div></html>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template cannot contain HTML element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain a valid element');
+
+}, 'Ignore HTML token. Test some valid element inside HTML element');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<html><body><div id="div1">Some text</div><body></html>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Template cannot contain HTML element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid element');
+
+}, 'Ignore HTML token. Test valid element inside HTML and BODY elements');
+
+
+test(function() {
+ var doc = newHTMLDocument();
+ var template = doc.createElement('template');
+
+ template.innerHTML = '<html><span id="span1">Span</span><body><div id="div1">Some text</div><body></html>';
+
+ doc.body.appendChild(template);
+
+ assert_equals(template.content.childNodes.length, 2,
+ 'Template cannot contain HTML element');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Template should contain valid DIV element');
+
+ assert_not_equals(template.content.querySelector('#span1'), null,
+ 'Template should contain valid SPAN element');
+
+}, 'Ignore HTML token. Test valid element inside and between HTML and BODY elements');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ assert_equals(template.content.childNodes.length, 0,
+ 'Template cannot contain HTML element');
+
+}, 'Ignore HTML token. Test loading a HTML file with HTML tag inside template');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html
new file mode 100644
index 0000000000..738c86106a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: In body insertion mode: Template contains a start tag whose tag name is body</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="If the stack of open elements has a template element in html scope then ignore <body> the token. (fragment or template contents case)">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<template id="tmpl"><body></template>';
+
+ var template = doc.querySelector('#tmpl');
+
+ assert_equals(template.content.childNodes.length, 0, 'Element must be ignored');
+
+}, 'In body insertion mode: Template contains a start tag whose tag name is body.'
+ + 'Test <body> tag only');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<template id="tmpl"><body>Body text content</body></template>';
+
+ var template = doc.querySelector('#tmpl');
+
+ assert_equals(template.content.querySelector('body'), null,
+ '<body> element must be ignored');
+ assert_equals(template.content.childNodes.length, 1, 'Text shouldn\'t be ignored');
+ assert_equals(template.content.firstChild.nodeType, Node.TEXT_NODE,
+ 'Text shouldn\'t be ignored');
+
+}, 'In body insertion mode: Template contains a start tag whose tag name is body. '
+ + 'Test <body> tag containing some text');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<template id="tmpl"><body>'
+ + '<div id="div1">DIV 1</div>'
+ + '<div id="div2">DIV 2</div>'
+ + '</body></template>';
+
+ var template = doc.querySelector('#tmpl');
+
+ assert_equals(template.content.querySelector('body'), null,
+ '<body> element must be ignored');
+ assert_equals(template.content.childNodes.length, 2,
+ 'Only body tag should be ignored');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Children of <body tag shouldn\'t be ignored');
+ assert_not_equals(template.content.querySelector('#div2'), null,
+ 'Children of <body tag shouldn\'t be ignored');
+
+}, 'In body insertion mode: Template contains a start tag whose tag name is body. '
+ + 'Test <body> tag containing some other elements');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<template id="tmpl1"><template id="tmpl2"><body>'
+ + '<div id="div1">DIV 1</div>'
+ + '<div id="div2">DIV 2</div>'
+ + '</body></template></template>';
+
+ var template = doc.querySelector('#tmpl1').content.querySelector('#tmpl2');
+
+ assert_equals(template.content.querySelector('body'), null,
+ '<body> element must be ignored');
+ assert_equals(template.content.childNodes.length, 2,
+ 'Only body tag should be ignored');
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Children of <body tag shouldn\'t be ignored');
+ assert_not_equals(template.content.querySelector('#div2'), null,
+ 'Children of <body tag shouldn\'t be ignored');
+
+}, 'In body insertion mode: Template contains a start tag whose tag name is body. '
+ + 'Test nested template tag containing <body> tag with some other elements');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html
new file mode 100644
index 0000000000..33c43cd50c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: In body insertion mode: A start tag whose tag name is html</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="If HTML parser is in 'in body' insertion mode and meets HTML start tag, then for each attribute on the token, check to see if the attribute is already present on the top element of the stack of open elements. If it is not, add the attribute and its corresponding value to that element">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+// test <template><html class="htmlClass"></html></template><html id="htmlId" tabindex="5">
+// id attribute should be added to root <html> element
+// tabindex attribute should not be modified
+//class attribute should be ignored
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.body.querySelector('template');
+
+ var html = doc.documentElement;
+
+ assert_equals(html.getAttribute('tabindex'), '5', 'Attribute should be accessible');
+ assert_equals(html.getAttribute('id'), 'htmlId',
+ 'Attribute \'id\' should be added and accessible');
+ assert_false(html.hasAttribute('class'), 'Attribute \'class\' should be ignored');
+ assert_equals(template.content.childNodes.length, 0, 'Template should not contain HTML element');
+
+
+}, 'In body insertion mode: html start tag should add only absent attributes');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html
new file mode 100644
index 0000000000..ca124ee798
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: 'In body' insertion mode: Template end tag without start one. Element should be ignored</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
+<meta name="assert" content="If parser in 'in body' insertion mode meets template end tag and if the stack of open elements has no template element in html scope, then this is a parse error; ignore the token">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-body-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '</template>';
+
+ assert_equals(doc.body.childNodes.length, 0, 'Element must be ignored');
+
+}, '</template> tag in HTML body without start one should be ignored');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<template id="tmpl"></template></template>';
+
+ assert_equals(doc.body.childNodes.length, 1, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Element should present it document body');
+
+}, '</template> tag in HTML body without start one should be ignored. '
+ + 'Test valid <template> element and </template> tag after it');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '</template><template id="tmpl"></template>';
+
+ assert_equals(doc.body.childNodes.length, 1, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Element should present it document body');
+
+}, '</template> tag in HTML body without start one should be ignored. '
+ + 'Test valid <template> element and </template> tag before it');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '</template><template id="tmpl"></template><title></title>';
+
+ assert_equals(doc.body.childNodes.length, 2, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Valid element should present it document body');
+ assert_not_equals(doc.querySelector('title'), null,
+ 'Valid title element should present it document body');
+
+}, '</template> tag in HTML body without start one should be ignored. '
+ + 'Test valid <template> element, <title> element and </template> tag before them');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<template id="tmpl"></template><title></title></template>';
+
+ assert_equals(doc.body.childNodes.length, 2, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Valid element should present it document body');
+ assert_not_equals(doc.querySelector('title'), null,
+ 'Valid title element should present it document body');
+
+}, '</template> tag in HTML body without start one should be ignored. '
+ + 'Test valid <template> element, <title> element and </template> tag after them');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ assert_equals(doc.body.querySelector('template'), null,
+ '</template> must be ignored');
+ assert_not_equals(doc.body.querySelector('div'), null,
+ 'Valid element should present it document body');
+
+}, '</template> tag in HTML body without start one should be ignored. '
+ + 'Test HTML document loaded from file');
+
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html
new file mode 100644
index 0000000000..f03f5a30bc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: additions to 'in frameset' insertion mode</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="If parser is in 'in frameset' insertion mode then a start tag or an end tag whose name is 'template' is a parsing error">
+<link rel="help" href="https://www.w3.org/TR/2015/WD-html51-20151008/syntax.html#parsing-main-inframeset">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var frameset = doc.querySelector('frameset');
+ assert_equals(frameset.children.length, 0, 'Wrong number of frameset children elements');
+
+}, '<template> tag should be ignored in "in frameset" insertion mode');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html
new file mode 100644
index 0000000000..2f7e6f63c2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: When template end tag is met, implied end tags should be generated</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
+<meta name="assert" content="When template end tag is met, implied end tags should be generated">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-head-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ //No end </td></tr></table> tags. Should be added implicitly
+ doc.head.innerHTML = '<template id="tpl">'
+ + '<table id="tbl"><tr id="tr"><td id="td"></template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(doc.querySelector('#tbl'), null, 'Table element should not be available');
+ assert_equals(doc.querySelector('#tr'), null, 'TR element should not be available');
+ assert_equals(doc.querySelector('#td'), null, 'TD element should not be available');
+
+ assert_not_equals(template.content.querySelector('#tbl'), null,
+ 'Template should contain table element');
+ assert_not_equals(template.content.querySelector('#tr'), null,
+ 'Template should contain TR element');
+ assert_not_equals(template.content.querySelector('#td'), null,
+ 'Template should contain TD element');
+
+}, 'Generating of implied end tags. Test table elements');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ //No end </div> tag. Should be added implicitly
+ doc.head.innerHTML = '<template id="tpl"><div id="dv">Div content</template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(doc.querySelector('#dv'), null, 'DIV element should not be available');
+
+ assert_not_equals(template.content.querySelector('#dv'), null,
+ 'Template should contain DIV element');
+
+}, 'Generating of implied end tags. Test DIV element');
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ //No end </div> tag. Should be added implicitly after text content
+ doc.head.innerHTML = '<template id="tpl">Template text<div id="dv">Div content</template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(doc.querySelector('#dv'), null, 'DIV element should not be available');
+
+ var div = template.content.querySelector('#dv');
+
+ assert_not_equals( div, null, 'Template should contain DIV element');
+ assert_equals(div.textContent, 'Div content', 'Wrong template content inner text');
+
+}, 'Generating of implied end tags. Test some text and DIV element');
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ // Wrong end tag. Correct end tag must be added implicitly, wrong one ignored
+ doc.head.innerHTML = '<template id="tpl"><div id="dv">Div content</span></template>';
+
+ var template = doc.querySelector('#tpl');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ assert_equals(template.content.childNodes.length, 1,
+ 'Wrong number of template\'s children');
+
+ assert_equals(doc.querySelector('#dv'), null, 'DIV element should not be available');
+
+ assert_not_equals(template.content.querySelector('#dv'), null,
+ 'Template should contain DIV element');
+ assert_equals(template.content.querySelector('#dv').textContent,
+ 'Div content', 'Wrong template content inner text');
+
+}, 'Generating of implied end tags. Test wrong end tag');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.head.querySelector('template');
+
+ assert_not_equals(template, null,
+ 'Template element must be parsed');
+
+ assert_not_equals(template.content.querySelector('table'), null,
+ 'Template should contain table element');
+ assert_not_equals(template.content.querySelector('tr'), null,
+ 'Template should contain TR element');
+ assert_not_equals(template.content.querySelector('td'), null,
+ 'Template should contain TD element');
+
+}, 'Generating of implied end tags. Test table elements. Load HTML document from file');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.head.querySelector('template');
+
+ assert_not_equals(template, null, 'Template element must be parsed');
+
+ var div = template.content.querySelector('div');
+ assert_not_equals(div, null, 'Template should contain div element');
+ assert_equals(div.textContent, 'Hello, template\n ', 'Invalid div contents');
+
+}, 'Generating of implied end tags. Test div element. Load HTML document from file');
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html
new file mode 100644
index 0000000000..ccb43341bc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: Template end tag without start one. Element should be ignored</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
+<meta name="assert" content="If parser in 'in head' insertion mode meets template end tag and if the stack of open elements has no template element in html scope, then this is a parse error; ignore the token">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-head-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.head.innerHTML = '</template>';
+
+ assert_equals(doc.head.childNodes.length, 0, 'Element must be ignored');
+
+}, '</template> tag in HTML head without start one should be ignored');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.head.innerHTML = '<template id="tmpl"></template></template>';
+
+ assert_equals(doc.head.childNodes.length, 1, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Element should present it document head');
+
+}, '</template> tag in HTML head without start one should be ignored. '
+ + 'Test valid <template> element and </template> tag after it');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.head.innerHTML = '</template><template id="tmpl"></template>';
+
+ assert_equals(doc.head.childNodes.length, 1, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Element should present it document head');
+
+}, '</template> tag in HTML head without start one should be ignored. '
+ + 'Test valid <template> element and </template> tag before it');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.head.innerHTML = '</template><template id="tmpl"></template><title></title>';
+
+ assert_equals(doc.head.childNodes.length, 2, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Valid element should present it document head');
+ assert_not_equals(doc.querySelector('title'), null,
+ 'Valid title element should present it document head');
+
+}, '</template> tag in HTML head without start one should be ignored. '
+ + 'Test valid <template> element, <title> element and </template> tag before them');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.head.innerHTML = '<template id="tmpl"></template><title></title></template>';
+
+ assert_equals(doc.head.childNodes.length, 2, 'Element must be ignored');
+ assert_not_equals(doc.querySelector('#tmpl'), null,
+ 'Valid element should present it document head');
+ assert_not_equals(doc.querySelector('title'), null,
+ 'Valid title element should present it document head');
+
+}, '</template> tag in HTML head without start one should be ignored. '
+ + 'Test valid <template> element, <title> element and </template> tag after them');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ assert_equals(doc.head.querySelector('template'), null, '</template> must be ignored');
+ assert_not_equals(doc.head.querySelector('title'), null,
+ 'Valid element should present it document head');
+
+}, '</template> tag in HTML head without start one should be ignored. '
+ + 'Test HTML document loaded from file');
+
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html
new file mode 100644
index 0000000000..feb2eb1080
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: 'In table' insertion mode: ignore TABLE end tag</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="If parser is in 'in table' insertion mode and end tag table is met the ignore this token">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#in-table-addition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+
+ doc.body.innerHTML = '<table id="table">'
+ + '<template id="template">'
+ + '</table>'
+ + '</template>'
+ + '<tr><td></td></tr>'
+ + '</table>';
+
+ var table = doc.querySelector('#table');
+ var template = table.querySelector('#template');
+
+ assert_equals(table.childNodes.length, 2, 'Wrong number of table children');
+ assert_not_equals(template, null, 'Template element must be parsed');
+ assert_equals(table.rows.length, 1, 'Wrong number of table rows');
+ assert_equals(template.childNodes.length, 0, 'Wrong number of the template child nodes');
+ assert_equals(template.content.childNodes.length, 0,
+ 'Wrong number of the template child nodes');
+
+
+}, 'In table insertion mode. Ignore </table> token');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html b/testing/web-platform/tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html
new file mode 100644
index 0000000000..6292c35222
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: HTML parser appends child nodes only to the template contents node</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
+<meta name="assert" content="HTML parser must append template's child nodes only to the template contents node.">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#appending-to-a-template">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+ doc.body.innerHTML = '<template id="tmpl1">' +
+ '<div id="div1">This is div inside template</div>' +
+ '<div id="div2">This is another div inside template</div>' +
+ '</template>';
+
+ var template = doc.querySelector('#tmpl1');
+
+ assert_equals(template.childNodes.length, 0, 'Wrong number of template child nodes');
+ assert_equals(template.content.childNodes.length, 2,
+ 'Wrong number of template content child nodes');
+
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Element is absent in the template content');
+ assert_not_equals(template.content.querySelector('#div2'), null,
+ 'Element is absent in the template content');
+
+}, 'Template child nodes must be appended to template content node');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+ doc.body.innerHTML = '<template id="tmpl1">' +
+ '<div id="div1">This is div inside template</div>' +
+ '<div id="div2">This is another div inside template</div>' +
+ '<template id="tmpl2">' +
+ '<div id="div3">This is div inside nested template</div>' +
+ '<div id="div4">This is another div inside nested template</div>' +
+ '</template>' +
+ '</template>';
+
+ var template = doc.querySelector('#tmpl1');
+
+ assert_equals(template.childNodes.length, 0,
+ 'Wrong number of template child nodes');
+ assert_equals(template.content.childNodes.length, 3,
+ 'Wrong number of template content child nodes');
+
+ assert_not_equals(template.content.querySelector('#div1'), null,
+ 'Element is absent in the template content');
+ assert_not_equals(template.content.querySelector('#div2'), null,
+ 'Element is absent in the template content');
+
+ var nestedTemplate = template.content.querySelector('#tmpl2');
+
+ assert_equals(nestedTemplate.childNodes.length, 0,
+ 'Wrong number of template child nodes');
+ assert_equals(nestedTemplate.content.childNodes.length, 2,
+ 'Wrong number of nested template content child nodes');
+
+ assert_not_equals(nestedTemplate.content.querySelector('#div3'), null,
+ 'Element is absent in the template content');
+ assert_not_equals(nestedTemplate.content.querySelector('#div4'), null,
+ 'Element is absent in the template content');
+
+}, 'Template child nodes must be appended to template content. Test nested template');
+
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.querySelector('template');
+
+ assert_equals(template.childNodes.length, 0, 'Wrong number of template child nodes');
+
+ assert_not_equals(template.content.querySelector('div'), null,
+ 'Element is absent in the template content');
+
+}, 'Template child nodes must be appended to template content node. '
+ + 'Load HTML document from a file');
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.querySelector('template');
+
+ assert_equals(template.childNodes.length, 0, 'Wrong number of template child nodes');
+
+ var nestedTemplate = template.content.querySelector('template');
+
+ assert_not_equals(nestedTemplate, null,
+ 'Element is absent in the template content');
+
+ assert_equals(nestedTemplate.childNodes.length, 0,
+ 'Wrong number of template child nodes');
+
+ assert_not_equals(nestedTemplate.content.querySelector('div'), null,
+ 'Element is absent in the template content');
+
+}, 'Template child nodes must be appended to nested template content node. '
+ + 'Load HTML document from a file');
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html b/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html
new file mode 100644
index 0000000000..07af33d01e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: Clearing stack back to a table body context</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="Clearing the stack back to a table body context must be aborted if the current node is template">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#clearing-the-stack">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+function doTest(doc, tagToTest, templateInnerHTML, id, tagName, bodiesNum = null, footerIsNull,
+ footerId, headerIsNull, headerId) {
+
+ doc.body.innerHTML = '' +
+ '<table id="tbl">' +
+ '<' + tagToTest + '>' +
+ '<template id="tmpl1">' +
+ // When parser meets <tr>, </tbody>, </tfoot>, </thead>, <caption>, <col>,
+ // <colgroup>, <tbody>, <tfoot>, <thead>, </table>
+ // stack must be cleared back to table body context. But <template> tag should
+ // abort this
+ templateInnerHTML +
+ '</template>' +
+ '<tr id="tr">' +
+ '<td id="td">' +
+ '</td>' +
+ '</tr>' +
+ '</' + tagToTest + '>' +
+ '</table>';
+
+ var table = doc.querySelector('#tbl');
+ var tr = doc.querySelector('#tr');
+ var td = doc.querySelector('#td');
+ var template = doc.querySelector('#tmpl1');
+
+ assert_equals(table.rows.length, 1, 'Wrong number of table rows');
+ assert_equals(table.rows[0].cells.length, 1, 'Wrong number of table cells');
+ if (id !== null) {
+ assert_not_equals(template.content.querySelector('#' + id), null,
+ 'Element should present in the template content');
+ }
+ if (tagName !== null) {
+ assert_equals(template.content.querySelector('#' + id).tagName, tagName,
+ 'Wrong element in the template content');
+ }
+
+ assert_equals(table.caption, null, 'Table should have no caption');
+
+ if (bodiesNum !== null) {
+ assert_equals(table.tBodies.length, bodiesNum, 'Table should have '
+ + bodiesNum + ' body');
+ }
+ if (footerIsNull) {
+ assert_equals(table.tFoot, null, 'Table should have no footer');
+ }
+ if (footerId) {
+ assert_not_equals(table.tFoot.id, footerId,
+ 'Table should have no footer with id="' + footerId + '"');
+ }
+ if (headerIsNull) {
+ assert_equals(table.tHead, null, 'Table should have no header');
+ }
+ if (headerId) {
+ assert_not_equals(table.tHead.id, headerId,
+ 'Table should have no header with id="' + headerId + '"');
+ }
+}
+
+
+
+var doc = newHTMLDocument();
+var parameters = [
+ ['Clearing stack back to a table body context. Test <tr> in <tbody>',
+ doc, 'tbody', '<tr id="tr1"><td>Cell content</td></tr>', 'tr1', 'TR'],
+
+ ['Clearing stack back to a table body context. Test <tr> in <thead>',
+ doc, 'thead', '<tr id="tr2"><td>Cell content</td></tr>', 'tr2', 'TR'],
+
+ ['Clearing stack back to a table body context. Test <tr> in <tfoot>',
+ doc, 'tfoot', '<tr id="tr3"><td>Cell content</td></tr>', 'tr3', 'TR'],
+
+ ['Clearing stack back to a table body context. Test </tbody>',
+ doc, 'tbody', '</tbody>', null, null],
+
+ ['Clearing stack back to a table body context. Test </thead>',
+ doc, 'thead', '</thead>', null, null],
+
+ ['Clearing stack back to a table body context. Test </tfoot>',
+ doc, 'tfoot', '</tfoot>', null, null],
+
+ ['Clearing stack back to a table body context. Test <caption> in <tbody>',
+ doc, 'tbody', '<caption id="caption1">Table Caption</caption>', 'caption1', 'CAPTION'],
+
+ ['Clearing stack back to a table body context. Test <caption> in <tfoot>',
+ doc, 'tfoot', '<caption id="caption2">Table Caption</caption>', 'caption2', 'CAPTION'],
+
+ ['Clearing stack back to a table body context. Test <caption> in <thead>',
+ doc, 'thead', '<caption id="caption3">Table Caption</caption>', 'caption3', 'CAPTION'],
+
+ ['Clearing stack back to a table body context. Test <col> in <tbody>',
+ doc, 'tbody', '<col id="col1" width="150"/>', 'col1', 'COL'],
+
+ ['Clearing stack back to a table body context. Test <col> in <tfoot>',
+ doc, 'tfoot', '<col id="col2" width="150"/>', 'col2', 'COL'],
+
+ ['Clearing stack back to a table body context. Test <col> in <thead>',
+ doc, 'thead', '<col id="col3" width="150"/>', 'col3', 'COL'],
+
+ ['Clearing stack back to a table body context. Test <colgroup> in <tbody>',
+ doc, 'tbody', '<colgroup id="colgroup1" width="150"></colgroup>', 'colgroup1', 'COLGROUP'],
+
+ ['Clearing stack back to a table body context. Test <colgroup> in <tfoot>',
+ doc, 'tfoot', '<colgroup id="colgroup2" width="150"></colgroup>', 'colgroup2', 'COLGROUP'],
+
+ ['Clearing stack back to a table body context. Test <colgroup> in <thead>',
+ doc, 'thead', '<colgroup id="colgroup3" width="150"></colgroup>', 'colgroup3', 'COLGROUP'],
+
+ ['Clearing stack back to a table body context. Test <tbody> in <tbody>',
+ doc, 'tbody', '<tbody id="tbody1"></tbody>', 'tbody1', 'TBODY', 1],
+
+ ['Clearing stack back to a table body context. Test <tbody> in <tfoot>',
+ doc, 'tfoot', '<tbody id="tbody2"></tbody>', 'tbody2', 'TBODY', 0],
+
+ ['Clearing stack back to a table body context. Test <tbody> in <thead>',
+ doc, 'thead', '<tbody id="tbody3"></tbody>', 'tbody3', 'TBODY', 0],
+
+ ['Clearing stack back to a table body context. Test <tfoot> in <tbody>',
+ doc, 'tbody', '<tfoot id="tfoot1"></tfoot>', 'tfoot1', 'TFOOT', null, true],
+
+ ['Clearing stack back to a table body context. Test <tfoot> in <tfoot>',
+ doc, 'tfoot', '<tfoot id="tfoot2"></tfoot>', 'tfoot2', 'TFOOT', null, false, 'tfoot2'],
+
+ ['Clearing stack back to a table body context. Test <tfoot> in <thead>',
+ doc, 'thead', '<tfoot id="tfoot3"></tfoot>', 'tfoot3', 'TFOOT', null, true],
+
+ ['Clearing stack back to a table body context. Test <thead> in <tbody>',
+ doc, 'tbody', '<thead id="thead1"></thead>', 'thead1', 'THEAD', null, false, null, true],
+
+ ['Clearing stack back to a table body context. Test <thead> in <tfoot>',
+ doc, 'tfoot', '<thead id="thead2"></thead>', 'thead2', 'THEAD', null, false, null, true],
+
+ ['Clearing stack back to a table body context. Test <thead> in <thead>',
+ doc, 'thead', '<thead id="thead3"></thead>', 'thead3', 'THEAD', null, false, null, false, 'thead3'],
+
+ ['Clearing stack back to a table body context. Test </table> in <tbody>',
+ doc, 'tbody', '</table>', null, null, null, false, null, true],
+
+ ['Clearing stack back to a table body context. Test </table> in <tfoot>',
+ doc, 'tfoot', '</table>', null, null, null, false, null, true],
+
+ ['Clearing stack back to a table body context. Test </table> in <thead>',
+ doc, 'thead', '</table>', null, null],
+
+ ['Clearing stack back to a table body context. Test </tbody> in <thead>',
+ doc, 'thead', '</tbody>', null, null],
+
+ ['Clearing stack back to a table body context. Test </tbody> in <tfoot>',
+ doc, 'tfoot', '</tbody>', null, null],
+
+ ['Clearing stack back to a table body context. Test </thead> in <tbody>',
+ doc, 'tbody', '</thead>', null, null],
+
+ ['Clearing stack back to a table body context. Test </thead> in <tfoot>',
+ doc, 'tfoot', '</thead>', null, null],
+
+ ['Clearing stack back to a table body context. Test </tfoot> in <thead>',
+ doc, 'thead', '</tfoot>', null, null],
+
+ ['Clearing stack back to a table body context. Test </tfoot> in <tbody>',
+ doc, 'tbody', '</tfoot>', null, null]
+];
+
+// Clearing stack back to a table body context.
+generate_tests(doTest, parameters);
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html b/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html
new file mode 100644
index 0000000000..1bf9c5bba6
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: Clearing stack back to a table context</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="Clearing the stack back to a table context must be aborted if the current node is template">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#clearing-the-stack">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+function doTest(doc, templateInnerHTML, id, tagName, bodiesNum = null, footerIsNull,
+ headerIsNull) {
+
+ doc.body.innerHTML = '' +
+ '<table id="tbl">' +
+ '<template id="tmpl1">' +
+ // When parser meets <caption>, <colgroup>, <tbody>, <tfoot>, <thead>, <col>
+ // stack must be cleared back to table context.
+ //But <template> tag should abort this process
+ templateInnerHTML +
+ '</template>' +
+ '<tr id="tr">' +
+ '<td id="td">' +
+ '</td>' +
+ '</tr>' +
+ '</table>';
+
+ var table = doc.querySelector('#tbl');
+ var tr = doc.querySelector('#tr');
+ var td = doc.querySelector('#td');
+ var template = doc.querySelector('#tmpl1');
+
+ assert_equals(table.rows.length, 1, 'Wrong number of table rows');
+ assert_equals(table.rows[0].cells.length, 1, 'Wrong number of table cells');
+ assert_equals(template.parentNode, table, 'Wrong template parent');
+ assert_not_equals(template.content.querySelector('#' + id), null,
+ 'Element should present in the template content');
+ assert_equals(doc.querySelector('#tbl').caption, null, 'Table should have no caption');
+ assert_equals(template.content.querySelector('#' + id).tagName, tagName,
+ 'Wrong element in the template content');
+ if (bodiesNum !== null) {
+ assert_equals(table.tBodies.length, bodiesNum, 'Table should have '
+ + bodiesNum + ' body');
+ }
+ if (footerIsNull) {
+ assert_equals(table.tFoot, null, 'Table should have no footer');
+ }
+ if (headerIsNull) {
+ assert_equals(table.tHead, null, 'Table should have no header');
+ }
+}
+
+
+var doc = newHTMLDocument();
+var parameters = [
+ ['Clearing stack back to a table context. Test <caption>',
+ doc, '<caption id="caption1">Table caption</caption>', 'caption1', 'CAPTION'],
+
+ ['Clearing stack back to a table context. Test <colgroup>',
+ doc, '<colgroup id="colgroup1" width="100%"></colgroup>', 'colgroup1', 'COLGROUP'],
+
+ ['Clearing stack back to a table context. Test <tbody>',
+ doc, '<tbody id="tbody1"></tbody>', 'tbody1', 'TBODY', 1],
+
+ ['Clearing stack back to a table context. Test <tfoot>',
+ doc, '<tfoot id="tfoot1"></tfoot>', 'tfoot1', 'TFOOT', null, true],
+
+ ['Clearing stack back to a table context. Test <thead>',
+ doc, '<thead id="thead1"></thead>', 'thead1', 'THEAD', null, false, true],
+
+ ['Clearing stack back to a table context. Test <col>',
+ doc, '<col id="col1" width="100%"/>', 'col1', 'COL']
+];
+
+// Clearing stack back to a table body context.
+generate_tests(doTest, parameters);
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html b/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html
new file mode 100644
index 0000000000..d213c0fbdd
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: Clearing stack back to a table row context</title>
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="assert" content="Clearing the stack back to a table row context must be aborted if the current node is template">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#clearing-the-stack">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+function doTest(doc, templateInnerHTML, id, tagName, elementId) {
+
+ doc.body.innerHTML = '' +
+ '<table id="tbl">' +
+ '<tr id="tr">' +
+ '<template id="tmpl1">' +
+ // When parser meets <th>, <td>, </tr>, stack must be cleared
+ // back to table row context.
+ // But <template> tag should abort this
+ templateInnerHTML +
+ '</template>' +
+ '<td id="td">' +
+ '</td>' +
+ '</tr>' +
+ '</table>';
+
+ var table = doc.querySelector('#tbl');
+ var tr = doc.querySelector('#tr');
+ var td = doc.querySelector('#td');
+ var template = doc.querySelector('#tmpl1');
+
+ assert_equals(table.rows.length, 1, 'Wrong number of table rows');
+ assert_equals(table.rows[0].cells.length, 1, 'Wrong number of table cells');
+ assert_equals(template.parentNode, tr, 'Wrong template parent');
+ if (id !== null) {
+ assert_not_equals(template.content.querySelector('#' + id), null,
+ 'Element should present in the template content');
+ }
+ if (tagName !== null) {
+ assert_equals(template.content.querySelector('#' + id).tagName, tagName,
+ 'Wrong element in the template content');
+ }
+ if (elementId) {
+ assert_equals(doc.querySelector('#' + elementId), null,
+ 'Table should have no element with ID ' + elementId);
+ }
+}
+
+
+var doc = newHTMLDocument();
+var parameters = [
+ ['Clearing stack back to a table row context. Test <th>',
+ doc, '<th id="th1">Table header</th>', 'th1', 'TH', 'th1'],
+
+ ['Clearing stack back to a table row context. Test <td>',
+ doc, '<td id="td1">Table cell</td>', 'td1', 'TD', 'td1'],
+
+ ['Clearing stack back to a table row context. Test </tr>',
+ doc, '</tr>', null, null]
+];
+
+// Clearing stack back to a table body context.
+generate_tests(doTest, parameters);
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html b/testing/web-platform/tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html
new file mode 100644
index 0000000000..6738a6fde5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>HTML Templates: ownerDocument property of the element in template</title>
+<meta name="timeout" content="long">
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
+<meta name="assert" content="ownerDocument property of the element appended to template must be set to the template contents owner of the ownerDocument of the template element">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#creating-an-element-for-a-token">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script type="text/javascript">
+
+
+test(function () {
+ var doc = newHTMLDocument();
+ doc.body.innerHTML = '<div><template id="tmpl1"><div id="div">DIV</div></template></div>';
+
+ var template = doc.querySelector('#tmpl1');
+
+ var div = template.content.querySelector('#div');
+
+ assert_equals(div.ownerDocument, template.content.ownerDocument,
+ 'Wrong ownerDocument of the element in template');
+
+}, 'Test ownerDocument property of the element in a template. '
+ + 'Current DOCUMENT has no browsing context. Test template element inside the div');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+ doc.body.innerHTML = '<template id="tmpl1"><div id="div">DIV</div></template>';
+
+ var template = doc.querySelector('#tmpl1');
+
+ var div = template.content.querySelector('#div');
+
+ assert_equals(div.ownerDocument, template.content.ownerDocument,
+ 'Wrong ownerDocument of the element in template');
+
+}, 'Test ownerDocument property of the element in a template. '
+ + 'Current DOCUMENT has no browsing context. Test template element '
+ + 'in the root of the body');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+ doc.head.innerHTML = '<template id="tmpl1"><div id="div">DIV</div></template>';
+
+ var template = doc.querySelector('#tmpl1');
+
+ var div = template.content.querySelector('#div');
+
+ assert_equals(div.ownerDocument, template.content.ownerDocument,
+ 'Wrong ownerDocument of the element in template');
+
+}, 'Test ownerDocument property of the element in a template. '
+ + 'Current DOCUMENT has no browsing context. Test template element '
+ + 'in the root of the head');
+
+
+
+test(function () {
+ var doc = newHTMLDocument();
+ doc.body.innerHTML = '<template id="tmpl1">'
+ + '<template id="tmpl2"><div id="div">DIV</div></template></template>';
+
+ var template = doc.querySelector('#tmpl1');
+
+ var nestedTemplate = template.content.querySelector('#tmpl2');
+
+ assert_equals(nestedTemplate.ownerDocument, template.content.ownerDocument,
+ 'Wrong nested template owner document');
+
+ var div = nestedTemplate.content.querySelector('#div');
+
+ assert_equals(div.ownerDocument, nestedTemplate.content.ownerDocument,
+ 'Wrong div ownerDocument');
+
+}, 'Test ownerDocument property of the element in a nested template');
+
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.querySelector('template');
+
+ var div = template.content.querySelector('div');
+
+ assert_equals(div.ownerDocument, template.content.ownerDocument,
+ 'Wrong ownerDocument of the element in template');
+
+}, 'Test ownerDocument property of the element in a template. '
+ + 'Load HTML document from a file, current DOCUMENT has browsing context');
+
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template = doc.querySelector('template');
+
+ var nestedTemplate = template.content.querySelector('template');
+
+ assert_equals(nestedTemplate.ownerDocument, template.content.ownerDocument,
+ 'Wrong nested template owner document');
+
+ var div = nestedTemplate.content.querySelector('div');
+
+ assert_equals(div.ownerDocument, nestedTemplate.content.ownerDocument,
+ 'Wrong div ownerDocument');
+
+}, 'Test ownerDocument property of the element in a nested template. '
+ + 'Load HTML document from a file, current DOCUMENT has browsing context');
+
+
+
+testInIFrame('/html/semantics/scripting-1/the-template-element/resources/two-templates.html', function(context) {
+ var doc = context.iframes[0].contentDocument;
+
+ var template1 = doc.querySelector('#template1');
+ var div1 = template1.content.querySelector('div');
+ var template2 = doc.querySelector('#template2');
+ var div2 = template2.content.querySelector('div');
+
+ assert_equals(div1.ownerDocument, template1.content.ownerDocument,
+ 'Wrong ownerDocument of the element in template');
+ assert_equals(div2.ownerDocument, template2.content.ownerDocument,
+ 'Wrong ownerDocument of the element in template');
+ assert_equals(div1.ownerDocument, div2.ownerDocument,
+ 'Different elements in the same document should share the same template contents owner');
+
+}, 'Test ownerDocument property of two elements in a template. '
+ + 'Load HTML document from a file, current DOCUMENT has browsing context');
+
+
+var parameters = [];
+
+HTML5_ELEMENTS.forEach(function(value) {
+ if (value !== 'body' && value !== 'html' && value !== 'head' && value !== 'frameset') {
+
+ var doc = newHTMLDocument();
+
+ if (isVoidElement(value)) {
+ doc.body.innerHTML = '<template><' + value + '/></template>';
+ } else {
+ doc.body.innerHTML = '<template><' + value + '></' + value + '></template>';
+ }
+
+ var template = doc.querySelector('template');
+ var element = template.content.querySelector(value);
+
+ doc.body.appendChild(template);
+
+ parameters.push([
+ 'Test ownerDocument for the element ' + value + ' in the template',
+ element,
+ template
+ ]);
+ }
+});
+
+function compare_owners(element, template) {
+ assert_equals(element.ownerDocument, template.content.ownerDocument)
+}
+
+// Test ownerDocument property of all HTML5 elements in a template.
+// Current DOCUMENT has no browsing context.
+generate_tests(compare_owners, parameters);
+
+var context = newContext();
+parameters = [];
+
+try {
+
+ HTML5_ELEMENTS.forEach(function(value) {
+
+ if (value !== 'body' && value !== 'html' && value !== 'head' && value !== 'frameset') {
+
+ var doc = newRenderedHTMLDocument(context);
+
+ if (isVoidElement(value)) {
+ doc.body.innerHTML = '<template><' + value + '/></template>';
+ } else {
+ doc.body.innerHTML = '<template><' + value + '></' + value + '></template>';
+ }
+
+ var template = doc.querySelector('template');
+ var element = template.content.querySelector(value);
+
+ doc.body.appendChild(template);
+
+ parameters.push([
+ 'Test ownerDocument for the element ' + value + ' in the template. '
+ + 'Document has browsing context',
+ element,
+ template
+ ]);
+ }
+ });
+ generate_tests(compare_owners, parameters,
+ 'Test ownerDocument property of all HTML5 elements in a template. '
+ + 'Current DOCUMENT has browsing context.');
+
+} finally {
+ try {
+ cleanContext(context);
+ } catch (e) {
+ //do nothing
+ }
+}
+
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/parsing/test.js b/testing/web-platform/tests/html/syntax/parsing/test.js
new file mode 100644
index 0000000000..e725107b80
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/test.js
@@ -0,0 +1,350 @@
+var namespaces = {
+ "html":"http://www.w3.org/1999/xhtml",
+ "math":"http://www.w3.org/1998/Math/MathML",
+ "mathml":"http://www.w3.org/1998/Math/MathML",
+ "svg":"http://www.w3.org/2000/svg",
+ "xlink":"http://www.w3.org/1999/xlink",
+ "xml":"http://www.w3.org/XML/1998/namespace",
+ "xmlns":"http://www.w3.org/2000/xmlns/"
+};
+
+var prefixes = {};
+for (var prefix in namespaces) {
+ if (namespaces.hasOwnProperty(prefix)) {
+ prefixes[namespaces[prefix]] = prefix;
+ }
+}
+prefixes[namespaces["mathml"]] = "math";
+
+function format(format_string) {
+ var insertions = Array.prototype.slice.call(arguments, 1);
+ var regexp = /%s/g;
+ var match_count = 0;
+ var rv = format_string.replace(regexp, function(match) {
+ var rv = insertions[match_count];
+ match_count++;
+ return rv;
+ });
+ return rv;
+}
+
+function test_serializer(element) {
+ element.normalize();
+ var lines = [];
+ function serialize_element(element, indent) {
+ var indent_spaces = (new Array(indent)).join(" ");
+ switch(element.nodeType) {
+ case Node.DOCUMENT_TYPE_NODE:
+ if (element.name) {
+ if (element.publicId || element.systemId) {
+ var publicId = element.publicId ? element.publicId : "";
+ var systemId = element.systemId ? element.systemId : "";
+ lines.push(format("|%s<!DOCTYPE %s \"%s\" \"%s\">", indent_spaces,
+ element.name, publicId, systemId));
+ } else {
+ lines.push(format("|%s<!DOCTYPE %s>", indent_spaces,
+ element.name));
+ }
+ } else {
+ lines.push(format("|%s<!DOCTYPE >", indent_spaces));
+ }
+ break;
+ case Node.DOCUMENT_NODE:
+ lines.push("#document");
+ break;
+ case Node.DOCUMENT_FRAGMENT_NODE:
+ lines.push("#document-fragment");
+ break;
+ case Node.COMMENT_NODE:
+ lines.push(format("|%s<!-- %s -->", indent_spaces, element.nodeValue));
+ break;
+ case Node.TEXT_NODE:
+ lines.push(format("|%s\"%s\"", indent_spaces, element.nodeValue));
+ break;
+ case Node.ELEMENT_NODE:
+ if (element.getAttribute("data-skip") !== null) {
+ return;
+ }
+ if (element.namespaceURI !== null && element.namespaceURI !== namespaces.html) {
+ var name = format("%s %s", prefixes[element.namespaceURI],
+ element.localName);
+ } else {
+ var name = element.localName;
+ }
+ lines.push(format("|%s<%s>", indent_spaces, name));
+
+ var attributes = Array.prototype.map.call(
+ element.attributes,
+ function(attr) {
+ var name = (attr.namespaceURI ? prefixes[attr.namespaceURI] + " " : "") +
+ attr.localName;
+ return [name, attr.value];
+ });
+ attributes.sort(function (a, b) {
+ var x = a[0];
+ var y = b[0];
+ if (x === y) {
+ return 0;
+ }
+ return x > y ? 1 : -1;
+ });
+
+ attributes.forEach(
+ function(attr) {
+ var indent_spaces = (new Array(indent + 2)).join(" ");
+ lines.push(format("|%s%s=\"%s\"", indent_spaces, attr[0], attr[1]));
+ }
+ );
+ if ("HTMLTemplateElement" in window &&
+ Object.prototype.toString.call(element) === "[object HTMLTemplateElement]") {
+ indent += 2;
+ indent_spaces = (new Array(indent)).join(" ");
+ lines.push(format("|%scontent", indent_spaces));
+ indent += 2;
+ Array.prototype.forEach.call(element.content.childNodes,
+ function(node) {
+ serialize_element(node, indent);
+ });
+ indent -= 4;
+ }
+ break;
+ }
+ indent += 2;
+ Array.prototype.forEach.call(element.childNodes,
+ function(node) {
+ serialize_element(node, indent);
+ });
+ }
+ serialize_element(element, 0);
+ return lines.join("\n");
+}
+
+function parse_query() {
+ var query = location.search.slice(1);
+ var vars = query.split("&");
+ var fields = vars.map(function (x) {
+ var split = x.split("=");
+ return [split[0], split.slice(1).join("=")];
+ });
+ return fields;
+}
+
+function get_type() {
+ var run_type = "uri";
+ var fields = parse_query();
+ fields.forEach(function(x) {
+ if(x[0] == "run_type") {
+ run_type = x[1];
+ }
+ });
+ return run_type;
+};
+
+var test_in_blob_uri = get_test_func(function (iframe, uri_encoded_input, t) {
+ var b = new Blob([decodeURIComponent(uri_encoded_input)], { type: "text/html" });
+ var blobURL = URL.createObjectURL(b);
+ iframe.src = blobURL;
+ t.add_cleanup(function() {
+ URL.revokeObjectURL(blobURL);
+ });
+ });
+
+var test_document_write = get_test_func(function(iframe, uri_encoded_input, t) {
+ iframe.contentDocument.open();
+ var input = decodeURIComponent(uri_encoded_input);
+ iframe.contentDocument.write(input);
+ iframe.contentDocument.close();
+ });
+
+var test_document_write_single = get_test_func(function(iframe, uri_encoded_input, t) {
+ iframe.contentDocument.open();
+ var input = decodeURIComponent(uri_encoded_input);
+ for (var i=0; i< input.length; i++) {
+ iframe.contentDocument.write(input[i]);
+ }
+ iframe.contentDocument.close();
+ });
+
+function get_test_func(inject_func) {
+ function test_func(iframe, t, test_id, uri_encoded_input, escaped_expected) {
+ var expected = decodeURIComponent(escaped_expected);
+ current_tests[iframe.id] = {test_id:test_id,
+ uri_encoded_input:uri_encoded_input,
+ expected:expected,
+ actual:null
+ };
+
+ iframe.onload = function() {
+ t.step(function() {
+ iframe.onload = null;
+ var serialized_dom = test_serializer(iframe.contentDocument);
+ current_tests[iframe.id].actual = serialized_dom;
+ assert_equals(serialized_dom, expected);
+ t.done();
+ }
+ );
+ };
+ inject_func(iframe, uri_encoded_input, t);
+ }
+ return test_func;
+}
+
+function test_fragment(iframe, t, test_id, uri_encoded_input, escaped_expected, container) {
+ var input_string = decodeURIComponent(uri_encoded_input);
+ var expected = decodeURIComponent(escaped_expected);
+ current_tests[iframe.id] = {
+ test_id:test_id,
+ input:uri_encoded_input,
+ expected:expected,
+ actual:null,
+ container:container
+ };
+
+ var components = container.split(" ");
+ var container_elem = null;
+ if (components.length > 1) {
+ var namespace = namespaces[components[0]];
+ container_elem = document.createElementNS(namespace,
+ components[0] + ":" +
+ components[1]);
+ } else {
+ container_elem = document.createElement(container);
+ }
+ container_elem.innerHTML = input_string;
+ var serialized_dom;
+ if (container_elem.namespaceURI === namespaces["html"] && container_elem.localName === "template") {
+ serialized_dom = test_serializer(container_elem.content);
+ } else {
+ serialized_dom = test_serializer(container_elem);
+ }
+ current_tests[iframe.id].actual = serialized_dom;
+ serialized_dom = convert_innerHTML(serialized_dom);
+ assert_equals(serialized_dom, expected);
+ t.done();
+}
+
+function convert_innerHTML(serialized_dom) {
+ var lines = serialized_dom.split("\n");
+ assert_not_equals(lines[0], "<template>", "template is never the innerHTML context object");
+ lines[0] = "#document";
+ return lines.join("\n");
+}
+
+function print_diffs(test_id, uri_encoded_input, expected, actual, container) {
+ container = container ? container : null;
+ if (actual) {
+ var diffs = mark_diffs(expected, actual);
+ var expected_text = diffs[0];
+ var actual_text = diffs[1];
+ } else {
+ var expected_text = expected;
+ var actual_text = "";
+ }
+
+ var tmpl = ["div", {"id":"${test_id}"},
+ ["h2", {}, "${test_id}"],
+ function(vars) {
+ if (vars.container !== null) {
+ return ["div", {"class":"container"},
+ ["h3", {}, "innerHTML Container"],
+ ["pre", {}, vars.container]];
+ } else {
+ return null;
+ }
+ },
+ ["div", {"id":"input_${test_id}"}, ["h3", {}, "Input"], ["pre", {},
+ ["code", {}, decodeURIComponent(uri_encoded_input)]]],
+ ["div", {"id":"expected_${test_id}"}, ["h3", {}, "Expected"],
+ ["pre", {}, ["code", {}, expected_text]]],
+ ["div", {"id":"actual_${test_id}"}, ["h3", {}, "Actual"],
+ ["pre", {}, ["code", {}, actual_text]]]
+ ];
+
+ var diff_dom = template.render(tmpl, {test_id:test_id, container:container});
+ document.body.appendChild(diff_dom);
+}
+
+var current_tests = {};
+var iframe_map = {};
+
+function init_tests(test_type) {
+ var test_func = null;
+ var test_funcs = {
+ "write":test_document_write,
+ "write_single":test_document_write_single,
+ "uri":test_in_blob_uri,
+ "innerHTML":test_fragment
+ };
+ var tests_started = 0;
+ var tests_complete = 0;
+
+ setup(function() {
+ test_func = test_funcs[test_type];
+
+ var fails = [];
+
+ add_result_callback(function(test) {
+ tests_complete++;
+ var iframe = document.getElementById(iframe_map[test.name]);
+ if (test.status !== test.PASS) {
+ fails.push(current_tests[iframe.id]);
+ var new_iframe = document.createElement("iframe");
+ new_iframe.style.display = "none";
+ new_iframe.id = iframe.id;
+ document.body.replaceChild(new_iframe, iframe);
+ iframe = new_iframe;
+ }
+ if (tests_complete === order.length) {
+ done();
+ } else if (tests_started < order.length) {
+ test_next(iframe);
+ }
+ });
+
+ add_completion_callback(function() {
+ fails.forEach(function(t) {
+ print_diffs(t.test_id, t.uri_encoded_input,
+ t.expected, t.actual);
+ });
+ });
+
+ //Create the iframes we will use to test
+ //in the innerHTML case these are not actually used
+ //but it is convenient to reuse the same code
+ for (var i=0; i<num_iframes; i++) {
+ var iframe = document.createElement("iframe");
+ iframe.id = "iframe_" + i;
+ iframe.style.display = "none";
+ document.body.appendChild(iframe);
+ }
+ },
+ {explicit_done:true});
+
+ function test_next(iframe) {
+ var test_id = order[tests_started];
+ tests_started++;
+ var x = tests[test_id];
+ var t = x[0];
+ iframe_map[t.name] = iframe.id;
+ step_timeout(function() {
+ t.step(function() {
+ var string_uri_encoded_input = x[1];
+ var string_escaped_expected = x[2];
+ if (test_type === "innerHTML") {
+ var container = x[3];
+ }
+ test_func(iframe, t, test_id, string_uri_encoded_input, string_escaped_expected,
+ container);
+ });
+ }, 0);
+ }
+
+ onload = function() {
+ Array.prototype.forEach.call(document.getElementsByTagName("iframe"),
+ function(iframe) {
+ if (tests_started<order.length) {
+ test_next(iframe);
+ }
+ });
+ };
+}
diff --git a/testing/web-platform/tests/html/syntax/parsing/the-end.html b/testing/web-platform/tests/html/syntax/parsing/the-end.html
new file mode 100644
index 0000000000..79e32bb912
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/the-end.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>The end</title>
+<link rel=help href="https://html.spec.whatwg.org/multipage/#the-end">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+async_test(function() {
+ document.addEventListener("DOMContentLoaded", this.step_func_done(function(e) {
+ assert_equals(e.type, "DOMContentLoaded");
+ assert_true(e.bubbles, "bubbles should be true");
+ assert_false(e.cancelable, "cancelable should be false");
+ assert_equals(e.target, document, "target should be document");
+ assert_true(e.isTrusted, "isTrusted should be true");
+ assert_class_string(e, "Event");
+ }));
+}, "DOMContentLoaded");
+
+async_test(function() {
+ window.addEventListener("load", this.step_func_done(function(e) {
+ assert_equals(e.type, "load");
+ assert_false(e.bubbles, "bubbles should be false");
+ assert_false(e.cancelable, "cancelable should be false");
+ assert_equals(e.target, document, "target should be document");
+ assert_true(e.isTrusted, "isTrusted should be true");
+ assert_class_string(e, "Event");
+ }));
+}, "load");
+
+async_test(function() {
+ window.addEventListener("pageshow", this.step_func_done(function(e) {
+ assert_equals(e.type, "pageshow");
+
+ // https://github.com/whatwg/html/issues/6794
+ assert_true(e.bubbles, "bubbles should be true");
+ assert_true(e.cancelable, "cancelable should be true");
+
+ assert_equals(e.target, document, "target should be document");
+ assert_true(e.isTrusted, "isTrusted should be true");
+ assert_class_string(e, "PageTransitionEvent");
+ }));
+}, "pageshow");
+
+async_test(function() {
+ var seen_dcl = false;
+ var seen_load = false;
+ document.addEventListener("DOMContentLoaded", this.step_func(function() {
+ seen_dcl = true;
+ }));
+ window.addEventListener("load", this.step_func(function() {
+ seen_load = true;
+ assert_true(seen_dcl, "DOMContentLoaded should be fired before load");
+ }));
+ window.addEventListener("pageshow", this.step_func_done(function() {
+ assert_true(seen_load, "load should be fired before pageshow")
+ }));
+}, "order");
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/unclosed-svg-script.html b/testing/web-platform/tests/html/syntax/parsing/unclosed-svg-script.html
new file mode 100644
index 0000000000..ce7b89cb10
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/unclosed-svg-script.html
@@ -0,0 +1,45 @@
+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+ var scriptWithEndTagRan = false;
+ var scriptWithoutEndTagRan = false;
+ var scriptWithBogusEndTagInsideRan = false;
+ var scriptWithBreakout = false;
+ var scriptSelfClosing = false;
+</script>
+<svg>
+ <script>scriptWithEndTagRan = true;</script>
+</svg>
+<svg>
+ <script>scriptWithoutEndTagRan = true;
+</svg>
+<svg>
+ <script>scriptWithBogusEndTagInsideRan = true;</g></script>
+</svg>
+<svg>
+ <script>scriptWithBreakout = true;<s></script>
+</svg>
+<svg>
+ <script href="support/svg-script-self-closing.js"/>
+</svg>
+</s>
+<script>
+ test(function() {
+ assert_true(scriptWithEndTagRan);
+ }, "SVG scripts with end tag should run");
+ test(function() {
+ assert_false(scriptWithoutEndTagRan);
+ }, "SVG scripts without end tag should not run");
+ test(function() {
+ assert_true(scriptWithBogusEndTagInsideRan);
+ }, "SVG scripts with bogus end tag inside should run");
+ test(function() {
+ assert_false(scriptWithBreakout);
+ }, "SVG scripts ended by HTML breakout should not run");
+ test(function() {
+ assert_true(scriptSelfClosing);
+ }, "SVG scripts with self-closing start tag should run");
+</script>
diff --git a/testing/web-platform/tests/html/syntax/parsing/zero.html b/testing/web-platform/tests/html/syntax/parsing/zero.html
new file mode 100644
index 0000000000..9ff793ae7c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/parsing/zero.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<body>
+<div></div>
+<script>
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<!-\u0000>";
+ assert_equals(div.firstChild.data, "-\uFFFD");
+ }, "U+0000 should get replaced with U+FFFD after markup declaration hyphen");
+
+
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "&\u0000auml;";
+ assert_equals(div.firstChild.data, "&auml;");
+ }, "U+0000 should vanish after ampersand");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "&a\u0000uml;";
+ assert_equals(div.firstChild.data, "&auml;");
+ }, "U+0000 should vanish after ampersand and one letter of entity prefix");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "&au\u0000ml;";
+ assert_equals(div.firstChild.data, "&auml;");
+ }, "U+0000 should vanish after ampersand and two letters of entity prefix");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "&aum\u0000l;";
+ assert_equals(div.firstChild.data, "&auml;");
+ }, "U+0000 should vanish after ampersand and three letters of entity prefix");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "&auml\u0000;";
+ assert_equals(div.firstChild.data, "\u00E4;");
+ }, "U+0000 should vanish after semicolonless entity");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "&notin\u0000;";
+ assert_equals(div.firstChild.data, "\u00ACin;");
+ }, "U+0000 should vanish before required semicolon");
+
+
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<span title='&\u0000auml;'>";
+ assert_equals(div.firstChild.title, "&\uFFFDauml;");
+ }, "U+0000 should get replaced with U+FFFD after ampersand");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<span title='&a\u0000uml;'>";
+ assert_equals(div.firstChild.title, "&a\uFFFDuml;");
+ }, "U+0000 should get replaced with U+FFFD after ampersand and one letter of entity prefix");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<span title='&au\u0000ml;'>";
+ assert_equals(div.firstChild.title, "&au\uFFFDml;");
+ }, "U+0000 should get replaced with U+FFFD after ampersand and two letters of entity prefix");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<span title='&aum\u0000l;'>";
+ assert_equals(div.firstChild.title, "&aum\uFFFDl;");
+ }, "U+0000 should get replaced with U+FFFD after ampersand and three letters of entity prefix");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<span title='&auml\u0000;'>";
+ assert_equals(div.firstChild.title, "\u00E4\uFFFD;");
+ }, "U+0000 should get replaced with U+FFFD after semicolonless entity");
+
+ test(function() {
+ var div = document.getElementsByTagName("div")[0];
+ div.innerHTML = "<span title='&notin\u0000;'>";
+ assert_equals(div.firstChild.title, "&notin\uFFFD;");
+ }, "U+0000 should get replaced with U+FFFD before required semicolon");
+
+
+
+</script>
diff --git a/testing/web-platform/tests/html/syntax/serializing-html-fragments/escaping.html b/testing/web-platform/tests/html/syntax/serializing-html-fragments/escaping.html
new file mode 100644
index 0000000000..7bbc5566fc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/serializing-html-fragments/escaping.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Serialization of script-disabled documents should follow escaping rules</title>
+<link rel="author" href="mailto:masonf@chromium.org">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#serialising-html-fragments">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<body>
+
+<script>
+const html_escaped = '&amp;&nbsp;&lt;&gt;';
+const html_unescaped = '& <>';
+function getHtml(deEscapeParse) {
+ return `<noscript>${deEscapeParse ? html_escaped : html_unescaped}</noscript>`;
+}
+function testDoc(escapeSerialize, parsedNode) {
+ const node = parsedNode.firstChild;
+ const innerText = node.textContent;
+ assert_equals(innerText, html_unescaped, 'Content should be unescaped');
+ const serialized = node.innerHTML;
+ const expectation = escapeSerialize ? html_escaped : html_unescaped;
+ assert_equals(serialized, expectation, `Serialization ${escapeSerialize ? 'should' : 'should NOT'} re-escape <noscript> contents`);
+}
+
+test(() => {
+ const div = document.createElement('div');
+ document.body.appendChild(div);
+ div.innerHTML = getHtml(false);
+ testDoc(false, div);
+}, 'div.innerHTML');
+
+test(() => {
+ const div = document.createElement('div');
+ div.insertAdjacentHTML('afterbegin',getHtml(false));
+ testDoc(false, div);
+}, 'div.insertAdjacentHTML');
+
+test(() => {
+ const id = 'doc-write-1';
+ document.write(`<div id=${id} style="display:none">${getHtml(false)}</div>`);
+ testDoc(false, document.getElementById(id));
+}, 'document.write on main document');
+
+test(() => {
+ const doc = (new DOMParser()).parseFromString(`<body>${getHtml(true)}</body>`, 'text/html');
+ testDoc(true, doc.body);
+}, 'DOMParser.parseFromString');
+
+test(() => {
+ const template = document.createElement('template');
+ document.body.appendChild(template);
+ template.innerHTML = getHtml(true);
+ testDoc(true, template.content);
+}, 'template.innerHTML');
+
+test(() => {
+ const doc = document.implementation.createHTMLDocument('');
+ doc.body.innerHTML=`<pre>${getHtml(true)}</pre>`;
+ testDoc(true, doc.body.firstChild);
+}, 'document.implementation.createHTMLDocument and innerHTML');
+
+test(() => {
+ const doc = document.implementation.createHTMLDocument('');
+ let range = doc.createRange();
+ range.selectNode(doc.body);
+ const frag = range.createContextualFragment(getHtml(true));
+ testDoc(true, frag);
+}, 'document.implementation.createHTMLDocument and createContextualFragment');
+
+test(() => {
+ const id = 'doc-write-2';
+ const doc = document.implementation.createHTMLDocument('');
+ doc.write(`<div id=${id} style="display:none">${getHtml(false)}</div>`);
+ testDoc(true, doc.getElementById(id));
+}, 'document.implementation.createHTMLDocument and document.write');
+
+async_test((t) => {
+ let client = new XMLHttpRequest();
+ client.addEventListener('load', t.step_func_done(() => {
+ assert_true(client.status == 200 && client.responseXML != null);
+ testDoc(true, client.responseXML.body.firstChild);
+ t.done();
+ }));
+ client.open("GET", `data:text/html,<pre>${getHtml(true)}</pre>`);
+ client.responseType = 'document';
+ client.send();
+}, 'XMLHttpRequest');
+</script>
diff --git a/testing/web-platform/tests/html/syntax/serializing-html-fragments/initial-linefeed-pre.html b/testing/web-platform/tests/html/syntax/serializing-html-fragments/initial-linefeed-pre.html
new file mode 100644
index 0000000000..d4e30bb60d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/serializing-html-fragments/initial-linefeed-pre.html
@@ -0,0 +1,48 @@
+<!doctype html>
+<title>innerHTML getter for pre/textarea/listing with initial LF</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id="outer">
+<div id="inner">
+<pre id="pre1">
+x</pre>
+<pre id="pre2">
+
+x</pre>
+<textarea id="textarea1">
+x</textarea>
+<textarea id="textarea2">
+
+x</textarea>
+<listing id="listing1">
+x</listing>
+<listing id="listing2">
+
+x</listing>
+</div>
+</div>
+
+<script>
+var expected_outer = '\n<div id="inner">\n<pre id="pre1">x</pre>\n<pre id="pre2">\nx</pre>\n<textarea id="textarea1">x</textarea>\n<textarea id="textarea2">\nx</textarea>\n<listing id="listing1">x</listing>\n<listing id="listing2">\nx</listing>\n</div>\n';
+var expected_inner = expected_outer.replace('\n<div id="inner">', '').replace('</div>\n', '');
+var expected_1 = 'x';
+var expected_2 = '\nx';
+
+test(function() {
+ assert_equals(outer.innerHTML, expected_outer);
+}, 'outer div');
+
+test(function() {
+ assert_equals(inner.innerHTML, expected_inner);
+}, 'inner div');
+
+['pre', 'textarea', 'listing'].forEach(function(tag) {
+ test(function() {
+ assert_equals(document.getElementById(tag + '1').innerHTML, expected_1);
+ }, tag + '1');
+
+ test(function() {
+ assert_equals(document.getElementById(tag + '2').innerHTML, expected_2);
+ }, tag + '2');
+});
+</script>
diff --git a/testing/web-platform/tests/html/syntax/serializing-html-fragments/outerHTML.html b/testing/web-platform/tests/html/syntax/serializing-html-fragments/outerHTML.html
new file mode 100644
index 0000000000..491bf9e900
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/serializing-html-fragments/outerHTML.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML Test: element.outerHTML to verify HTML fragment serialization algorithm</title>
+ <link rel="author" title="Intel" href="http://www.intel.com/">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#html-fragment-serialization-algorithm">
+ <link rel="help" href="https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#widl-Element-outerHTML">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../../resources/common.js"></script>
+ </head>
+ <body>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ const non_void_elements = HTML5_ELEMENTS.filter(el => !HTML5_VOID_ELEMENTS.includes(el));
+ non_void_elements.forEach(function(ele) {
+ test(function() {
+ var e = document.createElement(ele);
+ assert_equals(e.outerHTML, "<" + ele + "></" + ele + ">", ele + " node created." );
+ }, "Node for " + ele);
+ });
+ HTML5_VOID_ELEMENTS.forEach(function(ele) {
+ test(function() {
+ var e = document.createElement(ele);
+ assert_equals(e.outerHTML, "<" + ele + ">", ele + " node created." );
+ }, "Node for " + ele);
+ });
+ }, document.title);
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing.html b/testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing.html
new file mode 100644
index 0000000000..1bccbf5608
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing.html
@@ -0,0 +1,336 @@
+<!DOCTYPE html>
+<title>innerHTML in HTML</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+
+<!-- test elments. Each has an expected innerHTML and outerHTML in an array in the <script>-->
+<div id="test" style="display:none">
+<span></span>
+<span><a></a></span>
+<span><a b=c></a></span>
+<span><a b='c'></a></span>
+<span><a b='&'></a></span>
+<span><a b='&nbsp;'></a></span>
+<span><a b='"'></a></span>
+<span><a b="<"></a></span>
+<span><a b=">"></a></span>
+<span><a href="javascript:&quot;&lt;>&quot;"></a></span>
+<span><svg xlink:href="a"></svg></span>
+<span><svg xmlns:svg="test"></svg></span>
+<span>a</span>
+<span>&amp;</span>
+<span>&nbsp;</span>
+<span>&lt;</span>
+<span>&gt;</span>
+<span>&quot;</span>
+<span><style><&></style></span>
+<span><script type="test"><&></script></span>
+<script type="test"><&></script>
+<span><xmp><&></xmp></span>
+<span><iframe><&></iframe></span>
+<span><noembed><&></noembed></span>
+<span><noframes><&></noframes></span>
+<span><noscript><&></noscript></span>
+<span><!--data--></span>
+<span><a><b><c></c></b><d>e</d><f><g>h</g></f></a></span>
+<span b=c></span>
+</div>
+<!-- TODO: template element -->
+<script>
+
+var test_data = document.getElementById("test").children;
+var expected = [
+["", "<span></span>"],
+["<a></a>", "<span><a></a></span>"],
+["<a b=\"c\"></a>", "<span><a b=\"c\"></a></span>"],
+["<a b=\"c\"></a>", "<span><a b=\"c\"></a></span>"],
+["<a b=\"&amp;\"></a>", "<span><a b=\"&amp;\"></a></span>"],
+["<a b=\"&nbsp;\"></a>", "<span><a b=\"&nbsp;\"></a></span>"],
+["<a b=\"&quot;\"></a>", "<span><a b=\"&quot;\"></a></span>"],
+["<a b=\"<\"></a>", "<span><a b=\"<\"></a></span>"],
+["<a b=\">\"></a>", "<span><a b=\">\"></a></span>"],
+["<a href=\"javascript:&quot;<>&quot;\"></a>", "<span><a href=\"javascript:&quot;<>&quot;\"></a></span>"],
+["<svg xlink:href=\"a\"></svg>", "<span><svg xlink:href=\"a\"></svg></span>"],
+["<svg xmlns:svg=\"test\"></svg>", "<span><svg xmlns:svg=\"test\"></svg></span>"],
+["a", "<span>a</span>"],
+["&amp;", "<span>&amp;</span>"],
+["&nbsp;", "<span>&nbsp;</span>"],
+["&lt;", "<span>&lt;</span>"],
+["&gt;", "<span>&gt;</span>"],
+["\"", "<span>\"</span>"],
+["<style><&></style>", "<span><style><&></style></span>"],
+["<script type=\"test\"><&><\/script>", "<span><script type=\"test\"><&><\/script></span>"],
+["<&>", "<script type=\"test\"><&><\/script>"],
+["<xmp><&></xmp>", "<span><xmp><&></xmp></span>"],
+["<iframe><&></iframe>", "<span><iframe><&></iframe></span>"],
+["<noembed><&></noembed>", "<span><noembed><&></noembed></span>"],
+["<noframes><&></noframes>", "<span><noframes><&></noframes></span>"],
+["<noscript><&></noscript>", "<span><noscript><&></noscript></span>"],
+["<!--data-->", "<span><!--data--></span>"],
+["<a><b><c></c></b><d>e</d><f><g>h</g></f></a>", "<span><a><b><c></c></b><d>e</d><f><g>h</g></f></a></span>"],
+["", "<span b=\"c\"></span>"]
+];
+
+var dom_tests = [
+ ["Attribute in the XML namespace",
+ function() {
+ var span = document.createElement("span");
+ var svg = document.createElement("svg");
+ svg.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:foo", "test");
+ span.appendChild(svg);
+ return span;
+ },
+ '<svg xml:foo="test"></svg>',
+ '<span><svg xml:foo="test"></svg></span>'],
+
+ ["Attribute in the XML namespace with the prefix not set to xml:",
+ function() {
+ var span = document.createElement("span");
+ var svg = document.createElement("svg");
+ svg.setAttributeNS("http://www.w3.org/XML/1998/namespace", "abc:foo", "test");
+ span.appendChild(svg);
+ return span;
+ },
+ '<svg xml:foo="test"></svg>',
+ '<span><svg xml:foo="test"></svg></span>'],
+
+ ["Non-'xmlns' attribute in the xmlns namespace",
+ function() {
+ var span = document.createElement("span");
+ var svg = document.createElement("svg");
+ svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:foo", "test")
+ span.appendChild(svg);
+ return span;
+ },
+ '<svg xmlns:foo="test"></svg>',
+ '<span><svg xmlns:foo="test"></svg></span>'],
+
+ ["'xmlns' attribute in the xmlns namespace",
+ function() {
+ var span = document.createElement("span");
+ var svg = document.createElement("svg");
+ svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns", "test")
+ span.appendChild(svg);
+ return span;
+ },
+ '<svg xmlns="test"></svg>',
+ '<span><svg xmlns="test"></svg></span>'],
+
+ ["Attribute in non-standard namespace",
+ function() {
+ var span = document.createElement("span");
+ var svg = document.createElement("svg");
+ svg.setAttributeNS("fake_ns", "abc:def", "test")
+ span.appendChild(svg);
+ return span;
+ },
+ '<svg abc:def="test"></svg>',
+ '<span><svg abc:def="test"></svg></span>'],
+
+ ["<span> starting with U+000A",
+ function() {
+ var elem = document.createElement("span");
+ elem.appendChild(document.createTextNode("\x0A"));
+ return elem;
+ },
+ "\x0A",
+ "<span>\x0A</span>"],
+
+ //TODO: Processing instructions
+]
+
+var text_elements = ["pre", "textarea", "listing"];
+
+var text_tests = [
+ ["<%text> context starting with U+000A",
+ function(elem) {
+ elem.appendChild(document.createTextNode("\x0A"));
+ return elem;
+ },
+ "\x0A",
+ "<%text>\x0A</%text>"],
+
+ ["<%text> context not starting with U+000A",
+ function(elem) {
+ elem.appendChild(document.createTextNode("a\x0A"));
+ return elem;
+ },
+ "a\x0A",
+ "<%text>a\x0A</%text>"],
+
+ ["<%text> non-context starting with U+000A",
+ function(elem) {
+ var span = document.createElement("span");
+ elem.appendChild(document.createTextNode("\x0A"));
+ span.appendChild(elem);
+ return span;
+ },
+ "<%text>\x0A</%text>",
+ "<span><%text>\x0A</%text></span>"],
+
+ ["<%text> non-context not starting with U+000A",
+ function(elem) {
+ var span = document.createElement("span");
+ elem.appendChild(document.createTextNode("a\x0A"));
+ span.appendChild(elem);
+ return span;
+ },
+ "<%text>a\x0A</%text>",
+ "<span><%text>a\x0A</%text></span>"],
+]
+
+var void_elements = [
+ "area", "base", "basefont", "bgsound", "br", "col", "embed",
+ "frame", "hr", "img", "input", "keygen", "link",
+ "meta", "param", "source", "track", "wbr"
+];
+
+var void_tests = [
+ ["Void context node",
+ function (void_elem) {
+ return void_elem;
+ },
+ "",
+ "<%void>"
+ ],
+ ["void as first child with following siblings",
+ function (void_elem) {
+ var span = document.createElement("span");
+ span.appendChild(void_elem);
+ span.appendChild(document.createElement("a")).appendChild(document.createTextNode("test"));
+ span.appendChild(document.createElement("b"))
+ return span
+ },
+ "<%void><a>test</a><b></b>",
+ "<span><%void><a>test</a><b></b></span>"
+ ],
+ ["void as second child with following siblings",
+ function (void_elem) {
+ var span = document.createElement("span");
+ span.appendChild(document.createElement("a")).appendChild(document.createTextNode("test"));
+ span.appendChild(void_elem);
+ span.appendChild(document.createElement("b"))
+ return span;
+ },
+ "<a>test</a><%void><b></b>",
+ "<span><a>test</a><%void><b></b></span>"
+ ],
+ ["void as last child with preceding siblings",
+ function (void_elem) {
+ var span = document.createElement("span");
+ span.appendChild(document.createElement("a")).appendChild(document.createTextNode("test"));
+ span.appendChild(document.createElement("b"))
+ span.appendChild(void_elem);
+ return span;
+ },
+ "<a>test</a><b></b><%void>",
+ "<span><a>test</a><b></b><%void></span>"
+ ],
+]
+
+function cross_map(a1, a2, f) {
+ var rv = [];
+ a1.forEach(function(a1_elem) {
+ a2.forEach(function(a2_elem) {
+ rv.push(f(a1_elem, a2_elem));
+ })
+ });
+ return rv;
+}
+
+function innerHTML_test(func, elem, expected) {
+ assert_equals(func(elem).innerHTML, expected);
+}
+
+function outerHTML_test(func, elem, expected) {
+ assert_equals(func(elem).outerHTML, expected);
+}
+
+
+function make_void(name) {
+ var rv = document.createElement(name);
+ rv.appendChild(document.createElement("a")).appendChild(document.createComment("abc"))
+ rv.appendChild(document.createElement("b")).
+ appendChild(document.createElement("c")).
+ appendChild(document.createTextNode("abc"))
+ return rv;
+}
+
+function make_text(name) {
+ return document.createElement(name);
+}
+
+generate_tests(innerHTML_test,
+ expected.map(function(item, i) {
+ return ["innerHTML " + i + " " + expected[i][0],
+ function() {return test_data[i]},
+ null,
+ item[0]];
+ }))
+
+generate_tests(outerHTML_test,
+ expected.map(function(item, i) {
+ return ["outerHTML " + i + " " + expected[i][1],
+ function() {return test_data[i]},
+ null,
+ item[1]];
+ }))
+
+generate_tests(innerHTML_test,
+ dom_tests.map(function(item) {
+ return ["innerHTML " + item[0],
+ item[1],
+ null,
+ item[2]];
+ }))
+
+generate_tests(outerHTML_test,
+ dom_tests.map(function(item) {
+ return ["outerHTML " + item[0],
+ item[1],
+ null,
+ item[3]];
+ }))
+
+generate_tests(innerHTML_test,
+ cross_map(text_tests, text_elements,
+ function(test_data, elem_name) {
+ var rv = ["innerHTML " + test_data[0].replace(/%text/g, elem_name),
+ test_data[1],
+ document.createElement(elem_name),
+ test_data[2].replace(/%text/g, elem_name)];
+ return rv;
+ }))
+
+generate_tests(outerHTML_test,
+ cross_map(text_tests, text_elements,
+ function(test_data, elem_name) {
+ var rv = ["outerHTML " + test_data[0].replace(/%text/g, elem_name),
+ test_data[1],
+ document.createElement(elem_name),
+ test_data[3].replace(/%text/g, elem_name)];
+ return rv;
+ }))
+
+generate_tests(innerHTML_test,
+ cross_map(void_tests, void_elements,
+ function(test_data, elem_name) {
+ var rv = ["innerHTML " + test_data[0] + " " + elem_name,
+ test_data[1],
+ make_void(elem_name),
+ test_data[2].replace(/%void/g, elem_name)];
+ return rv;
+ }))
+
+generate_tests(outerHTML_test,
+ cross_map(void_tests, void_elements,
+ function(test_data, elem_name) {
+ var rv = ["outerHTML " + test_data[0] + " " + elem_name,
+ test_data[1],
+ make_void(elem_name),
+ test_data[3].replace(/%void/g, elem_name)];
+ return rv;
+ }))
+
+</script>
diff --git a/testing/web-platform/tests/html/syntax/serializing-html-fragments/template.html b/testing/web-platform/tests/html/syntax/serializing-html-fragments/template.html
new file mode 100644
index 0000000000..ea050384f2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/serializing-html-fragments/template.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+<script>
+test(() => {
+ document.body.insertAdjacentHTML('afterbegin', '<div><template><table><td></table></template></div>');
+ let t = document.querySelector('template');
+ assert_equals(t.innerHTML, '<table><tbody><tr><td></td></tr></tbody></table>');
+ assert_equals(t.parentNode.innerHTML, '<template><table><tbody><tr><td></td></tr></tbody></table></template>');
+}, 'Template element content is correctly serialized');
+
+test(() => {
+ let t = document.createElement('template');
+ let c = t.content.appendChild(document.createElementNS("xx", "div"));
+ c.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:lang', 'en-us');
+ c.setAttributeNS('uri2', 'p:attr', 'v');
+ let doc = new Document();
+ doc.adoptNode(t.content);
+ assert_equals(t.innerHTML, '<div xml:lang="en-us" p:attr="v"></div>');
+}, 'HTML fragment serialization algorithm should be applied to the template content');
+</script>
+</body>
diff --git a/testing/web-platform/tests/html/syntax/serializing-xml-fragments/outerHTML.html b/testing/web-platform/tests/html/syntax/serializing-xml-fragments/outerHTML.html
new file mode 100644
index 0000000000..c6582fa9db
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/serializing-xml-fragments/outerHTML.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>HTML Test: element.outerHTML to verify XML fragment serialization algorithm</title>
+ <link rel="author" title="Intel" href="http://www.intel.com/">
+ <link rel="help" href="https://w3c.github.io/DOM-Parsing/#dfn-concept-serialize-xml">
+ <link rel="help" href="https://w3c.github.io/DOM-Parsing/#widl-Element-outerHTML">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../../resources/common.js"></script>
+ </head>
+ <body>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ var doc = document.implementation.createDocument(null, "");
+ assert_equals(doc.contentType, "application/xml");
+ var html_ns = "http://www.w3.org/1999/xhtml";
+ const non_void_elements = HTML5_ELEMENTS.filter(el => !HTML5_VOID_ELEMENTS.includes(el));
+ non_void_elements.forEach(function(ele) {
+ test(function() {
+ var e = doc.createElementNS(html_ns, ele);
+ assert_equals(e.outerHTML,
+ `<${ele} xmlns="${html_ns}"></${ele}>`,
+ ele + " node created." );
+ }, "Node for " + ele);
+ });
+ HTML5_VOID_ELEMENTS.forEach(function(ele) {
+ test(function() {
+ var e = doc.createElementNS(html_ns, ele);
+ assert_equals(e.outerHTML,
+ `<${ele} xmlns="${html_ns}" />`,
+ ele + " node created." );
+ }, "Node for " + ele);
+ });
+ }, document.title);
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/html/syntax/speculative-charset/speculative-script.tentative.html b/testing/web-platform/tests/html/syntax/speculative-charset/speculative-script.tentative.html
new file mode 100644
index 0000000000..e665510946
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-charset/speculative-script.tentative.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="windows-1253">
+<title>Speculative script</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<body>
+<script>
+const uuid = token();
+
+window.onmessage = function(e) {
+ // The script is first speculatively loaded in the windows-1253 context (inherited from this doc), so
+ // the Greek hex NCR turns into a byte. This byte is stored. Then the script is fetched
+ // non-speculatively, because the Greek hexNCR in the URL makes the URL not match in the
+ // windows-1251 context. Now the Greek hex NCR turns in to a decimal NCR and the original Greek
+ // character comes back as a byte that gets a Cyrillic interpretation.
+ assert_equals(e.data, `token: ${uuid}, character: &#950;, previous character: \u0436, byte: \u0436`, "Check result");
+ done();
+}
+
+setup({single_test: true});
+const iframe = document.createElement('iframe');
+iframe.src = `support/speculative-script.py?uuid=${uuid}`;
+document.body.appendChild(iframe);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-charset/support/script.py b/testing/web-platform/tests/html/syntax/speculative-charset/support/script.py
new file mode 100644
index 0000000000..0dbf5be0ac
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-charset/support/script.py
@@ -0,0 +1,18 @@
+import time
+
+def main(request, response):
+ response.add_required_headers = False # Don't implicitly add HTTP headers
+ response.writer.write_status(200)
+ response.writer.write_header("Content-Type", "text/javascript")
+ response.writer.end_headers()
+
+ token = request.GET[b"uuid"]
+ character = request.GET[b"character"]
+ old_character = b"NOT LOADED PREVIOUSLY";
+ from_stash = request.server.stash.take(token);
+ if from_stash:
+ old_character = from_stash
+ else:
+ request.server.stash.put(token, character)
+
+ response.writer.write(b'parent.postMessage("token: %s, character: %s, previous character: %s, byte: \xE6", "*");' % (token, character, old_character));
diff --git a/testing/web-platform/tests/html/syntax/speculative-charset/support/speculative-script.py b/testing/web-platform/tests/html/syntax/speculative-charset/support/speculative-script.py
new file mode 100644
index 0000000000..c72c469ce3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-charset/support/speculative-script.py
@@ -0,0 +1,11 @@
+import time
+
+def main(request, response):
+ response.add_required_headers = False # Don't implicitly add HTTP headers
+ response.writer.write_status(200)
+ response.writer.write_header("Content-Type", "text/html")
+ response.writer.end_headers()
+
+ response.writer.write(b'<!DOCTYPE html><script src="script.py?uuid=%s&character=&#x03B6;"></script>' % request.GET[b"uuid"]);
+ time.sleep(0.2)
+ response.writer.write(b'<meta charset="windows-1251"><p>Test: \xE6</p>');
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/base-href-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/base-href-script-src.tentative.sub.html
new file mode 100644
index 0000000000..23d2777c63
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/base-href-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): base-href-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'base-href-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <base href=//{{domains[www1]}}:{{ports[http][0]}}><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/image-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/image-src.tentative.sub.html
new file mode 100644
index 0000000000..b026985011
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/image-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): image-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'image-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <image src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-data-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-data-src.tentative.sub.html
new file mode 100644
index 0000000000..21c14e382c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-data-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): img-data-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'img-data-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <img data-src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-crossorigin.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-crossorigin.tentative.sub.html
new file mode 100644
index 0000000000..8d038471c8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-crossorigin.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): img-src-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-src-crossorigin', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" crossorigin>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-loading-lazy.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-loading-lazy.tentative.sub.html
new file mode 100644
index 0000000000..a1b1c92af8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-loading-lazy.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): img-src-loading-lazy</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'img-src-loading-lazy', false))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" loading=lazy>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-referrerpolicy-no-referrer.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-referrerpolicy-no-referrer.tentative.sub.html
new file mode 100644
index 0000000000..c26b933be8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src-referrerpolicy-no-referrer.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): img-src-referrerpolicy-no-referrer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-src-referrerpolicy-no-referrer', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src.tentative.sub.html
new file mode 100644
index 0000000000..b4d16da8e9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-srcset.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-srcset.tentative.sub.html
new file mode 100644
index 0000000000..b08d597a82
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/img-srcset.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): img-srcset</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-srcset', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <img srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-no-rel.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-no-rel.tentative.sub.html
new file mode 100644
index 0000000000..260f7a53a2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-no-rel.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-no-rel</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-no-rel', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-alternate-stylesheet.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-alternate-stylesheet.tentative.sub.html
new file mode 100644
index 0000000000..0b82352e3b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-alternate-stylesheet.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-alternate-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-alternate-stylesheet', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel="alternate stylesheet" href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-font-crossorigin.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-font-crossorigin.tentative.sub.html
new file mode 100644
index 0000000000..2ae82c066d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-font-crossorigin.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-preload-as-font-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-font-crossorigin', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=preload as=font href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" crossorigin>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-image.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-image.tentative.sub.html
new file mode 100644
index 0000000000..098e08f5d1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-image.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-preload-as-image</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-image', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=preload as=image href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-script.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-script.tentative.sub.html
new file mode 100644
index 0000000000..bfa48f0e79
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-script.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-preload-as-script</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-script', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=preload as=script href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-style.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-style.tentative.sub.html
new file mode 100644
index 0000000000..75e5a9de6b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-preload-as-style.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-preload-as-style</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-style', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=preload as=style href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-crossorigin.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-crossorigin.tentative.sub.html
new file mode 100644
index 0000000000..66ac2e4e44
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-crossorigin.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-crossorigin', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" crossorigin>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-disabled.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-disabled.tentative.sub.html
new file mode 100644
index 0000000000..58dbfe6aee
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-disabled.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-disabled</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-disabled', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel="stylesheet" href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" disabled>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-integrity.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-integrity.tentative.sub.html
new file mode 100644
index 0000000000..35369c3f53
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-integrity.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-integrity</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-integrity', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-nomatch-media.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-nomatch-media.tentative.sub.html
new file mode 100644
index 0000000000..74cf92bf1b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-nomatch-media.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-nomatch-media</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-nomatch-media', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" media="not all">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.sub.html
new file mode 100644
index 0000000000..f25a60f7da
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-referrerpolicy-no-referrer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-referrerpolicy-no-referrer', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-type-text-css.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-type-text-css.tentative.sub.html
new file mode 100644
index 0000000000..c5dcfc4a61
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-type-text-css.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-type-text-css</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-type-text-css', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" type=text/css>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-unsupported-type.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-unsupported-type.tentative.sub.html
new file mode 100644
index 0000000000..ed441e7eae
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-unsupported-type.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet-unsupported-type</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-unsupported-type', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" type=text/plain>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet.tentative.sub.html
new file mode 100644
index 0000000000..de6df7e457
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): link-rel-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-face-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-face-script-src.tentative.sub.html
new file mode 100644
index 0000000000..62b5bffaa2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-face-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): math-font-face-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'math-font-face-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <math><font face><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></font></math>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-script-src.tentative.sub.html
new file mode 100644
index 0000000000..4fd7ea8ff6
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-font-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): math-font-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'math-font-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <math><font><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></font></math>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-script-src.tentative.sub.html
new file mode 100644
index 0000000000..00876cae14
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/math-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): math-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'math-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <math><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></math>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-charset-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-charset-script-src.tentative.sub.html
new file mode 100644
index 0000000000..8b5072a415
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-charset-script-src.tentative.sub.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<!-- no meta charset -->
+<!-- (padding to exceed 1024 bytes processed by the character encoding scanner) -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<title>Speculative parsing, document.write(): meta-charset-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'meta-charset-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <meta\ charset=windows-1254><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-asterisk.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-asterisk.tentative.sub.html
new file mode 100644
index 0000000000..2d9f8aeb1d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-asterisk.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): meta-csp-img-src-asterisk</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'meta-csp-img-src-asterisk', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; img-src *"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-none.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-none.tentative.sub.html
new file mode 100644
index 0000000000..0266ae72d5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-csp-img-src-none.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): meta-csp-img-src-none</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'meta-csp-img-src-none', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; img-src 'none'"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-referrer-no-referrer-img-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-referrer-no-referrer-img-src.tentative.sub.html
new file mode 100644
index 0000000000..b0d0b910e2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-referrer-no-referrer-img-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): meta-referrer-no-referrer-img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'meta-referrer-no-referrer-img-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <meta name=referrer content=no-referrer><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-viewport-link-stylesheet-media.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-viewport-link-stylesheet-media.tentative.sub.html
new file mode 100644
index 0000000000..b7ab5ff97a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/meta-viewport-link-stylesheet-media.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): meta-viewport-link-stylesheet-media</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'meta-viewport-link-stylesheet-media', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <meta name=viewport content="width=400, initial-scale=1"><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" media="(min-width: 401px)">
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-1.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-1.tentative.sub.html
new file mode 100644
index 0000000000..c6006ebc0d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-1.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): nested-template-shadowrootmode-1</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'nested-template-shadowrootmode-1', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <template><div><template shadowrootmode="closed"><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></template></div></template>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-2.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-2.tentative.sub.html
new file mode 100644
index 0000000000..282b0bb555
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-2.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): nested-template-shadowrootmode-2</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'nested-template-shadowrootmode-2', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <div><template shadowrootmode="closed"><template><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></template></template></div>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-br-img.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-br-img.tentative.sub.html
new file mode 100644
index 0000000000..914dfb83c9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-br-img.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): picture-source-br-img</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-br-img', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><br><img></picture>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-no-img.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-no-img.tentative.sub.html
new file mode 100644
index 0000000000..6ca192edac
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-no-img.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): picture-source-no-img</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-no-img', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></picture>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-nomatch-media.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-nomatch-media.tentative.sub.html
new file mode 100644
index 0000000000..d48d3104f2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-nomatch-media.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): picture-source-nomatch-media</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-nomatch-media', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" media="not all"><img></picture>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-unsupported-type.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-unsupported-type.tentative.sub.html
new file mode 100644
index 0000000000..e387d51bab
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/picture-source-unsupported-type.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): picture-source-unsupported-type</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-unsupported-type', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" type=text/plain><img></picture>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-async.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-async.tentative.sub.html
new file mode 100644
index 0000000000..f4b42c484e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-async.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-async</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-async', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" async><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-crossorigin.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-crossorigin.tentative.sub.html
new file mode 100644
index 0000000000..b95f5502ef
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-crossorigin.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-crossorigin', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" crossorigin><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-defer.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-defer.tentative.sub.html
new file mode 100644
index 0000000000..5cf8e15c67
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-defer.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-defer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-defer', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" defer><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-integrity.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-integrity.tentative.sub.html
new file mode 100644
index 0000000000..6f66636d76
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-integrity.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-integrity</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-integrity', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb"><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-module.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-module.tentative.sub.html
new file mode 100644
index 0000000000..229b2b88c4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-module.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-module</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-module', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" type=module><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-nomodule.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-nomodule.tentative.sub.html
new file mode 100644
index 0000000000..3f61dba8d4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-nomodule.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-nomodule</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'script-src-nomodule', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" nomodule><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-referrerpolicy-no-referrer.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-referrerpolicy-no-referrer.tentative.sub.html
new file mode 100644
index 0000000000..ea67a33a22
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-referrerpolicy-no-referrer.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-referrerpolicy-no-referrer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-referrerpolicy-no-referrer', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-type-application-ecmascript.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-type-application-ecmascript.tentative.sub.html
new file mode 100644
index 0000000000..000843abaa
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-type-application-ecmascript.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-type-application-ecmascript</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-type-application-ecmascript', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" type=application/ecmascript><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-unsupported-type.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-unsupported-type.tentative.sub.html
new file mode 100644
index 0000000000..1eaa56494d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src-unsupported-type.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src-unsupported-type</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'script-src-unsupported-type', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;" type=text/plain><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src.tentative.sub.html
new file mode 100644
index 0000000000..4339e82360
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-href.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-href.tentative.sub.html
new file mode 100644
index 0000000000..1f7974c0dd
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-href.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): svg-image-href</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-image-href', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <svg><image href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></image></svg>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-src.tentative.sub.html
new file mode 100644
index 0000000000..50b6320b68
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): svg-image-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'svg-image-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <svg><image src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></image></svg>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-xlinkhref.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-xlinkhref.tentative.sub.html
new file mode 100644
index 0000000000..7d8a0f0357
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-image-xlinkhref.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): svg-image-xlinkhref</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-image-xlinkhref', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <svg><image xlink:href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></image></svg>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-href.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-href.tentative.sub.html
new file mode 100644
index 0000000000..13b6cda989
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-href.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): svg-script-href</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-script-href', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <svg><script href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></svg>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-src.tentative.sub.html
new file mode 100644
index 0000000000..ea37cc74a4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): svg-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'svg-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <svg><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></svg>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-xlinkhref.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-xlinkhref.tentative.sub.html
new file mode 100644
index 0000000000..df0f28ec47
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/svg-script-xlinkhref.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): svg-script-xlinkhref</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-script-xlinkhref', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <svg><script xlink:href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></svg>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-img-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-img-src.tentative.sub.html
new file mode 100644
index 0000000000..60928c10e9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-img-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): template-img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'template-img-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <template><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></template>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-link-stylesheet.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-link-stylesheet.tentative.sub.html
new file mode 100644
index 0000000000..590975e370
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-link-stylesheet.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): template-link-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'template-link-stylesheet', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <template><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></template>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-script-src.tentative.sub.html
new file mode 100644
index 0000000000..b9e4177d8d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): template-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'template-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <template><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></template>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-img-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-img-src.tentative.sub.html
new file mode 100644
index 0000000000..d9594f11ae
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-img-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): template-shadowrootmode-img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'template-shadowrootmode-img-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <div><template shadowrootmode="closed"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></template></div>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-link-stylesheet.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-link-stylesheet.tentative.sub.html
new file mode 100644
index 0000000000..f536059720
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-link-stylesheet.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): template-shadowrootmode-link-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'template-shadowrootmode-link-stylesheet', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <div><template shadowrootmode="closed"><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></template></div>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-script-src.tentative.sub.html
new file mode 100644
index 0000000000..a9b6798da2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/template-shadowrootmode-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): template-shadowrootmode-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'template-shadowrootmode-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <div><template shadowrootmode="closed"><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></template></div>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/video-poster.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/video-poster.tentative.sub.html
new file mode 100644
index 0000000000..e14bf19fc9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/video-poster.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): video-poster</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'video-poster', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <video poster="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"></video>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/xmp-script-src.tentative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/xmp-script-src.tentative.sub.html
new file mode 100644
index 0000000000..89ecaf1981
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/document-write/xmp-script-src.tentative.sub.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, document.write(): xmp-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'xmp-script-src', true))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay=1500"><\/script>
+ <script>
+ document.write('<plaintext>');
+ <\/script>
+ <\!-- speculative case in document.write -->
+ <xmp><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"><\/script></xmp>
+ `);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/base-href-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/base-href-script-src.tentative.html
new file mode 100644
index 0000000000..d37d68333d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/base-href-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: base-href-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/base-href-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'base-href-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/image-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/image-src.tentative.html
new file mode 100644
index 0000000000..40929371ca
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/image-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: image-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/image-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'image-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-data-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-data-src.tentative.html
new file mode 100644
index 0000000000..54bed4582a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-data-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: img-data-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/img-data-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'img-data-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-crossorigin.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-crossorigin.tentative.html
new file mode 100644
index 0000000000..3b47252140
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-crossorigin.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: img-src-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/img-src-crossorigin-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-src-crossorigin', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-loading-lazy.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-loading-lazy.tentative.html
new file mode 100644
index 0000000000..7fd4a1207a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-loading-lazy.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: img-src-loading-lazy</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/img-src-loading-lazy-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'img-src-loading-lazy', false))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-referrerpolicy-no-referrer.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-referrerpolicy-no-referrer.tentative.html
new file mode 100644
index 0000000000..e41d2c3ef1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src-referrerpolicy-no-referrer.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: img-src-referrerpolicy-no-referrer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/img-src-referrerpolicy-no-referrer-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-src-referrerpolicy-no-referrer', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src.tentative.html
new file mode 100644
index 0000000000..fda270a9f2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/img-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-srcset.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-srcset.tentative.html
new file mode 100644
index 0000000000..5878e14600
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/img-srcset.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: img-srcset</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/img-srcset-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'img-srcset', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-no-rel.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-no-rel.tentative.html
new file mode 100644
index 0000000000..7b9255175b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-no-rel.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-no-rel</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-no-rel-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-no-rel', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-alternate-stylesheet.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-alternate-stylesheet.tentative.html
new file mode 100644
index 0000000000..7a8eb2ac53
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-alternate-stylesheet.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-alternate-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-alternate-stylesheet-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-alternate-stylesheet', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-font-crossorigin.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-font-crossorigin.tentative.html
new file mode 100644
index 0000000000..f679c97c59
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-font-crossorigin.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-preload-as-font-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-preload-as-font-crossorigin-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-font-crossorigin', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-image.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-image.tentative.html
new file mode 100644
index 0000000000..adc59b7e09
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-image.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-preload-as-image</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-preload-as-image-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-image', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-script.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-script.tentative.html
new file mode 100644
index 0000000000..705b56b9a9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-script.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-preload-as-script</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-preload-as-script-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-script', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-style.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-style.tentative.html
new file mode 100644
index 0000000000..ea0cd3945d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-preload-as-style.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-preload-as-style</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-preload-as-style-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-preload-as-style', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-crossorigin.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-crossorigin.tentative.html
new file mode 100644
index 0000000000..c227593727
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-crossorigin.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-crossorigin-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-crossorigin', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-disabled.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-disabled.tentative.html
new file mode 100644
index 0000000000..5f232aa07a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-disabled.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-disabled</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-disabled-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-disabled', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-integrity.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-integrity.tentative.html
new file mode 100644
index 0000000000..266fb5b7da
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-integrity.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-integrity</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-integrity-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-integrity', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-nomatch-media.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-nomatch-media.tentative.html
new file mode 100644
index 0000000000..49feea0bb0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-nomatch-media.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-nomatch-media</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-nomatch-media-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-nomatch-media', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.html
new file mode 100644
index 0000000000..635f23444f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-referrerpolicy-no-referrer.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-referrerpolicy-no-referrer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-referrerpolicy-no-referrer-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-referrerpolicy-no-referrer', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-type-text-css.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-type-text-css.tentative.html
new file mode 100644
index 0000000000..a2af61a95d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-type-text-css.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-type-text-css</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-type-text-css-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-type-text-css', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-unsupported-type.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-unsupported-type.tentative.html
new file mode 100644
index 0000000000..17fb1722f5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet-unsupported-type.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet-unsupported-type</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-unsupported-type-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet-unsupported-type', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet.tentative.html
new file mode 100644
index 0000000000..07e4152c83
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/link-rel-stylesheet.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: link-rel-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/link-rel-stylesheet-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'link-rel-stylesheet', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-face-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-face-script-src.tentative.html
new file mode 100644
index 0000000000..47516bab94
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-face-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: math-font-face-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/math-font-face-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'math-font-face-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-script-src.tentative.html
new file mode 100644
index 0000000000..9a99c63df2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-font-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: math-font-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/math-font-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'math-font-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-script-src.tentative.html
new file mode 100644
index 0000000000..54e6d40f18
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/math-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: math-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/math-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'math-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-charset-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-charset-script-src.tentative.html
new file mode 100644
index 0000000000..e8dfaaf614
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-charset-script-src.tentative.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<!-- no meta charset -->
+<!-- (padding to exceed 1024 bytes processed by the character encoding scanner) -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<title>Speculative parsing, page load: meta-charset-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/meta-charset-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'meta-charset-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-asterisk.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-asterisk.tentative.html
new file mode 100644
index 0000000000..35d7374f8e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-asterisk.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: meta-csp-img-src-asterisk</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/meta-csp-img-src-asterisk-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'meta-csp-img-src-asterisk', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-none.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-none.tentative.html
new file mode 100644
index 0000000000..21984fd9e5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-csp-img-src-none.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: meta-csp-img-src-none</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/meta-csp-img-src-none-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'meta-csp-img-src-none', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-referrer-no-referrer-img-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-referrer-no-referrer-img-src.tentative.html
new file mode 100644
index 0000000000..7d03f49e6e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-referrer-no-referrer-img-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: meta-referrer-no-referrer-img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/meta-referrer-no-referrer-img-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'meta-referrer-no-referrer-img-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-viewport-link-stylesheet-media.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-viewport-link-stylesheet-media.tentative.html
new file mode 100644
index 0000000000..0ba60c7c04
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/meta-viewport-link-stylesheet-media.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: meta-viewport-link-stylesheet-media</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/meta-viewport-link-stylesheet-media-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'meta-viewport-link-stylesheet-media', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-1.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-1.tentative.html
new file mode 100644
index 0000000000..fe61837dcf
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-1.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: nested-template-shadowrootmode-1</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/nested-template-shadowrootmode-1-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'nested-template-shadowrootmode-1', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-2.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-2.tentative.html
new file mode 100644
index 0000000000..7d4732cd18
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/nested-template-shadowrootmode-2.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: nested-template-shadowrootmode-2</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/nested-template-shadowrootmode-2-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'nested-template-shadowrootmode-2', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-br-img.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-br-img.tentative.html
new file mode 100644
index 0000000000..38acd4707e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-br-img.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: picture-source-br-img</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/picture-source-br-img-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-br-img', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-no-img.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-no-img.tentative.html
new file mode 100644
index 0000000000..a7196c7740
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-no-img.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: picture-source-no-img</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/picture-source-no-img-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-no-img', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-nomatch-media.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-nomatch-media.tentative.html
new file mode 100644
index 0000000000..d1d5e2263c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-nomatch-media.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: picture-source-nomatch-media</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/picture-source-nomatch-media-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-nomatch-media', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-unsupported-type.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-unsupported-type.tentative.html
new file mode 100644
index 0000000000..981805569d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/picture-source-unsupported-type.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: picture-source-unsupported-type</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/picture-source-unsupported-type-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'picture-source-unsupported-type', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/base-href-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/base-href-script-src-framed.sub.html
new file mode 100644
index 0000000000..c0913c261e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/base-href-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): base-href-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<base href=//{{domains[www1]}}:{{ports[http][0]}}><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/image-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/image-src-framed.sub.html
new file mode 100644
index 0000000000..4a335c7b81
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/image-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): image-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<image src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-data-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-data-src-framed.sub.html
new file mode 100644
index 0000000000..20df9ba529
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-data-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): img-data-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<img data-src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-crossorigin-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-crossorigin-framed.sub.html
new file mode 100644
index 0000000000..9302abd3d5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-crossorigin-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): img-src-crossorigin</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-framed.sub.html
new file mode 100644
index 0000000000..ba2607e46d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): img-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-loading-lazy-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-loading-lazy-framed.sub.html
new file mode 100644
index 0000000000..9cc49cf324
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-loading-lazy-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): img-src-loading-lazy</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" loading=lazy>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-referrerpolicy-no-referrer-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-referrerpolicy-no-referrer-framed.sub.html
new file mode 100644
index 0000000000..7f466d11ba
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-src-referrerpolicy-no-referrer-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): img-src-referrerpolicy-no-referrer</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-srcset-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-srcset-framed.sub.html
new file mode 100644
index 0000000000..3c791bb857
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/img-srcset-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): img-srcset</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<img srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-no-rel-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-no-rel-framed.sub.html
new file mode 100644
index 0000000000..12e79cda04
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-no-rel-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-no-rel</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-alternate-stylesheet-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-alternate-stylesheet-framed.sub.html
new file mode 100644
index 0000000000..2d4dc3db12
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-alternate-stylesheet-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-alternate-stylesheet</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel="alternate stylesheet" href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-font-crossorigin-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-font-crossorigin-framed.sub.html
new file mode 100644
index 0000000000..e1ac7d5395
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-font-crossorigin-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-preload-as-font-crossorigin</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=preload as=font href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-image-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-image-framed.sub.html
new file mode 100644
index 0000000000..6cc48035d7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-image-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-preload-as-image</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=preload as=image href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-script-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-script-framed.sub.html
new file mode 100644
index 0000000000..10d1092ab1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-script-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-preload-as-script</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=preload as=script href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-style-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-style-framed.sub.html
new file mode 100644
index 0000000000..e77d4da77b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-preload-as-style-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-preload-as-style</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=preload as=style href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-crossorigin-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-crossorigin-framed.sub.html
new file mode 100644
index 0000000000..4dc7917f4b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-crossorigin-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-crossorigin</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-disabled-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-disabled-framed.sub.html
new file mode 100644
index 0000000000..ec535addfd
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-disabled-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-disabled</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel="stylesheet" href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" disabled>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-framed.sub.html
new file mode 100644
index 0000000000..7b3bf61019
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-integrity-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-integrity-framed.sub.html
new file mode 100644
index 0000000000..752077d674
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-integrity-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-integrity</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-nomatch-media-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-nomatch-media-framed.sub.html
new file mode 100644
index 0000000000..8ddb717c60
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-nomatch-media-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-nomatch-media</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" media="not all">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-referrerpolicy-no-referrer-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-referrerpolicy-no-referrer-framed.sub.html
new file mode 100644
index 0000000000..2f149ef438
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-referrerpolicy-no-referrer-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-referrerpolicy-no-referrer</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-type-text-css-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-type-text-css-framed.sub.html
new file mode 100644
index 0000000000..c402422868
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-type-text-css-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-type-text-css</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/css>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-unsupported-type-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-unsupported-type-framed.sub.html
new file mode 100644
index 0000000000..f0c5016081
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/link-rel-stylesheet-unsupported-type-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): link-rel-stylesheet-unsupported-type</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/plain>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-face-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-face-script-src-framed.sub.html
new file mode 100644
index 0000000000..90e99fb0d9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-face-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): math-font-face-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<math><font face><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></font></math>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-script-src-framed.sub.html
new file mode 100644
index 0000000000..fc359406ff
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-font-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): math-font-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<math><font><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></font></math>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-script-src-framed.sub.html
new file mode 100644
index 0000000000..71697e6766
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/math-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): math-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<math><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></math>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-charset-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-charset-script-src-framed.sub.html
new file mode 100644
index 0000000000..001c0c2eea
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-charset-script-src-framed.sub.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<!-- no meta charset -->
+<!-- (padding to exceed 1024 bytes processed by the character encoding scanner) -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<title>Speculative parsing, page load (helper file): meta-charset-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<meta charset=windows-1254><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-asterisk-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-asterisk-framed.sub.html
new file mode 100644
index 0000000000..3ac046dd67
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-asterisk-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): meta-csp-img-src-asterisk</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; img-src *"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-none-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-none-framed.sub.html
new file mode 100644
index 0000000000..08929d860b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-csp-img-src-none-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): meta-csp-img-src-none</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; img-src 'none'"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-referrer-no-referrer-img-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-referrer-no-referrer-img-src-framed.sub.html
new file mode 100644
index 0000000000..a8a344909e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-referrer-no-referrer-img-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): meta-referrer-no-referrer-img-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<meta name=referrer content=no-referrer><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-viewport-link-stylesheet-media-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-viewport-link-stylesheet-media-framed.sub.html
new file mode 100644
index 0000000000..8e294e8c46
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/meta-viewport-link-stylesheet-media-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): meta-viewport-link-stylesheet-media</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<meta name=viewport content="width=400, initial-scale=1"><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" media="(min-width: 401px)">
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-1-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-1-framed.sub.html
new file mode 100644
index 0000000000..19e60e9828
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-1-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): nested-template-shadowrootmode-1</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<template><div><template shadowrootmode="closed"><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template></div></template>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-2-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-2-framed.sub.html
new file mode 100644
index 0000000000..5cea082c4f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/nested-template-shadowrootmode-2-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): nested-template-shadowrootmode-2</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<div><template shadowrootmode="closed"><template><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template></template></div>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-br-img-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-br-img-framed.sub.html
new file mode 100644
index 0000000000..aea18d1e04
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-br-img-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): picture-source-br-img</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"><br><img></picture>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-no-img-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-no-img-framed.sub.html
new file mode 100644
index 0000000000..5367cd4085
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-no-img-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): picture-source-no-img</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></picture>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-nomatch-media-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-nomatch-media-framed.sub.html
new file mode 100644
index 0000000000..a8e696f901
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-nomatch-media-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): picture-source-nomatch-media</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" media="not all"><img></picture>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-unsupported-type-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-unsupported-type-framed.sub.html
new file mode 100644
index 0000000000..0ed95368c0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/picture-source-unsupported-type-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): picture-source-unsupported-type</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/plain><img></picture>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-async-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-async-framed.sub.html
new file mode 100644
index 0000000000..5e6cbff21d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-async-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-async</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" async></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-crossorigin-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-crossorigin-framed.sub.html
new file mode 100644
index 0000000000..098d07c5e3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-crossorigin-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-crossorigin</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-defer-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-defer-framed.sub.html
new file mode 100644
index 0000000000..7decc7bc60
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-defer-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-defer</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" defer></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-framed.sub.html
new file mode 100644
index 0000000000..baab010750
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-integrity-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-integrity-framed.sub.html
new file mode 100644
index 0000000000..7c0ca5e59f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-integrity-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-integrity</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-module-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-module-framed.sub.html
new file mode 100644
index 0000000000..5c365229df
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-module-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-module</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=module></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-nomodule-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-nomodule-framed.sub.html
new file mode 100644
index 0000000000..46af7c87e2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-nomodule-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-nomodule</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" nomodule></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-referrerpolicy-no-referrer-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-referrerpolicy-no-referrer-framed.sub.html
new file mode 100644
index 0000000000..566d2f67e0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-referrerpolicy-no-referrer-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-referrerpolicy-no-referrer</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-type-application-ecmascript-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-type-application-ecmascript-framed.sub.html
new file mode 100644
index 0000000000..08609b1c12
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-type-application-ecmascript-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-type-application-ecmascript</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=application/ecmascript></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-unsupported-type-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-unsupported-type-framed.sub.html
new file mode 100644
index 0000000000..1f38560ee1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/script-src-unsupported-type-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): script-src-unsupported-type</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/plain></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-href-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-href-framed.sub.html
new file mode 100644
index 0000000000..fc4e531849
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-href-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): svg-image-href</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<svg><image href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></image></svg>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-src-framed.sub.html
new file mode 100644
index 0000000000..16d97e00eb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): svg-image-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<svg><image src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></image></svg>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-xlinkhref-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-xlinkhref-framed.sub.html
new file mode 100644
index 0000000000..8e5dd1e8dc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-image-xlinkhref-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): svg-image-xlinkhref</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<svg><image xlink:href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></image></svg>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-href-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-href-framed.sub.html
new file mode 100644
index 0000000000..6a208cbc4f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-href-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): svg-script-href</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<svg><script href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></svg>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-src-framed.sub.html
new file mode 100644
index 0000000000..e8c1784c60
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): svg-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<svg><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></svg>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-xlinkhref-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-xlinkhref-framed.sub.html
new file mode 100644
index 0000000000..e634000d01
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/svg-script-xlinkhref-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): svg-script-xlinkhref</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<svg><script xlink:href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></svg>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-img-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-img-src-framed.sub.html
new file mode 100644
index 0000000000..1f8986c2d1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-img-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): template-img-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<template><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-link-stylesheet-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-link-stylesheet-framed.sub.html
new file mode 100644
index 0000000000..cfc2502335
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-link-stylesheet-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): template-link-stylesheet</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<template><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-script-src-framed.sub.html
new file mode 100644
index 0000000000..8582d10ece
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): template-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<template><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-img-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-img-src-framed.sub.html
new file mode 100644
index 0000000000..32d0aa9a45
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-img-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): template-shadowrootmode-img-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<div><template shadowrootmode="closed"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template></div>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-link-stylesheet-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-link-stylesheet-framed.sub.html
new file mode 100644
index 0000000000..3557749c81
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-link-stylesheet-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): template-shadowrootmode-link-stylesheet</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<div><template shadowrootmode="closed"><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template></div>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-script-src-framed.sub.html
new file mode 100644
index 0000000000..ab4ad10df4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/template-shadowrootmode-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): template-shadowrootmode-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<div><template shadowrootmode="closed"><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template></div>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/video-poster-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/video-poster-framed.sub.html
new file mode 100644
index 0000000000..ad2c7cef95
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/video-poster-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): video-poster</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<video poster="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></video>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/xmp-script-src-framed.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/xmp-script-src-framed.sub.html
new file mode 100644
index 0000000000..3c5ea9252e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/resources/xmp-script-src-framed.sub.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load (helper file): xmp-script-src</title>
+<script src="/common/slow.py?delay=1500"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+<xmp><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></xmp>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-async.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-async.tentative.html
new file mode 100644
index 0000000000..d462508a7e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-async.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-async</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-async-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-async', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-crossorigin.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-crossorigin.tentative.html
new file mode 100644
index 0000000000..59d3d9e07e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-crossorigin.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-crossorigin</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-crossorigin-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-crossorigin', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-defer.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-defer.tentative.html
new file mode 100644
index 0000000000..b8bf489890
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-defer.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-defer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-defer-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-defer', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-integrity.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-integrity.tentative.html
new file mode 100644
index 0000000000..42719e994a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-integrity.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-integrity</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-integrity-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-integrity', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-module.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-module.tentative.html
new file mode 100644
index 0000000000..606a1ff469
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-module.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-module</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-module-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-module', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-nomodule.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-nomodule.tentative.html
new file mode 100644
index 0000000000..20ca80222e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-nomodule.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-nomodule</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-nomodule-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'script-src-nomodule', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-referrerpolicy-no-referrer.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-referrerpolicy-no-referrer.tentative.html
new file mode 100644
index 0000000000..cf35f5262b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-referrerpolicy-no-referrer.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-referrerpolicy-no-referrer</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-referrerpolicy-no-referrer-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-referrerpolicy-no-referrer', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-type-application-ecmascript.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-type-application-ecmascript.tentative.html
new file mode 100644
index 0000000000..611afc7085
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-type-application-ecmascript.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-type-application-ecmascript</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-type-application-ecmascript-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src-type-application-ecmascript', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-unsupported-type.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-unsupported-type.tentative.html
new file mode 100644
index 0000000000..c7c5b483a4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src-unsupported-type.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src-unsupported-type</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-unsupported-type-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'script-src-unsupported-type', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src.tentative.html
new file mode 100644
index 0000000000..1d545ff0e1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-href.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-href.tentative.html
new file mode 100644
index 0000000000..b5e22c1de9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-href.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: svg-image-href</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/svg-image-href-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-image-href', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-src.tentative.html
new file mode 100644
index 0000000000..63232fa492
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: svg-image-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/svg-image-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'svg-image-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-xlinkhref.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-xlinkhref.tentative.html
new file mode 100644
index 0000000000..9887004bc4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-image-xlinkhref.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: svg-image-xlinkhref</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/svg-image-xlinkhref-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-image-xlinkhref', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-href.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-href.tentative.html
new file mode 100644
index 0000000000..54d4e313f9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-href.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: svg-script-href</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/svg-script-href-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-script-href', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-src.tentative.html
new file mode 100644
index 0000000000..8b2397e071
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: svg-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/svg-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'svg-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-xlinkhref.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-xlinkhref.tentative.html
new file mode 100644
index 0000000000..08b4efc3ee
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/svg-script-xlinkhref.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: svg-script-xlinkhref</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/svg-script-xlinkhref-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'svg-script-xlinkhref', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-img-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-img-src.tentative.html
new file mode 100644
index 0000000000..bd83a9359a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-img-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: template-img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/template-img-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'template-img-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-link-stylesheet.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-link-stylesheet.tentative.html
new file mode 100644
index 0000000000..d7718bc23b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-link-stylesheet.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: template-link-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/template-link-stylesheet-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'template-link-stylesheet', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-script-src.tentative.html
new file mode 100644
index 0000000000..f5c23dddb2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: template-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/template-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'template-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-img-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-img-src.tentative.html
new file mode 100644
index 0000000000..96a48dc739
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-img-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: template-shadowrootmode-img-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/template-shadowrootmode-img-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'template-shadowrootmode-img-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-link-stylesheet.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-link-stylesheet.tentative.html
new file mode 100644
index 0000000000..3f08ab3bb7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-link-stylesheet.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: template-shadowrootmode-link-stylesheet</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/template-shadowrootmode-link-stylesheet-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'template-shadowrootmode-link-stylesheet', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-script-src.tentative.html
new file mode 100644
index 0000000000..6d78fcfff1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/template-shadowrootmode-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: template-shadowrootmode-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/template-shadowrootmode-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'template-shadowrootmode-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/video-poster.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/video-poster.tentative.html
new file mode 100644
index 0000000000..73b9cb50de
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/video-poster.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: video-poster</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/video-poster-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, true)
+ .then(compare_with_nonspeculative(uuid, 'video-poster', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/xmp-script-src.tentative.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/xmp-script-src.tentative.html
new file mode 100644
index 0000000000..cee708ff72
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/page-load/xmp-script-src.tentative.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, page load: xmp-script-src</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({single_test: true});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/xmp-script-src-framed.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, false)
+ .then(compare_with_nonspeculative(uuid, 'xmp-script-src', true))
+ .then(done);
+</script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/base-href-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/base-href-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..e860f0e93d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/base-href-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): base-href-script-src</title>
+<!-- non-speculative case -->
+<base href=//{{domains[www1]}}:{{ports[http][0]}}><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/image-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/image-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..3d0ec70855
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/image-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): image-src</title>
+<!-- non-speculative case -->
+<image src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-data-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-data-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..f739f59070
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-data-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): img-data-src</title>
+<!-- non-speculative case -->
+<img data-src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-crossorigin-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-crossorigin-nonspeculative.sub.html
new file mode 100644
index 0000000000..bb7c7d2c84
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-crossorigin-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): img-src-crossorigin</title>
+<!-- non-speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..dc27cf837c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): img-src</title>
+<!-- non-speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-referrerpolicy-no-referrer-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-referrerpolicy-no-referrer-nonspeculative.sub.html
new file mode 100644
index 0000000000..6fd38fdc0c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-src-referrerpolicy-no-referrer-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): img-src-referrerpolicy-no-referrer</title>
+<!-- non-speculative case -->
+<img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-srcset-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-srcset-nonspeculative.sub.html
new file mode 100644
index 0000000000..3adcae9dce
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/img-srcset-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): img-srcset</title>
+<!-- non-speculative case -->
+<img srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-no-rel-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-no-rel-nonspeculative.sub.html
new file mode 100644
index 0000000000..50fee5964c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-no-rel-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-no-rel</title>
+<!-- non-speculative case -->
+<link href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-alternate-stylesheet-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-alternate-stylesheet-nonspeculative.sub.html
new file mode 100644
index 0000000000..cdd3a0cfaa
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-alternate-stylesheet-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-alternate-stylesheet</title>
+<!-- non-speculative case -->
+<link rel="alternate stylesheet" href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-font-crossorigin-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-font-crossorigin-nonspeculative.sub.html
new file mode 100644
index 0000000000..6329cd0fcb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-font-crossorigin-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-preload-as-font-crossorigin</title>
+<!-- non-speculative case -->
+<link rel=preload as=font href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-image-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-image-nonspeculative.sub.html
new file mode 100644
index 0000000000..80258dfa63
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-image-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-preload-as-image</title>
+<!-- non-speculative case -->
+<link rel=preload as=image href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-script-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-script-nonspeculative.sub.html
new file mode 100644
index 0000000000..04fe1b1dc0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-script-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-preload-as-script</title>
+<!-- non-speculative case -->
+<link rel=preload as=script href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-style-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-style-nonspeculative.sub.html
new file mode 100644
index 0000000000..4cc7ef40bc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-preload-as-style-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-preload-as-style</title>
+<!-- non-speculative case -->
+<link rel=preload as=style href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-crossorigin-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-crossorigin-nonspeculative.sub.html
new file mode 100644
index 0000000000..81a28c07a3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-crossorigin-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-crossorigin</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-disabled-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-disabled-nonspeculative.sub.html
new file mode 100644
index 0000000000..5584e7d4fc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-disabled-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-disabled</title>
+<!-- non-speculative case -->
+<link rel="stylesheet" href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" disabled>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-integrity-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-integrity-nonspeculative.sub.html
new file mode 100644
index 0000000000..9e9ae176a5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-integrity-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-integrity</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nomatch-media-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nomatch-media-nonspeculative.sub.html
new file mode 100644
index 0000000000..b10375c2c9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nomatch-media-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-nomatch-media</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" media="not all">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nonspeculative.sub.html
new file mode 100644
index 0000000000..4aeb803ca3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-referrerpolicy-no-referrer-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-referrerpolicy-no-referrer-nonspeculative.sub.html
new file mode 100644
index 0000000000..0c79457bdd
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-referrerpolicy-no-referrer-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-referrerpolicy-no-referrer</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-type-text-css-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-type-text-css-nonspeculative.sub.html
new file mode 100644
index 0000000000..c851eee104
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-type-text-css-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-type-text-css</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/css>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-unsupported-type-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-unsupported-type-nonspeculative.sub.html
new file mode 100644
index 0000000000..7db5b49cd7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/link-rel-stylesheet-unsupported-type-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): link-rel-stylesheet-unsupported-type</title>
+<!-- non-speculative case -->
+<link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/plain>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-face-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-face-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..1ea61d5a28
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-face-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): math-font-face-script-src</title>
+<!-- non-speculative case -->
+<math><font face><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></font></math>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..d3d6567a42
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-font-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): math-font-script-src</title>
+<!-- non-speculative case -->
+<math><font><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></font></math>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..7e27036e46
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/math-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): math-script-src</title>
+<!-- non-speculative case -->
+<math><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></math>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-charset-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-charset-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..2a47f520ae
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-charset-script-src-nonspeculative.sub.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<!-- no meta charset -->
+<!-- (padding to exceed 1024 bytes processed by the character encoding scanner) -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<title>Speculative parsing, non-speculative (helper file): meta-charset-script-src</title>
+<!-- non-speculative case -->
+<!-- no meta charset --><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-asterisk-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-asterisk-nonspeculative.sub.html
new file mode 100644
index 0000000000..50954c86c3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-asterisk-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): meta-csp-img-src-asterisk</title>
+<!-- non-speculative case -->
+<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; img-src *"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-none-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-none-nonspeculative.sub.html
new file mode 100644
index 0000000000..fe651e834e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-csp-img-src-none-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): meta-csp-img-src-none</title>
+<!-- non-speculative case -->
+<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; img-src 'none'"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-referrer-no-referrer-img-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-referrer-no-referrer-img-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..0e7a13ee32
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-referrer-no-referrer-img-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): meta-referrer-no-referrer-img-src</title>
+<!-- non-speculative case -->
+<meta name=referrer content=no-referrer><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-viewport-link-stylesheet-media-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-viewport-link-stylesheet-media-nonspeculative.sub.html
new file mode 100644
index 0000000000..cb0f992adb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/meta-viewport-link-stylesheet-media-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): meta-viewport-link-stylesheet-media</title>
+<!-- non-speculative case -->
+<meta name=viewport content="width=400, initial-scale=1"><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" media="(min-width: 401px)">
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-1-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-1-nonspeculative.sub.html
new file mode 100644
index 0000000000..ec14d9b9c4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-1-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): nested-template-shadowrootmode-1</title>
+<!-- non-speculative case -->
+<template><div><template shadowrootmode="closed"><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template></div></template>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-2-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-2-nonspeculative.sub.html
new file mode 100644
index 0000000000..71231ee70c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/nested-template-shadowrootmode-2-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): nested-template-shadowrootmode-2</title>
+<!-- non-speculative case -->
+<div><template shadowrootmode="closed"><template><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template></template></div>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-br-img-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-br-img-nonspeculative.sub.html
new file mode 100644
index 0000000000..371600284d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-br-img-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): picture-source-br-img</title>
+<!-- non-speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"><br><img></picture>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-no-img-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-no-img-nonspeculative.sub.html
new file mode 100644
index 0000000000..858485acef
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-no-img-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): picture-source-no-img</title>
+<!-- non-speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></picture>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-nomatch-media-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-nomatch-media-nonspeculative.sub.html
new file mode 100644
index 0000000000..e4dc1444ce
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-nomatch-media-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): picture-source-nomatch-media</title>
+<!-- non-speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" media="not all"><img></picture>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-unsupported-type-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-unsupported-type-nonspeculative.sub.html
new file mode 100644
index 0000000000..2c7372f1f9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/picture-source-unsupported-type-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): picture-source-unsupported-type</title>
+<!-- non-speculative case -->
+<picture><source srcset="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/plain><img></picture>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-async-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-async-nonspeculative.sub.html
new file mode 100644
index 0000000000..cf8acf5fe0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-async-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-async</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" async></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-crossorigin-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-crossorigin-nonspeculative.sub.html
new file mode 100644
index 0000000000..c3e200c0aa
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-crossorigin-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-crossorigin</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" crossorigin></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-defer-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-defer-nonspeculative.sub.html
new file mode 100644
index 0000000000..2bda3229e3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-defer-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-defer</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" defer></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-integrity-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-integrity-nonspeculative.sub.html
new file mode 100644
index 0000000000..a52d956e7b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-integrity-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-integrity</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb"></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-module-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-module-nonspeculative.sub.html
new file mode 100644
index 0000000000..7cb2839621
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-module-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-module</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=module></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nomodule-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nomodule-nonspeculative.sub.html
new file mode 100644
index 0000000000..1ffedbb55a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nomodule-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-nomodule</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" nomodule></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..494f854d5e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-referrerpolicy-no-referrer-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-referrerpolicy-no-referrer-nonspeculative.sub.html
new file mode 100644
index 0000000000..4581eb03ad
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-referrerpolicy-no-referrer-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-referrerpolicy-no-referrer</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" referrerpolicy=no-referrer></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-type-application-ecmascript-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-type-application-ecmascript-nonspeculative.sub.html
new file mode 100644
index 0000000000..1746cd2e42
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-type-application-ecmascript-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-type-application-ecmascript</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=application/ecmascript></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-unsupported-type-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-unsupported-type-nonspeculative.sub.html
new file mode 100644
index 0000000000..94098b5c77
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/script-src-unsupported-type-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): script-src-unsupported-type</title>
+<!-- non-speculative case -->
+<script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;" type=text/plain></script>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-href-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-href-nonspeculative.sub.html
new file mode 100644
index 0000000000..6c61c3208a
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-href-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): svg-image-href</title>
+<!-- non-speculative case -->
+<svg><image href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></image></svg>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..0aba339a16
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): svg-image-src</title>
+<!-- non-speculative case -->
+<svg><image src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></image></svg>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-xlinkhref-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-xlinkhref-nonspeculative.sub.html
new file mode 100644
index 0000000000..c4e9e3f8b7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-image-xlinkhref-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): svg-image-xlinkhref</title>
+<!-- non-speculative case -->
+<svg><image xlink:href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></image></svg>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-href-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-href-nonspeculative.sub.html
new file mode 100644
index 0000000000..9a28a6cd12
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-href-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): svg-script-href</title>
+<!-- non-speculative case -->
+<svg><script href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></svg>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..c37091ce3c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): svg-script-src</title>
+<!-- non-speculative case -->
+<svg><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></svg>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-xlinkhref-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-xlinkhref-nonspeculative.sub.html
new file mode 100644
index 0000000000..376fafdcf1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/svg-script-xlinkhref-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): svg-script-xlinkhref</title>
+<!-- non-speculative case -->
+<svg><script xlink:href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></svg>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-img-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-img-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..db331fc88b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-img-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): template-img-src</title>
+<!-- non-speculative case -->
+<template><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-link-stylesheet-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-link-stylesheet-nonspeculative.sub.html
new file mode 100644
index 0000000000..cc3072d890
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-link-stylesheet-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): template-link-stylesheet</title>
+<!-- non-speculative case -->
+<template><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..0ec64a0163
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): template-script-src</title>
+<!-- non-speculative case -->
+<template><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-img-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-img-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..ec3ca52442
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-img-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): template-shadowrootmode-img-src</title>
+<!-- non-speculative case -->
+<div><template shadowrootmode="closed"><img src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template></div>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-link-stylesheet-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-link-stylesheet-nonspeculative.sub.html
new file mode 100644
index 0000000000..ed813b3fd5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-link-stylesheet-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): template-shadowrootmode-link-stylesheet</title>
+<!-- non-speculative case -->
+<div><template shadowrootmode="closed"><link rel=stylesheet href="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></template></div>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..cd401584d8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/template-shadowrootmode-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): template-shadowrootmode-script-src</title>
+<!-- non-speculative case -->
+<div><template shadowrootmode="closed"><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></template></div>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/video-poster-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/video-poster-nonspeculative.sub.html
new file mode 100644
index 0000000000..c233e899cb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/video-poster-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): video-poster</title>
+<!-- non-speculative case -->
+<video poster="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></video>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/xmp-script-src-nonspeculative.sub.html b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/xmp-script-src-nonspeculative.sub.html
new file mode 100644
index 0000000000..e3a93d441d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/generated/resources/xmp-script-src-nonspeculative.sub.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->
+<meta charset=utf-8>
+<title>Speculative parsing, non-speculative (helper file): xmp-script-src</title>
+<!-- non-speculative case -->
+<xmp><script src="/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"></script></xmp>
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay=1500"></script>
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/resources/speculative-parsing-util.js b/testing/web-platform/tests/html/syntax/speculative-parsing/resources/speculative-parsing-util.js
new file mode 100644
index 0000000000..b675665ca9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/resources/speculative-parsing-util.js
@@ -0,0 +1,58 @@
+function expect_fetched_onload(uuid, expectation) {
+ return new Promise(resolve => {
+ addEventListener('load', resolve);
+ }).then(async () => {
+ const result = await get_result(uuid);
+ if (expectation) {
+ assert_not_equals(result, '', 'speculative case did not fetch');
+ } else {
+ assert_equals(result, '', 'speculative case incorrectly fetched');
+ }
+ return result;
+ });
+}
+
+function compare_with_nonspeculative(uuid, title, test_nonspeculative) {
+ return function(speculative_result) {
+ if (!test_nonspeculative) {
+ return Promise.resolve();
+ }
+ return new Promise(resolve => {
+ const iframe = document.createElement('iframe');
+ iframe.onload = resolve;
+ iframe.src = `../resources/${title}-nonspeculative.sub.html?uuid=${uuid}`;
+ document.body.appendChild(iframe);
+ }).then(async () => {
+ const result = await get_result(uuid);
+ if (speculative_result === '') {
+ assert_equals(result, '', 'non-speculative case incorrectly fetched')
+ } else {
+ assert_not_equals(result, '', 'non-speculative case did not fetch');
+ const speculative_headers = speculative_result.trim().split("\n");
+ const nonspeculative_headers = result.trim().split("\n");
+ assert_equals(speculative_headers.length, nonspeculative_headers.length, 'expected the same number of headers between speculative and non-speculative')
+ for (let i = 0; i < speculative_headers.length; ++i) {
+ let [s_header, s_value] = split_header(speculative_headers[i]);
+ let [ns_header, ns_value] = split_header(nonspeculative_headers[i]);
+ assert_equals(s_header, ns_header, 'expected the order of headers to match between speculative and non-speculative');
+ assert_equals(s_value, ns_value, `expected \`${s_header}\` values to match between speculative and non-speculative`);
+ }
+ }
+ });
+ }
+}
+
+function split_header(line) {
+ let [header, value] = line.split(': ');
+ header = header.toLowerCase();
+ value = value.trim();
+ if (header === 'referer') {
+ value = value.replace(/\/generated\/.+$/, '/generated/...');
+ }
+ return [header, value];
+}
+
+async function get_result(uuid) {
+ const response = await fetch(`/html/syntax/speculative-parsing/resources/stash.py?action=take&uuid=${uuid}`);
+ return await response.text();
+}
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/resources/stash.py b/testing/web-platform/tests/html/syntax/speculative-parsing/resources/stash.py
new file mode 100644
index 0000000000..5ad04e1558
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/resources/stash.py
@@ -0,0 +1,12 @@
+def main(request, response):
+ if request.GET[b"action"] == b"put":
+ encodingcheck = u"param-encodingcheck: " + request.url_parts.query.split(u"&encodingcheck=")[1] + u"\r\n"
+ headers = []
+ for line in str(request.raw_headers).split(u'\n'):
+ header = line.split(':')[0]
+ # TODO(zcorpan): also test Cookie
+ if header in [u'Origin', u'Accept', u'Referer']:
+ headers.append(line)
+ request.server.stash.put(request.GET[b"uuid"], encodingcheck + u"\r\n".join(headers))
+ return u''
+ return request.server.stash.take(request.GET[b"uuid"])
diff --git a/testing/web-platform/tests/html/syntax/speculative-parsing/tools/generate.py b/testing/web-platform/tests/html/syntax/speculative-parsing/tools/generate.py
new file mode 100755
index 0000000000..3457f94d70
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/speculative-parsing/tools/generate.py
@@ -0,0 +1,701 @@
+#!/usr/bin/env python3
+
+# Usage: python3 generate.py
+#
+# This will remove all existing .html files in the generated directories and generate new tests.
+
+
+# Notes on potential confusion with the 3 string substitution features in different layers:
+#
+# - In Python strings when calling .format(): {something} or {}
+# To get a literal {} use {{}}.
+# The template_* variables are ones below are those that will use .format().
+# https://docs.python.org/3/library/string.html#formatstrings
+# - JS template literals: ${something}
+# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
+# - wptserve server-side substitution when generating a response: {{GET[something]}}
+# https://web-platform-tests.org/writing-tests/server-pipes.html#sub
+
+import os, shutil
+
+target_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + "/generated"
+
+delay = u'1500' # Lower value makes the test complete faster, but also higher risk of flaky results
+
+# Test data
+
+tentative_tests = [
+ # title,
+ # encoding,
+ # template_testcase_markup,
+ # template_nonspeculative_testcase_markup (if different from template_testcase_markup),
+ # expect_load,
+ # test_nonspeculative
+ (
+ u'script-src',
+ u'utf-8',
+ u'<script src="{}"></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'meta-charset-script-src',
+ None,
+ u'<meta charset=windows-1254><script src="{}"></script>',
+ u'<!-- no meta charset --><script src="{}"></script>',
+ u'true',
+ u'true'
+ ),
+ (
+ # This test is only valid on "mobile" where meta viewport has an effect
+ u'meta-viewport-link-stylesheet-media',
+ u'utf-8',
+ u'<meta name=viewport content="width=400, initial-scale=1"><link rel=stylesheet href="{}" media="(min-width: 401px)">',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'meta-csp-img-src-none',
+ u'utf-8',
+ u'<meta http-equiv="Content-Security-Policy" content="script-src \'self\' \'unsafe-inline\'; img-src \'none\'"><img src="{}">',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'meta-csp-img-src-asterisk',
+ u'utf-8',
+ u'<meta http-equiv="Content-Security-Policy" content="script-src \'self\' \'unsafe-inline\'; img-src *"><img src="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'meta-referrer-no-referrer-img-src',
+ u'utf-8',
+ u'<meta name=referrer content=no-referrer><img src="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'base-href-script-src',
+ u'utf-8',
+ u'<base href=//{{{{domains[www1]}}}}:{{{{ports[http][0]}}}}><script src="{}"></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-unsupported-type',
+ u'utf-8',
+ u'<script src="{}" type=text/plain></script>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'script-src-type-application-ecmascript',
+ u'utf-8',
+ u'<script src="{}" type=application/ecmascript></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-nomodule',
+ u'utf-8',
+ u'<script src="{}" nomodule></script>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'script-src-module',
+ u'utf-8',
+ u'<script src="{}" type=module></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-async',
+ u'utf-8',
+ u'<script src="{}" async></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-defer',
+ u'utf-8',
+ u'<script src="{}" defer></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-crossorigin',
+ u'utf-8',
+ u'<script src="{}" crossorigin></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-integrity',
+ u'utf-8',
+ u'<script src="{}" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb"></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'script-src-referrerpolicy-no-referrer',
+ u'utf-8',
+ u'<script src="{}" referrerpolicy=no-referrer></script>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'template-script-src',
+ u'utf-8',
+ u'<template><script src="{}"></script></template>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'template-link-stylesheet',
+ u'utf-8',
+ u'<template><link rel=stylesheet href="{}"></template>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'template-img-src',
+ u'utf-8',
+ u'<template><img src="{}"></template>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'template-shadowrootmode-script-src',
+ u'utf-8',
+ u'<div><template shadowrootmode="closed"><script src="{}"></script></template></div>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'template-shadowrootmode-link-stylesheet',
+ u'utf-8',
+ u'<div><template shadowrootmode="closed"><link rel=stylesheet href="{}"></template></div>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'template-shadowrootmode-img-src',
+ u'utf-8',
+ u'<div><template shadowrootmode="closed"><img src="{}"></template></div>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'nested-template-shadowrootmode-1',
+ u'utf-8',
+ u'<template><div><template shadowrootmode="closed"><script src="{}"></script></template></div></template>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'nested-template-shadowrootmode-2',
+ u'utf-8',
+ u'<div><template shadowrootmode="closed"><template><script src="{}"></script></template></template></div>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'link-no-rel',
+ u'utf-8',
+ u'<link href="{}">',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-alternate-stylesheet',
+ u'utf-8',
+ u'<link rel="alternate stylesheet" href="{}">',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-disabled',
+ u'utf-8',
+ u'<link rel="stylesheet" href="{}" disabled>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-nomatch-media',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}" media="not all">',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-unsupported-type',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}" type=text/plain>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-type-text-css',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}" type=text/css>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-crossorigin',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}" crossorigin>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-integrity',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}" integrity="sha384-OLBgp1GsljhM2TJ+sbHjaiH9txEUvgdDTAzHv2P24donTt6/529l+9Ua0vFImLlb">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-stylesheet-referrerpolicy-no-referrer',
+ u'utf-8',
+ u'<link rel=stylesheet href="{}" referrerpolicy=no-referrer>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-preload-as-style',
+ u'utf-8',
+ u'<link rel=preload as=style href="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-preload-as-font-crossorigin',
+ u'utf-8',
+ u'<link rel=preload as=font href="{}" crossorigin>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-preload-as-script',
+ u'utf-8',
+ u'<link rel=preload as=script href="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'link-rel-preload-as-image',
+ u'utf-8',
+ u'<link rel=preload as=image href="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'img-src',
+ u'utf-8',
+ u'<img src="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'img-data-src',
+ u'utf-8',
+ u'<img data-src="{}">',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ # <image> is turned into <img> in the tree builder
+ u'image-src',
+ u'utf-8',
+ u'<image src="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'img-srcset',
+ u'utf-8',
+ u'<img srcset="{}">',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'img-src-crossorigin',
+ u'utf-8',
+ u'<img src="{}" crossorigin>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'img-src-referrerpolicy-no-referrer',
+ u'utf-8',
+ u'<img src="{}" referrerpolicy=no-referrer>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'img-src-loading-lazy',
+ u'utf-8',
+ u'<img src="{}" loading=lazy>',
+ None,
+ u'false',
+ u'false'
+ ),
+ (
+ u'picture-source-unsupported-type',
+ u'utf-8',
+ u'<picture><source srcset="{}" type=text/plain><img></picture>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'picture-source-nomatch-media',
+ u'utf-8',
+ u'<picture><source srcset="{}" media="not all"><img></picture>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'picture-source-no-img',
+ u'utf-8',
+ u'<picture><source srcset="{}"></picture>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'picture-source-br-img',
+ u'utf-8',
+ u'<picture><source srcset="{}"><br><img></picture>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'video-poster',
+ u'utf-8',
+ u'<video poster="{}"></video>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'xmp-script-src',
+ u'utf-8',
+ u'<xmp><script src="{}"></script></xmp>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ # MathML doesn't have script
+ u'math-script-src',
+ u'utf-8',
+ u'<math><script src="{}"></script></math>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'math-font-script-src',
+ u'utf-8',
+ u'<math><font><script src="{}"></script></font></math>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ # This breaks out of foreign content, so the script is an HTML script
+ # https://html.spec.whatwg.org/multipage/#parsing-main-inforeign
+ u'math-font-face-script-src',
+ u'utf-8',
+ u'<math><font face><script src="{}"></script></font></math>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'svg-script-href',
+ u'utf-8',
+ u'<svg><script href="{}"></script></svg>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'svg-script-xlinkhref',
+ u'utf-8',
+ u'<svg><script xlink:href="{}"></script></svg>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ # SVG script element doesn't have a src attribute
+ u'svg-script-src',
+ u'utf-8',
+ u'<svg><script src="{}"></script></svg>',
+ None,
+ u'false',
+ u'true'
+ ),
+ (
+ u'svg-image-href',
+ u'utf-8',
+ u'<svg><image href="{}"></image></svg>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ u'svg-image-xlinkhref',
+ u'utf-8',
+ u'<svg><image xlink:href="{}"></image></svg>',
+ None,
+ u'true',
+ u'true'
+ ),
+ (
+ # SVG image element doesn't have a src attribute
+ u'svg-image-src',
+ u'utf-8',
+ u'<svg><image src="{}"></image></svg>',
+ None,
+ u'false',
+ u'true'
+ ),
+]
+
+tests = [
+ # title,
+ # encoding,
+ # template_testcase_markup,
+ # expect_load,
+ # test_nonspeculative
+]
+
+# Templates
+
+preamble = u"""<!DOCTYPE html>
+<!-- DO NOT EDIT. This file has been generated. Source:
+ /html/syntax/speculative-parsing/tools/generate.py
+-->"""
+
+no_meta_charset = u"""<!-- no meta charset -->
+<!-- (padding to exceed 1024 bytes processed by the character encoding scanner) -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->
+<!-- -->"""
+
+# Notes on `encodingcheck` in the URL below
+#
+# - &Gbreve; is the HTML character reference for U+011E LATIN CAPITAL LETTER G WITH BREVE
+# - In windows-1254, this character is encoded as 0xD0.
+# When used in the query part of a URL, it gets percent-encoded as %D0.
+# - In windows-1252 (usually the fallback encoding), that character can't be encoded, so is instead
+# represented as &#286; percent-encoded, so %26%23286%3B.
+# https://url.spec.whatwg.org/#query-state
+# https://url.spec.whatwg.org/#code-point-percent-encode-after-encoding
+# - In utf-8, it's percent-encoded as utf-8: %C4%9E
+# - stash.py will store this value as "param-encodingcheck"
+
+url_wptserve_sub = u"/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid={{GET[uuid]}}&amp;encodingcheck=&Gbreve;"
+url_js_sub = u"/html/syntax/speculative-parsing/resources/stash.py?action=put&amp;uuid=${uuid}&amp;encodingcheck=&Gbreve;"
+
+
+# Non-speculative (normal) case to compare results with
+
+template_nonspeculative = u"""{preamble}
+{encoding_decl}
+<title>Speculative parsing, non-speculative (helper file): {title}</title>
+<!-- non-speculative case -->
+{nonspeculative_testcase_markup}
+<!-- block the load event for a bit: -->
+<script src="/common/slow.py?delay={delay}"></script>
+"""
+
+# Scenario: page load
+
+template_pageload_toplevel = u"""{preamble}
+{encoding_decl}
+<title>Speculative parsing, page load: {title}</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<body>
+<script>
+ setup({{single_test: true}});
+ const uuid = token();
+ const iframe = document.createElement('iframe');
+ iframe.src = `resources/{title}-framed.sub.html?uuid=${{uuid}}`;
+ document.body.appendChild(iframe);
+ expect_fetched_onload(uuid, {expect_load})
+ .then(compare_with_nonspeculative(uuid, '{title}', {test_nonspeculative}))
+ .then(done);
+</script>
+"""
+
+template_pageload_framed = u"""{preamble}
+{encoding_decl}
+<title>Speculative parsing, page load (helper file): {title}</title>
+<script src="/common/slow.py?delay={delay}"></script>
+<script>
+ document.write('<plaintext>');
+</script>
+<!-- speculative case -->
+{testcase_markup}
+"""
+
+# Scenario: document.write()
+
+template_docwrite = u"""{preamble}
+{encoding_decl}
+<title>Speculative parsing, document.write(): {title}</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/common/utils.js></script>
+<script src=/html/syntax/speculative-parsing/resources/speculative-parsing-util.js></script>
+<script>
+ setup({{single_test: true}});
+ const uuid = token();
+ expect_fetched_onload(uuid, {expect_load})
+ .then(compare_with_nonspeculative(uuid, '{title}', {test_nonspeculative}))
+ .then(done);
+ document.write(`
+ <script src="/common/slow.py?delay={delay}"><\\/script>
+ <script>
+ document.write('<plaintext>');
+ <\\/script>
+ <\\!-- speculative case in document.write -->
+ {testcase_markup}
+ `);
+</script>
+"""
+
+# Scenario: <link rel=prerender> - TODO(zcorpan)
+
+template_prerender_toplevel = u"""{preamble}
+{encoding_decl}
+<title>Speculative parsing, prerender: {title}</title>
+...
+"""
+
+template_prerender_linked = u"""{preamble}
+{encoding_decl}
+<title>Speculative parsing, prerender (helper file): {title}</title>
+...
+"""
+
+# Generate tests
+
+# wipe target_dir of HTML files
+if os.path.isdir(target_dir):
+ for root, dirs, files in os.walk(target_dir):
+ for name in files:
+ if name.endswith('.html'):
+ path = os.path.join(root, name)
+ if os.path.isfile(path):
+ os.remove(path)
+
+def write_file(path, content):
+ path = os.path.join(target_dir, path)
+ os.makedirs(os.path.dirname(path), exist_ok=True)
+ file = open(os.path.join(target_dir, path), 'w')
+ file.write(content)
+ file.close()
+
+def generate_tests(testcase, tentative):
+ title, encoding, template_testcase_markup, template_nonspeculative_testcase_markup, expect_load, test_nonspeculative = testcase
+ if template_nonspeculative_testcase_markup == None:
+ template_nonspeculative_testcase_markup = template_testcase_markup
+ ext = u""
+ if tentative:
+ ext = u".tentative"
+
+ if encoding == None:
+ encoding_decl = no_meta_charset
+ else:
+ encoding_decl = f"<meta charset={encoding}>"
+
+ html_testcase_markup = template_testcase_markup.format(url_wptserve_sub)
+ html_nonspeculative_testcase_markup = template_nonspeculative_testcase_markup.format(url_wptserve_sub)
+ js_testcase_markup = template_testcase_markup.format(url_js_sub).replace(u"</script>", u"<\/script>").replace(u"<meta charset", u"<meta\ charset")
+
+ if test_nonspeculative == u'true':
+ nonspeculative = template_nonspeculative.format(preamble=preamble, encoding_decl=encoding_decl, title=title, nonspeculative_testcase_markup=html_nonspeculative_testcase_markup, delay=delay)
+ write_file(f"resources/{title}-nonspeculative.sub.html", nonspeculative)
+
+ pageload_toplevel = template_pageload_toplevel.format(preamble=preamble, encoding_decl=encoding_decl, title=title, expect_load=expect_load, test_nonspeculative=test_nonspeculative)
+ write_file(f"page-load/{title}{ext}.html", pageload_toplevel)
+ pageload_framed = template_pageload_framed.format(preamble=preamble, encoding_decl=encoding_decl, title=title, testcase_markup=html_testcase_markup, delay=delay)
+ write_file(f"page-load/resources/{title}-framed.sub.html", pageload_framed)
+
+ docwrite = template_docwrite.format(preamble=preamble, encoding_decl=encoding_decl, title=title, expect_load=expect_load, testcase_markup=js_testcase_markup, test_nonspeculative=test_nonspeculative, delay=delay)
+ write_file(f"document-write/{title}{ext}.sub.html", docwrite)
+
+for testcase in tests:
+ generate_tests(testcase, False)
+
+for testcase in tentative_tests:
+ generate_tests(testcase, True)
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING-trail.htm
new file mode 100644
index 0000000000..d01acf5c91
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING.htm
new file mode 100644
index 0000000000..8e9cf2c373
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/ENCODING.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" ENCODING="windows-1251"?>
+<p>XML decl with upper-case <code>ENCODING=</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/VERSION-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/VERSION-trail.htm
new file mode 100644
index 0000000000..0859f3bd43
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/VERSION-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/VERSION.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/VERSION.htm
new file mode 100644
index 0000000000..a98f7b9533
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/VERSION.htm
@@ -0,0 +1,4 @@
+<?xml VERSION="1.0" encoding="windows-1251"?>
+<p>XML decl with upper-case <code>VERSION</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS-trail.htm
new file mode 100644
index 0000000000..909b5ce368
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS.htm
new file mode 100644
index 0000000000..25f068fbb4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/WINDOWS.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="WINDOWS-1251"?>
+<p>Normal XML decl with upper case encoding label</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/XML-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/XML-trail.htm
new file mode 100644
index 0000000000..f9bb3d5d9b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/XML-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/XML.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/XML.htm
new file mode 100644
index 0000000000..c77b422590
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/XML.htm
@@ -0,0 +1,4 @@
+<?XML version="1.0" encoding="windows-1251"?>
+<p>XML decl with upper case XML</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/ascii-decl-for-utf-16.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/ascii-decl-for-utf-16.htm
new file mode 100644
index 0000000000..0c5e20b33e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/ascii-decl-for-utf-16.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-16"?>
+<p>Normal ASCII-based XML decl declares UTF-16, file is not UTF-16</p>
+<p>Test: æ</p>
+<p>If &#xFFFD;, XML decl takes effect as UTF-8</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/baseline-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/baseline-trail.htm
new file mode 100644
index 0000000000..e9c0352bf7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/baseline-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/baseline.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/baseline.htm
new file mode 100644
index 0000000000..ff720a2da2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/baseline.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<p>Normal XML decl</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/cp1251-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/cp1251-trail.htm
new file mode 100644
index 0000000000..16687e7507
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/cp1251-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/cp1251.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/cp1251.htm
new file mode 100644
index 0000000000..d928084097
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/cp1251.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="cp1251"?>
+<p>Normal XML decl with non-primary label</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding-trail.htm
new file mode 100644
index 0000000000..5d08852601
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding.htm
new file mode 100644
index 0000000000..fd12c188dc
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/encoding-equals-encoding.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding=encoding="windows-1251"?>
+<p><code>encoding=encoding=</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding-trail.htm
new file mode 100644
index 0000000000..fee1949a10
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding.htm
new file mode 100644
index 0000000000..67a3900d68
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/encodingencoding.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encodingencoding="windows-1251"?>
+<p><code>encodingencoding=</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding-trail.htm
new file mode 100644
index 0000000000..f5078bf6be
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding.htm
new file mode 100644
index 0000000000..6427b6afd8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/gt-between-xml-and-encoding.htm
@@ -0,0 +1,4 @@
+<?xml>encoding="windows-1251"?>
+<p>XML decl without version with &gt; between <code>xml</code> and <code>encoding</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta-trail.htm
new file mode 100644
index 0000000000..afee7ba0eb
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta.htm
new file mode 100644
index 0000000000..231c6551ab
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16be-and-meta.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta-trail.htm
new file mode 100644
index 0000000000..a81fcb8f15
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta.htm
new file mode 100644
index 0000000000..77f511f48d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/incomplete-utf-16le-and-meta.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after-trail.htm
new file mode 100644
index 0000000000..71c61d11f7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after.htm
new file mode 100644
index 0000000000..76119c69a3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-after.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251" ?>
+<p>Normal XML decl with whitespace after encoding such that &gt; is the 1024th byte</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before-trail.htm
new file mode 100644
index 0000000000..f9ecc9f081
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before.htm
new file mode 100644
index 0000000000..8e209886a1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-before.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<p>Normal XML decl with whitespace before encoding such that &gt; is the 1024th byte</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after-trail.htm
new file mode 100644
index 0000000000..2f9513bc18
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after.htm
new file mode 100644
index 0000000000..8a837b5e97
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-after.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251" ?>
+<p>Normal XML decl with whitespace after encoding such that &gt; is the 1025th byte</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before-trail.htm
new file mode 100644
index 0000000000..1f3fa5ad9e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before.htm
new file mode 100644
index 0000000000..f0ddd21aa2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/kilobyte-plus-one-before.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<p>Normal XML decl with whitespace before encoding such that &gt; is the 1025th byte</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding-trail.htm
new file mode 100644
index 0000000000..bafb01454d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding.htm
new file mode 100644
index 0000000000..93d012c85e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/letter-between-xml-and-encoding.htm
@@ -0,0 +1,4 @@
+<?xmlaencoding="windows-1251"?>
+<p>XML decl without version with letter a between <code>xml</code> and <code>encoding</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding-trail.htm
new file mode 100644
index 0000000000..65b6900357
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding.htm
new file mode 100644
index 0000000000..240b44820f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/lt-between-xml-and-encoding.htm
@@ -0,0 +1,4 @@
+<?xml<encoding="windows-1251"?>
+<p>XML decl without version with &lt; between <code>xml</code> and <code>encoding</code></p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding-trail.htm
new file mode 100644
index 0000000000..39b048c238
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding.htm
new file mode 100644
index 0000000000..4e548ad83c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-charset-before-encoding.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" <meta charset="windows-1253" encoding="windows-1251"?>
+<p>Meta inside XML declaration with shared greater-than; charset before encoding</p>
+<p>Test: æ</p>
+<p>If &#x03B6;, meta takes precedence. If &#x0436;, XML decl takes precedence</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset-trail.htm
new file mode 100644
index 0000000000..e594801c09
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset.htm
new file mode 100644
index 0000000000..77725ed963
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/meta-inside-xml-encoding-before-charset.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" <meta encoding="windows-1251" charset="windows-1253"?>
+<p>Meta inside XML declaration with shared greater-than; encoding before charse</p>
+<p>Test: æ</p>
+<p>If &#x03B6;, meta takes precedence. If &#x0436;, XML decl takes precedence</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space-trail.htm
new file mode 100644
index 0000000000..79a3edf492
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space.htm
new file mode 100644
index 0000000000..354bbdcdd2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-space.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding=windows-1251 ?>
+<p>XML decl without quotes around encoding label and with space before question mark</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-trail.htm
new file mode 100644
index 0000000000..e0f5346728
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes.htm
new file mode 100644
index 0000000000..813ba1cdfe
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-quotes.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding=windows-1251?>
+<p>XML decl without quotes around encoding label and with question mark immediately after</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trail.htm
new file mode 100644
index 0000000000..d7db8d1a7f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals-trail.htm
new file mode 100644
index 0000000000..861d873572
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals.htm
new file mode 100644
index 0000000000..677b440e04
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals.htm
@@ -0,0 +1,6 @@
+<?xmlencoding
+ =
+ 'windows-1251'<body>
+<p>XML decl using single quotes with spaces around equals without version or space or trailing question mark with trailing less-than before greater-than</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals-trail.htm
new file mode 100644
index 0000000000..c7d2e31371
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals.htm
new file mode 100644
index 0000000000..ae3b580bca
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals.htm
@@ -0,0 +1,4 @@
+<?xmlencoding = 'windows-1251'<body>
+<p>XML decl using single quotes with spaces around equals without version or space or trailing question mark with trailing less-than before greater-than</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-trail.htm
new file mode 100644
index 0000000000..75963c8648
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes.htm
new file mode 100644
index 0000000000..ba56539d6b
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-single-quotes.htm
@@ -0,0 +1,4 @@
+<?xmlencoding='windows-1251'<body>
+<p>XML decl using single quotes without version or space or trailing question mark with trailing less-than before greater-than</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-trail.htm
new file mode 100644
index 0000000000..c873c4cd45
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body.htm
new file mode 100644
index 0000000000..199471e8ab
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-body.htm
@@ -0,0 +1,4 @@
+<?xmlencoding="windows-1251"<body>
+<p>XML decl without version or space or trailing question mark with trailing less-than before greater-than</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt-trail.htm
new file mode 100644
index 0000000000..d5a51adca9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt.htm
new file mode 100644
index 0000000000..a6c04781f7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question-trailing-lt.htm
@@ -0,0 +1,4 @@
+<?xmlencoding="windows-1251"<>
+<p>XML decl without version or space or trailing question mark with trailing less-than before greater-than</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question.htm
new file mode 100644
index 0000000000..282f6842e8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-or-trailing-question.htm
@@ -0,0 +1,4 @@
+<?xmlencoding="windows-1251">
+<p>XML decl without version or space or trailing question mark</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-trail.htm
new file mode 100644
index 0000000000..1d5ed24999
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space.htm
new file mode 100644
index 0000000000..bcf5cdcf19
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-or-space.htm
@@ -0,0 +1,4 @@
+<?xmlencoding="windows-1251"?>
+<p>XML decl without version or space</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-trail.htm
new file mode 100644
index 0000000000..e25ca2e12f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/no-version.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version.htm
new file mode 100644
index 0000000000..a04995501d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/no-version.htm
@@ -0,0 +1,4 @@
+<?xml encoding="windows-1251"?>
+<p>XML decl without version</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals-trail.htm
new file mode 100644
index 0000000000..32c67a0311
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals.htm
new file mode 100644
index 0000000000..fb5413dad8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-equals.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<p>\x01 around the equals sign for encoding</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label-trail.htm
new file mode 100644
index 0000000000..372c8993b9
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label.htm
new file mode 100644
index 0000000000..0a867feb83
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/one-around-label.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<p>\x01 around the label inside the quotes</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/replacement-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/replacement-trail.htm
new file mode 100644
index 0000000000..2179613d83
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/replacement-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/replacement.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/replacement.htm
new file mode 100644
index 0000000000..dc7d2d4ef5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/replacement.htm
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="ISO-2022-KR"?>
+<p>Normal XML decl with a label that resolves to replacement</p>
+<p>If this text is visible, the label did not resolve to replacement</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label-trail.htm
new file mode 100644
index 0000000000..4795ddf7d1
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label.htm
new file mode 100644
index 0000000000..9e5a2eb817
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/space-around-label.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding=" windows-1251 "?>
+<p>Spaces around the label inside the quotes</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/space-before-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/space-before-trail.htm
new file mode 100644
index 0000000000..998efe5438
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/space-before-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/space-before.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/space-before.htm
new file mode 100644
index 0000000000..e5c303abd8
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/space-before.htm
@@ -0,0 +1,4 @@
+ <?xml version="1.0" encoding="windows-1251"?>
+<p>Normal XML decl with space before</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/test_support.js b/testing/web-platform/tests/html/syntax/xmldecl/support/test_support.js
new file mode 100644
index 0000000000..ec3668d1bf
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/test_support.js
@@ -0,0 +1,26 @@
+function runAllTests() {
+ let divs = document.getElementsByTagName("div");
+ for (let i = 0; i < divs.length; ++i) {
+ let div = divs[i];
+ let expectation = div.className;
+ let iframes = div.getElementsByTagName("iframe");
+ for (let j = 0; j < iframes.length; ++j) {
+ let iframe = iframes[j];
+ let src = iframe.src;
+ let doc = iframe.contentWindow.document;
+ test(function() {
+ assert_equals(doc.characterSet, expectation, 'Check');
+ if (expectation == "windows-1251" || expectation == "windows-1252" && !(src.endsWith("/XML.htm") || src.endsWith("/XML-trail.htm"))) {
+ let fc = doc.firstChild;
+ assert_equals(fc.nodeType, Node.COMMENT_NODE, 'Should have comment node');
+ assert_true(fc.nodeValue.startsWith("?xml"), 'Should start with ?xml');
+ } else if (expectation == "UTF-16BE" || expectation == "UTF-16LE") {
+ let fc = doc.firstChild;
+ assert_equals(fc.nodeType, Node.COMMENT_NODE, 'Should have comment node');
+ assert_true(fc.nodeValue.startsWith("?x"), 'Should start with ?x');
+ }
+ }, "Check encoding " + expectation + ", " + src.substring(src.lastIndexOf("/") + 1));
+ }
+ }
+}
+
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/trickle.py b/testing/web-platform/tests/html/syntax/xmldecl/support/trickle.py
new file mode 100644
index 0000000000..f1ef785c94
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/trickle.py
@@ -0,0 +1,12 @@
+import time
+
+def main(request, response):
+ response.add_required_headers = False # Don't implicitly add HTTP headers
+ response.writer.write_status(200)
+ response.writer.write_header("Content-Type", "text/html")
+ response.writer.end_headers()
+
+ for b in b'<?xml version="1.0" encoding="windows-1251"?':
+ response.writer.write(bytes([b]))
+ time.sleep(0.05)
+ response.writer.write(b'>\n<p>Normal XML declation as slow byte-by-byte trickle</p>\n<p>Test: \xE6</p>\n<p>If &#x0436;, XML decl takes effect</p>')
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes-trail.htm
new file mode 100644
index 0000000000..afc015cab2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes.htm
new file mode 100644
index 0000000000..f4d05b390c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/unmatched-quotes.htm
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251'?>
+<p>XML decl without double quote before and single quote after encoding label</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta-trail.htm
new file mode 100644
index 0000000000..5117f6002c
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta.htm
new file mode 100644
index 0000000000..4b90b91c67
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-and-meta.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html
new file mode 100644
index 0000000000..212095d0ee
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html.headers b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html.headers
new file mode 100644
index 0000000000..e853d6cee5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http-trail.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=UTF-8
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html
new file mode 100644
index 0000000000..18f24fbe50
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html.headers b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html.headers
new file mode 100644
index 0000000000..e853d6cee5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16be-vs-http.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=UTF-8
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta-trail.htm
new file mode 100644
index 0000000000..8f7adac8de
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta.htm
new file mode 100644
index 0000000000..e530d1e49d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-and-meta.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html
new file mode 100644
index 0000000000..f9d0655386
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html.headers b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html.headers
new file mode 100644
index 0000000000..e853d6cee5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http-trail.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=UTF-8
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html
new file mode 100644
index 0000000000..466ac26e29
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html.headers b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html.headers
new file mode 100644
index 0000000000..e853d6cee5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/utf-16le-vs-http.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=UTF-8
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta-trail.htm
new file mode 100644
index 0000000000..ddee02383d
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta.htm
new file mode 100644
index 0000000000..3e8f64be0f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-and-meta.htm
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<meta charset="windows-1253">
+<p>Normal XML decl and meta</p>
+<p>Test: æ</p>
+<p>If &#x03B6;, meta takes precedence. If &#x0436;, XML decl takes precedence</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html
new file mode 100644
index 0000000000..e9c0352bf7
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html.headers b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html.headers
new file mode 100644
index 0000000000..e853d6cee5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http-trail.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=UTF-8
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html
new file mode 100644
index 0000000000..ff720a2da2
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<p>Normal XML decl</p>
+<p>Test: æ</p>
+<p>If &#x0436;, XML decl takes effect</p>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html.headers b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html.headers
new file mode 100644
index 0000000000..e853d6cee5
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/xml-vs-http.html.headers
@@ -0,0 +1 @@
+Content-Type: text/html; charset=UTF-8
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals-trail.htm
new file mode 100644
index 0000000000..60179cbbf3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals.htm
new file mode 100644
index 0000000000..7fecbca830
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-equals.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label-trail.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label-trail.htm
new file mode 100644
index 0000000000..761c76cfb3
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label-trail.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label.htm b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label.htm
new file mode 100644
index 0000000000..dfc05b0b3f
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/support/zero-around-label.htm
Binary files differ
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-1.html b/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-1.html
new file mode 100644
index 0000000000..40ebb932e4
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-1.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<meta charset="windows-1252">
+<title>Bogo-XML declaration</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=support/test_support.js></script>
+
+<script>
+setup({explicit_done:true});
+window.onload = function() {
+ runAllTests();
+ done();
+};
+</script>
+
+<section style="display: none;">
+<div class="windows-1251">
+<iframe src="support/baseline.htm"></iframe>
+<iframe src="support/cp1251.htm"></iframe>
+<iframe src="support/kilobyte-after.htm"></iframe>
+<iframe src="support/kilobyte-before.htm"></iframe>
+<iframe src="support/letter-between-xml-and-encoding.htm"></iframe>
+<iframe src="support/lt-between-xml-and-encoding.htm"></iframe>
+<iframe src="support/meta-inside-xml-charset-before-encoding.htm"></iframe>
+<iframe src="support/meta-inside-xml-encoding-before-charset.htm"></iframe>
+<iframe src="support/no-version.htm"></iframe>
+<iframe src="support/no-version-or-space.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-single-quotes.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-lt.htm"></iframe>
+<iframe src="support/one-around-equals.htm"></iframe>
+<iframe src="support/VERSION.htm"></iframe>
+<iframe src="support/WINDOWS.htm"></iframe>
+<iframe src="support/zero-around-equals.htm"></iframe>
+<iframe src="support/baseline-trail.htm"></iframe>
+<iframe src="support/cp1251-trail.htm"></iframe>
+<iframe src="support/kilobyte-after-trail.htm"></iframe>
+<iframe src="support/kilobyte-before-trail.htm"></iframe>
+<iframe src="support/letter-between-xml-and-encoding-trail.htm"></iframe>
+<iframe src="support/lt-between-xml-and-encoding-trail.htm"></iframe>
+<iframe src="support/meta-inside-xml-charset-before-encoding-trail.htm"></iframe>
+<iframe src="support/meta-inside-xml-encoding-before-charset-trail.htm"></iframe>
+<iframe src="support/no-version-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-and-line-breaks-around-equals-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-body-single-quotes-spaces-around-equals-trail.htm"></iframe>
+<iframe src="support/no-version-or-space-or-trailing-question-trailing-lt-trail.htm"></iframe>
+<iframe src="support/one-around-equals-trail.htm"></iframe>
+<iframe src="support/VERSION-trail.htm"></iframe>
+<iframe src="support/WINDOWS-trail.htm"></iframe>
+<iframe src="support/zero-around-equals-trail.htm"></iframe>
+</div>
+</section>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-2.html b/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-2.html
new file mode 100644
index 0000000000..6cb07afbb0
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-2.html
@@ -0,0 +1,78 @@
+<!doctype html>
+<meta charset="windows-1252">
+<title>Bogo-XML declaration</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=support/test_support.js></script>
+
+<script>
+setup({explicit_done:true});
+window.onload = function() {
+ runAllTests();
+ done();
+};
+</script>
+
+<section style="display: none;">
+<div class="windows-1251">
+<iframe src="support/kilobyte-plus-one-after.htm"></iframe>
+<iframe src="support/kilobyte-plus-one-before.htm"></iframe>
+<iframe src="support/kilobyte-plus-one-after-trail.htm"></iframe>
+<iframe src="support/kilobyte-plus-one-before-trail.htm"></iframe>
+</div>
+<div class="windows-1252">
+<iframe src="support/encodingencoding.htm"></iframe>
+<iframe src="support/encoding-equals-encoding.htm"></iframe>
+<iframe src="support/ENCODING.htm"></iframe>
+<iframe src="support/gt-between-xml-and-encoding.htm"></iframe>
+<iframe src="support/no-quotes.htm"></iframe>
+<iframe src="support/no-quotes-space.htm"></iframe>
+<iframe src="support/one-around-label.htm"></iframe>
+<iframe src="support/space-around-label.htm"></iframe>
+<iframe src="support/space-before.htm"></iframe>
+<iframe src="support/unmatched-quotes.htm"></iframe>
+<iframe src="support/XML.htm"></iframe>
+<iframe src="support/zero-around-label.htm"></iframe>
+<iframe src="support/encodingencoding-trail.htm"></iframe>
+<iframe src="support/encoding-equals-encoding-trail.htm"></iframe>
+<iframe src="support/ENCODING-trail.htm"></iframe>
+<iframe src="support/gt-between-xml-and-encoding-trail.htm"></iframe>
+<iframe src="support/no-quotes-trail.htm"></iframe>
+<iframe src="support/no-quotes-space-trail.htm"></iframe>
+<iframe src="support/one-around-label-trail.htm"></iframe>
+<iframe src="support/space-around-label-trail.htm"></iframe>
+<iframe src="support/space-before-trail.htm"></iframe>
+<iframe src="support/unmatched-quotes-trail.htm"></iframe>
+<iframe src="support/XML-trail.htm"></iframe>
+<iframe src="support/zero-around-label-trail.htm"></iframe>
+</div>
+<div class="windows-1253">
+<iframe src="support/xml-and-meta.htm"></iframe>
+<iframe src="support/incomplete-utf-16le-and-meta.htm"></iframe>
+<iframe src="support/incomplete-utf-16be-and-meta.htm"></iframe>
+<iframe src="support/xml-and-meta-trail.htm"></iframe>
+<iframe src="support/incomplete-utf-16le-and-meta-trail.htm"></iframe>
+<iframe src="support/incomplete-utf-16be-and-meta-trail.htm"></iframe>
+</div>
+<div class="UTF-16LE">
+<iframe src="support/utf-16le-and-meta.htm"></iframe>
+<iframe src="support/utf-16le-and-meta-trail.htm"></iframe>
+</div>
+<div class="UTF-16BE">
+<iframe src="support/utf-16be-and-meta.htm"></iframe>
+<iframe src="support/utf-16be-and-meta-trail.htm"></iframe>
+</div>
+<div class="UTF-8">
+<iframe src="support/utf-16le-vs-http.html"></iframe>
+<iframe src="support/utf-16be-vs-http.html"></iframe>
+<iframe src="support/xml-vs-http.html"></iframe>
+<iframe src="support/utf-16le-vs-http-trail.html"></iframe>
+<iframe src="support/utf-16be-vs-http-trail.html"></iframe>
+<iframe src="support/xml-vs-http-trail.html"></iframe>
+<iframe src="support/ascii-decl-for-utf-16.htm"></iframe>
+</div>
+<div class="replacement">
+<iframe src="support/replacement.htm"></iframe>
+<iframe src="support/replacement-trail.htm"></iframe>
+</div>
+</section>
diff --git a/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-3.html b/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-3.html
new file mode 100644
index 0000000000..a9f179de4e
--- /dev/null
+++ b/testing/web-platform/tests/html/syntax/xmldecl/xmldecl-3.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<meta charset="windows-1252">
+<meta name="timeout" content="long">
+<title>Bogo-XML declaration</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=support/test_support.js></script>
+
+<script>
+setup({explicit_done:true});
+window.onload = function() {
+ runAllTests();
+ done();
+};
+</script>
+
+<section style="display: none;">
+<div class="windows-1251">
+<iframe src="support/trickle.py"></iframe>
+</div>
+</section>