From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../tests/html/dom/aria-attribute-reflection.html | 487 +++++++++ .../dom/aria-element-reflection-disconnected.html | 82 ++ .../tests/html/dom/aria-element-reflection.html | 846 ++++++++++++++++ .../bdi-element-invalid-dir-ref.html | 13 + .../directionality/bdi-element-invalid-dir.html | 17 + .../dom-tree-accessors/Document.body.html | 227 +++++ .../dom-tree-accessors/Document.currentScript.html | 219 ++++ ...Document.getElementsByClassName-null-undef.html | 30 + .../Element.getElementsByClassName-null-undef.html | 30 + .../documents/dom-tree-accessors/cross-domain.js | 1 + .../document.embeds-document.plugins-01.html | 87 ++ .../dom-tree-accessors/document.forms.html | 83 ++ .../document.getElementsByClassName-same.html | 17 + .../document.getElementsByName-case-xhtml.xhtml | 21 + .../document.getElementsByName-case.html | 16 + .../document.getElementsByName-id-xhtml.xhtml | 20 + .../document.getElementsByName-id.html | 15 + .../document.getElementsByName-interface.html | 16 + .../document.getElementsByName-liveness.html | 26 + ...ocument.getElementsByName-namespace-xhtml.xhtml | 32 + .../document.getElementsByName-namespace.html | 27 + ...ument.getElementsByName-newelements-xhtml.xhtml | 126 +++ .../document.getElementsByName-newelements.html | 47 + ...cument.getElementsByName-null-undef-xhtml.xhtml | 35 + .../document.getElementsByName-null-undef.html | 30 + .../document.getElementsByName-param-xhtml.xhtml | 28 + .../document.getElementsByName-param.html | 23 + .../document.getElementsByName-same.html | 17 + .../dom-tree-accessors/document.head-01.html | 22 + .../dom-tree-accessors/document.head-02.html | 20 + .../dom-tree-accessors/document.images.html | 119 +++ .../dom-tree-accessors/document.links.html | 27 + .../dom-tree-accessors/document.scripts.html | 21 + .../dom-tree-accessors/document.title-01.html | 32 + .../dom-tree-accessors/document.title-02.xhtml | 37 + .../dom-tree-accessors/document.title-03.html | 31 + .../dom-tree-accessors/document.title-04.xhtml | 48 + .../dom-tree-accessors/document.title-05.html | 42 + .../dom-tree-accessors/document.title-06.html | 19 + .../dom-tree-accessors/document.title-07.html | 11 + .../dom-tree-accessors/document.title-08.html | 22 + .../dom-tree-accessors/document.title-09.html | 97 ++ .../document.title-not-in-html-svg.html | 27 + .../documents/dom-tree-accessors/nameditem-01.html | 19 + .../documents/dom-tree-accessors/nameditem-02.html | 99 ++ .../documents/dom-tree-accessors/nameditem-03.html | 18 + .../documents/dom-tree-accessors/nameditem-04.html | 104 ++ .../documents/dom-tree-accessors/nameditem-05.html | 104 ++ .../documents/dom-tree-accessors/nameditem-06.html | 104 ++ .../documents/dom-tree-accessors/nameditem-07.html | 109 ++ .../documents/dom-tree-accessors/nameditem-08.html | 31 + .../dom-tree-accessors/nameditem-names.html | 101 ++ .../document-compatmode-01.html | 13 + .../document-compatmode-02.html | 14 + .../document-compatmode-03.html | 12 + .../document-compatmode-04.xhtml | 18 + .../document-compatmode-05.xhtml | 19 + .../document-compatmode-06.xhtml | 17 + .../document-cookie.html | 41 + .../document-lastModified-01.html | 25 + .../document-lastModified.html | 15 + .../document-lastModified.html.headers | 1 + .../document-readyState.html | 33 + .../support/document-lastModified-utils.js | 78 ++ .../tests/html/dom/elements-embedded.js | 156 +++ .../tests/html/dom/elements-forms-weekmonth.js | 42 + .../web-platform/tests/html/dom/elements-forms.js | 128 +++ .../tests/html/dom/elements-grouping.js | 57 ++ .../tests/html/dom/elements-metadata.js | 50 + .../web-platform/tests/html/dom/elements-misc.js | 60 ++ .../tests/html/dom/elements-obsolete.js | 50 + .../tests/html/dom/elements-sections.js | 64 ++ .../tests/html/dom/elements-tabular.js | 109 ++ .../web-platform/tests/html/dom/elements-text.js | 63 ++ .../elements/elements-in-the-dom/historical.html | 24 + .../elements-in-the-dom/unknown-element.html | 22 + .../html/dom/elements/global-attributes/.htaccess | 16 + .../global-attributes/classlist-nonstring.html | 44 + .../elements/global-attributes/custom-attrs.html | 29 + .../global-attributes/data_unicode_attr.html | 22 + .../global-attributes/dataset-binding.window.js | 45 + .../elements/global-attributes/dataset-delete.html | 54 + .../global-attributes/dataset-enumeration.html | 31 + .../elements/global-attributes/dataset-get.html | 57 ++ .../global-attributes/dataset-prototype.html | 26 + .../elements/global-attributes/dataset-set.html | 44 + .../dom/elements/global-attributes/dataset.html | 38 + .../global-attributes/dir-assorted.window.js | 115 +++ .../dir-auto-div-append-child.html | 18 + .../dir-auto-dynamic-changes.window.js | 276 +++++ .../dir-auto-form-associated.window.js | 71 ++ .../elements/global-attributes/dir-bdi-script.html | 24 + .../global-attributes/dir-shadow-01-ref.html | 23 + .../elements/global-attributes/dir-shadow-01.html | 33 + .../global-attributes/dir-shadow-02-ref.html | 23 + .../elements/global-attributes/dir-shadow-02.html | 33 + .../global-attributes/dir-shadow-03-ref.html | 23 + .../elements/global-attributes/dir-shadow-03.html | 33 + .../global-attributes/dir-shadow-04-ref.html | 23 + .../elements/global-attributes/dir-shadow-04.html | 33 + .../global-attributes/dir-shadow-05-ref.html | 23 + .../elements/global-attributes/dir-shadow-05.html | 33 + .../global-attributes/dir-shadow-06-ref.html | 23 + .../elements/global-attributes/dir-shadow-06.html | 33 + .../global-attributes/dir-shadow-07-ref.html | 23 + .../elements/global-attributes/dir-shadow-07.html | 33 + .../global-attributes/dir-shadow-08-ref.html | 23 + .../elements/global-attributes/dir-shadow-08.html | 33 + .../global-attributes/dir-shadow-09-ref.html | 23 + .../elements/global-attributes/dir-shadow-09.html | 33 + .../global-attributes/dir-shadow-10-ref.html | 23 + .../elements/global-attributes/dir-shadow-10.html | 33 + .../global-attributes/dir-shadow-11-ref.html | 23 + .../elements/global-attributes/dir-shadow-11.html | 33 + .../global-attributes/dir-shadow-12-ref.html | 23 + .../elements/global-attributes/dir-shadow-12.html | 31 + .../global-attributes/dir-shadow-13-ref.html | 23 + .../elements/global-attributes/dir-shadow-13.html | 30 + .../global-attributes/dir-shadow-14-ref.html | 23 + .../elements/global-attributes/dir-shadow-14.html | 30 + .../global-attributes/dir-shadow-15-ref.html | 24 + .../elements/global-attributes/dir-shadow-15.html | 30 + .../global-attributes/dir-shadow-16-ref.html | 23 + .../elements/global-attributes/dir-shadow-16.html | 30 + .../global-attributes/dir-shadow-17-ref.html | 23 + .../elements/global-attributes/dir-shadow-17.html | 30 + .../global-attributes/dir-shadow-18-ref.html | 23 + .../elements/global-attributes/dir-shadow-18.html | 30 + .../global-attributes/dir-shadow-19-ref.html | 23 + .../elements/global-attributes/dir-shadow-19.html | 30 + .../global-attributes/dir-shadow-20-ref.html | 22 + .../elements/global-attributes/dir-shadow-20.html | 30 + .../global-attributes/dir-shadow-21-ref.html | 22 + .../elements/global-attributes/dir-shadow-21.html | 30 + .../global-attributes/dir-shadow-22-ref.html | 23 + .../elements/global-attributes/dir-shadow-22.html | 30 + .../global-attributes/dir-shadow-23-ref.html | 22 + .../elements/global-attributes/dir-shadow-23.html | 30 + .../global-attributes/dir-shadow-24-ref.html | 22 + .../elements/global-attributes/dir-shadow-24.html | 30 + .../global-attributes/dir-shadow-25-ref.html | 25 + .../elements/global-attributes/dir-shadow-25.html | 32 + .../global-attributes/dir-shadow-26-ref.html | 25 + .../elements/global-attributes/dir-shadow-26.html | 32 + .../global-attributes/dir-shadow-27-ref.html | 25 + .../elements/global-attributes/dir-shadow-27.html | 32 + .../global-attributes/dir-shadow-28-ref.html | 25 + .../elements/global-attributes/dir-shadow-28.html | 32 + .../global-attributes/dir-shadow-29-ref.html | 25 + .../elements/global-attributes/dir-shadow-29.html | 32 + .../global-attributes/dir-shadow-30-ref.html | 25 + .../elements/global-attributes/dir-shadow-30.html | 32 + .../global-attributes/dir-shadow-31-ref.html | 23 + .../elements/global-attributes/dir-shadow-31.html | 32 + .../global-attributes/dir-shadow-32-ref.html | 23 + .../elements/global-attributes/dir-shadow-32.html | 30 + .../global-attributes/dir-shadow-33-ref.html | 23 + .../elements/global-attributes/dir-shadow-33.html | 32 + .../global-attributes/dir-shadow-34-ref.html | 23 + .../elements/global-attributes/dir-shadow-34.html | 32 + .../global-attributes/dir-shadow-35-ref.html | 23 + .../elements/global-attributes/dir-shadow-35.html | 32 + .../global-attributes/dir-shadow-36-ref.html | 23 + .../elements/global-attributes/dir-shadow-36.html | 32 + .../global-attributes/dir-shadow-37-ref.html | 23 + .../elements/global-attributes/dir-shadow-37.html | 32 + .../global-attributes/dir-shadow-38-ref.html | 23 + .../elements/global-attributes/dir-shadow-38.html | 32 + .../global-attributes/dir-shadow-39-ref.html | 24 + .../elements/global-attributes/dir-shadow-39.html | 32 + .../global-attributes/dir-shadow-40-ref.html | 23 + .../elements/global-attributes/dir-shadow-40.html | 32 + .../global-attributes/dir-shadow-41-ref.html | 24 + .../elements/global-attributes/dir-shadow-41.html | 32 + .../elements/global-attributes/dir-shadow-utils.js | 8 + .../dir-slots-directionality.html | 97 ++ .../global-attributes/dir_auto-EN-L-ref.html | 57 ++ .../elements/global-attributes/dir_auto-EN-L.html | 58 ++ .../global-attributes/dir_auto-EN-R-ref.html | 57 ++ .../elements/global-attributes/dir_auto-EN-R.html | 58 ++ .../elements/global-attributes/dir_auto-L-ref.html | 57 ++ .../dom/elements/global-attributes/dir_auto-L.html | 58 ++ .../global-attributes/dir_auto-N-EN-L-ref.html | 57 ++ .../global-attributes/dir_auto-N-EN-L.html | 58 ++ .../global-attributes/dir_auto-N-EN-R-ref.html | 57 ++ .../global-attributes/dir_auto-N-EN-R.html | 58 ++ .../global-attributes/dir_auto-N-EN-ref.html | 50 + .../elements/global-attributes/dir_auto-N-EN.html | 51 + .../global-attributes/dir_auto-N-L-ref.html | 57 ++ .../elements/global-attributes/dir_auto-N-L.html | 58 ++ .../global-attributes/dir_auto-N-R-ref.html | 57 ++ .../elements/global-attributes/dir_auto-N-R.html | 58 ++ .../elements/global-attributes/dir_auto-R-ref.html | 58 ++ .../dom/elements/global-attributes/dir_auto-R.html | 58 ++ .../dir_auto-contained-L-ref.html | 61 ++ .../global-attributes/dir_auto-contained-L.html | 62 ++ .../dir_auto-contained-R-ref.html | 57 ++ .../global-attributes/dir_auto-contained-R.html | 58 ++ .../dir_auto-contained-bdi-L-ref.html | 60 ++ .../dir_auto-contained-bdi-L.html | 61 ++ .../dir_auto-contained-bdi-R-ref.html | 57 ++ .../dir_auto-contained-bdi-R.html | 58 ++ .../dir_auto-contained-dir-L-ref.html | 60 ++ .../dir_auto-contained-dir-L.html | 61 ++ .../dir_auto-contained-dir-R-ref.html | 57 ++ .../dir_auto-contained-dir-R.html | 58 ++ .../dir_auto-contained-dir_auto-L-ref.html | 60 ++ .../dir_auto-contained-dir_auto-L.html | 61 ++ .../dir_auto-contained-dir_auto-R-ref.html | 57 ++ .../dir_auto-contained-dir_auto-R.html | 58 ++ .../dir_auto-contained-script-L-ref.html | 57 ++ .../dir_auto-contained-script-L.html | 58 ++ .../dir_auto-contained-script-R-ref.html | 58 ++ .../dir_auto-contained-script-R.html | 59 ++ .../dir_auto-contained-style-L-ref.html | 57 ++ .../dir_auto-contained-style-L.html | 58 ++ .../dir_auto-contained-style-R-ref.html | 57 ++ .../dir_auto-contained-style-R.html | 58 ++ .../dir_auto-contained-textarea-L-ref.html | 60 ++ .../dir_auto-contained-textarea-L.html | 61 ++ .../dir_auto-contained-textarea-R-ref.html | 57 ++ .../dir_auto-contained-textarea-R.html | 58 ++ .../global-attributes/dir_auto-input-EN-L-ref.html | 58 ++ .../global-attributes/dir_auto-input-EN-L.html | 59 ++ .../global-attributes/dir_auto-input-EN-R-ref.html | 58 ++ .../global-attributes/dir_auto-input-EN-R.html | 59 ++ .../global-attributes/dir_auto-input-L-ref.html | 58 ++ .../global-attributes/dir_auto-input-L.html | 59 ++ .../dir_auto-input-N-EN-L-ref.html | 58 ++ .../global-attributes/dir_auto-input-N-EN-L.html | 59 ++ .../dir_auto-input-N-EN-R-ref.html | 58 ++ .../global-attributes/dir_auto-input-N-EN-R.html | 59 ++ .../global-attributes/dir_auto-input-N-EN-ref.html | 53 + .../global-attributes/dir_auto-input-N-EN.html | 54 + .../global-attributes/dir_auto-input-N-L-ref.html | 58 ++ .../global-attributes/dir_auto-input-N-L.html | 59 ++ .../global-attributes/dir_auto-input-N-R-ref.html | 58 ++ .../global-attributes/dir_auto-input-N-R.html | 59 ++ .../global-attributes/dir_auto-input-R-ref.html | 58 ++ .../global-attributes/dir_auto-input-R.html | 59 ++ .../dir_auto-input-script-EN-L-ref.html | 58 ++ .../dir_auto-input-script-EN-L.html | 70 ++ .../dir_auto-input-script-EN-R-ref.html | 58 ++ .../dir_auto-input-script-EN-R.html | 70 ++ .../dir_auto-input-script-L-ref.html | 58 ++ .../global-attributes/dir_auto-input-script-L.html | 70 ++ .../dir_auto-input-script-N-EN-L-ref.html | 58 ++ .../dir_auto-input-script-N-EN-L.html | 70 ++ .../dir_auto-input-script-N-EN-R-ref.html | 58 ++ .../dir_auto-input-script-N-EN-R.html | 70 ++ .../dir_auto-input-script-N-EN-ref.html | 53 + .../dir_auto-input-script-N-EN.html | 69 ++ .../dir_auto-input-script-N-L-ref.html | 58 ++ .../dir_auto-input-script-N-L.html | 70 ++ .../dir_auto-input-script-N-R-ref.html | 58 ++ .../dir_auto-input-script-N-R.html | 70 ++ .../dir_auto-input-script-R-ref.html | 58 ++ .../global-attributes/dir_auto-input-script-R.html | 70 ++ .../global-attributes/dir_auto-isolate-ref.html | 57 ++ .../global-attributes/dir_auto-isolate.html | 58 ++ .../global-attributes/dir_auto-pre-N-EN-ref.html | 49 + .../global-attributes/dir_auto-pre-N-EN.html | 66 ++ .../dir_auto-pre-N-between-Rs-ref.html | 61 ++ .../dir_auto-pre-N-between-Rs.html | 76 ++ .../global-attributes/dir_auto-pre-mixed-ref.html | 61 ++ .../global-attributes/dir_auto-pre-mixed.html | 77 ++ .../dir_auto-textarea-N-EN-ref.html | 49 + .../global-attributes/dir_auto-textarea-N-EN.html | 66 ++ .../dir_auto-textarea-N-between-Rs-ref.html | 64 ++ .../dir_auto-textarea-N-between-Rs.html | 79 ++ .../dir_auto-textarea-mixed-ref.html | 64 ++ .../global-attributes/dir_auto-textarea-mixed.html | 80 ++ .../dir_auto-textarea-script-N-EN-ref.html | 49 + .../dir_auto-textarea-script-N-EN.html | 77 ++ .../dir_auto-textarea-script-N-between-Rs-ref.html | 60 ++ .../dir_auto-textarea-script-N-between-Rs.html | 84 ++ .../dir_auto-textarea-script-mixed-ref.html | 64 ++ .../dir_auto-textarea-script-mixed.html | 100 ++ .../elements/global-attributes/document-dir.html | 26 + .../elements/global-attributes/id-attribute.html | 130 +++ .../global-attributes/id-name-specialcase.html | 30 + .../dom/elements/global-attributes/id-name.html | 17 + .../lang-attribute-shadow.window.js | 81 ++ .../global-attributes/lang-attribute.window.js | 16 + .../global-attributes/lang-xmllang-01-ref.html | 20 + .../global-attributes/lang-xmllang-01.html | 58 ++ .../elements/global-attributes/lang-xyzzy-ref.html | 9 + .../dom/elements/global-attributes/lang-xyzzy.html | 12 + .../mapped-attribute-adopt-001.html | 23 + .../elements/global-attributes/style-01-ref.html | 24 + .../dom/elements/global-attributes/style-01.html | 26 + .../the-anchor-attribute-001.tentative.html | 39 + .../the-anchor-attribute-002.tentative.html | 50 + .../the-anchor-attribute-003-crash.tentative.html | 27 + .../the-anchor-attribute-003.tentative.html | 71 ++ .../global-attributes/the-lang-attribute-001.html | 41 + .../global-attributes/the-lang-attribute-002.html | 41 + .../global-attributes/the-lang-attribute-003.html | 41 + .../the-lang-attribute-003.html.headers | 1 + .../global-attributes/the-lang-attribute-004.html | 42 + .../global-attributes/the-lang-attribute-005.html | 41 + .../the-lang-attribute-005.html.headers | 1 + .../global-attributes/the-lang-attribute-006.html | 42 + .../the-lang-attribute-006.html.headers | 1 + .../global-attributes/the-lang-attribute-007.html | 42 + .../global-attributes/the-lang-attribute-008.html | 41 + .../global-attributes/the-lang-attribute-009.html | 41 + .../the-lang-attribute-009.html.headers | 1 + .../global-attributes/the-lang-attribute-010.html | 42 + .../the-lang-attribute-011.html.headers | 1 + .../the-translate-attribute-007.html | 29 + .../the-translate-attribute-008.html | 29 + .../the-translate-attribute-009.html | 29 + .../the-translate-attribute-010.html | 29 + .../the-translate-attribute-011.html | 29 + .../the-translate-attribute-012.html | 29 + .../elements/global-attributes/title-manual.html | 8 + ...ranslate-enumerated-ascii-case-insensitive.html | 26 + .../translate-inherit-no-parent-element.html | 33 + .../translate-non-html-translation-mode.html | 46 + .../elements/images/bypass-cache-revalidation.html | 37 + .../tests/html/dom/elements/images/image.py | 28 + .../name-content-attribute-and-property.html | 57 ++ .../dir-isolation-001a.html | 36 + .../dir-isolation-001b.html | 36 + .../dir-isolation-001c.html | 36 + .../dir-isolation-002a.html | 36 + .../dir-isolation-002b.html | 36 + .../dir-isolation-002c.html | 36 + .../dir-isolation-003a.html | 36 + .../dir-isolation-003b.html | 36 + .../dir-isolation-003c.html | 36 + .../dir-isolation-004a.html | 36 + .../dir-isolation-004b.html | 36 + .../dir-isolation-004c.html | 36 + .../dir-isolation-005a.html | 36 + .../dir-isolation-005b.html | 36 + .../dir-isolation-005c.html | 36 + .../dir-isolation-006a.html | 32 + .../dir-isolation-006b.html | 32 + .../dir-isolation-006c.html | 32 + .../dir-isolation-007a.html | 36 + .../dir-isolation-007b.html | 36 + .../dir-isolation-007c.html | 36 + .../dir-isolation-008a.html | 36 + .../dir-isolation-008b.html | 36 + .../dir-isolation-008c.html | 36 + .../dir-isolation-009a.html | 33 + .../dir-isolation-009b.html | 33 + .../dir-isolation-009c.html | 33 + .../reference/dir-isolation-001-ref.html | 16 + .../reference/dir-isolation-002a-ref.html | 16 + .../reference/dir-isolation-002b-ref.html | 16 + .../reference/dir-isolation-002c-ref.html | 16 + .../reference/dir-isolation-003-ref.html | 16 + .../reference/dir-isolation-004-ref.html | 16 + .../reference/dir-isolation-005-ref.html | 16 + .../reference/dir-isolation-006-ref.html | 16 + .../reference/dir-isolation-006c-ref.html | 16 + .../reference/dir-isolation-007-ref.html | 16 + .../reference/dir-isolation-008-ref.html | 16 + .../reference/dir-isolation-009-ref.html | 16 + .../reference/dir-isolation-009b-ref.html | 16 + .../dynamic-getter.html | 88 ++ .../getter-first-letter-marker-multicol.html | 18 + .../getter-tests.js | 401 ++++++++ .../getter.html | 64 ++ .../innertext-domnoderemoved-crash.html | 16 + .../innertext-setter-tests.js | 42 + .../innertext-setter.html | 88 ++ .../multiple-text-nodes.window.js | 16 + .../outertext-setter.html | 180 ++++ .../tests/html/dom/elements/wai-aria/README.md | 1 + .../web-platform/tests/html/dom/historical.html | 55 + .../html/dom/idlharness-shadowrealm.window.js | 2 + .../tests/html/dom/idlharness.https.html | 241 +++++ .../tests/html/dom/idlharness.worker.js | 22 + testing/web-platform/tests/html/dom/new-harness.js | 11 + .../tests/html/dom/original-harness.js | 339 +++++++ .../tests/html/dom/reflection-embedded.html | 17 + .../tests/html/dom/reflection-forms-weekmonth.html | 17 + .../tests/html/dom/reflection-forms.html | 17 + .../tests/html/dom/reflection-grouping.html | 17 + .../tests/html/dom/reflection-metadata.html | 17 + .../tests/html/dom/reflection-misc.html | 17 + .../tests/html/dom/reflection-obsolete.html | 17 + .../tests/html/dom/reflection-original.html | 40 + .../tests/html/dom/reflection-sections.html | 17 + .../tests/html/dom/reflection-tabular.html | 17 + .../tests/html/dom/reflection-text.html | 17 + testing/web-platform/tests/html/dom/reflection.js | 1065 ++++++++++++++++++++ .../dom/render-blocking/blocking-idl-attr.html | 44 + .../element-render-blocking-001.tentative.html | 28 + .../element-render-blocking-002.tentative.html | 37 + .../element-render-blocking-003.tentative.html | 33 + .../element-render-blocking-004.tentative.html | 30 + .../element-render-blocking-005.tentative.html | 30 + .../element-render-blocking-006.tentative.html | 30 + .../element-render-blocking-007.tentative.html | 28 + .../element-render-blocking-008.tentative.html | 30 + .../element-render-blocking-009.tentative.html | 30 + .../element-render-blocking-010.tentative.html | 30 + .../element-render-blocking-011.tentative.html | 30 + .../element-render-blocking-012.tentative.html | 30 + .../element-render-blocking-013.tentative.html | 30 + .../element-render-blocking-014.tentative.html | 36 + .../element-render-blocking-015.tentative.html | 32 + .../element-render-blocking-016.tentative.html | 32 + .../element-render-blocking-017.tentative.html | 31 + .../element-render-blocking-018.tentative.html | 32 + .../element-render-blocking-019.tentative.html | 32 + .../element-render-blocking-020.tentative.html | 31 + .../element-render-blocking-021.tentative.html | 35 + .../element-render-blocking-022.tentative.html | 32 + .../element-render-blocking-023.tentative.html | 31 + .../element-render-blocking-024.tentative.html | 36 + .../element-render-blocking-025.tentative.html | 38 + .../element-render-blocking-026.tentative.html | 38 + .../element-render-blocking-027.tentative.html | 38 + .../element-render-blocking-028.tentative.html | 48 + .../non-render-blocking-scripts.optional.html | 61 ++ .../render-blocking/parser-blocking-script.html | 19 + ...r-inserted-async-inline-module-with-import.html | 21 + .../parser-inserted-async-script.html | 19 + .../parser-inserted-defer-script.html | 19 + .../parser-inserted-inline-module-with-import.html | 21 + .../parser-inserted-module-script.html | 19 + .../parser-inserted-style-element.html | 20 + .../parser-inserted-stylesheet-link.html | 18 + .../remove-attr-script-keeps-blocking.html | 25 + .../remove-attr-style-keeps-blocking.html | 28 + ...remove-attr-stylesheet-link-keeps-blocking.html | 27 + .../remove-attr-unblocks-rendering.optional.html | 86 ++ ...remove-element-unblocks-rendering.optional.html | 83 ++ ...emove-pending-async-render-blocking-script.html | 19 + .../script-inserted-inline-module-with-import.html | 25 + .../script-inserted-module-script.html | 22 + .../render-blocking/script-inserted-script.html | 21 + .../script-inserted-style-element.html | 26 + .../script-inserted-stylesheet-link.html | 27 + .../html/dom/render-blocking/support/dummy-1.js | 1 + .../html/dom/render-blocking/support/dummy-1.mjs | 1 + .../dom/render-blocking/support/target-red.css | 3 + .../support/test-render-blocking.js | 118 +++ .../html/dom/render-blocking/support/utils.js | 5 + .../html/dom/resources/self-origin-subframe.html | 22 + .../web-platform/tests/html/dom/self-origin.any.js | 5 + .../tests/html/dom/self-origin.sub.html | 93 ++ .../tests/html/dom/usvstring-reflection.https.html | 139 +++ 449 files changed, 21914 insertions(+) create mode 100644 testing/web-platform/tests/html/dom/aria-attribute-reflection.html create mode 100644 testing/web-platform/tests/html/dom/aria-element-reflection-disconnected.html create mode 100644 testing/web-platform/tests/html/dom/aria-element-reflection.html create mode 100644 testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir-ref.html create mode 100644 testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null-undef.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Element.getElementsByClassName-null-undef.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/cross-domain.js create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.embeds-document.plugins-01.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.forms.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-liveness.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-01.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-02.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.images.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.links.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.scripts.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-01.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-02.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-03.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-04.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-05.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-06.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-07.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-08.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-09.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-not-in-html-svg.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-01.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-02.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-03.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-04.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-05.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-06.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-07.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-08.html create mode 100644 testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-names.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-01.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-02.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-03.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-04.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-05.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-06.xhtml create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-cookie.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified-01.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html.headers create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-readyState.html create mode 100644 testing/web-platform/tests/html/dom/documents/resource-metadata-management/support/document-lastModified-utils.js create mode 100644 testing/web-platform/tests/html/dom/elements-embedded.js create mode 100644 testing/web-platform/tests/html/dom/elements-forms-weekmonth.js create mode 100644 testing/web-platform/tests/html/dom/elements-forms.js create mode 100644 testing/web-platform/tests/html/dom/elements-grouping.js create mode 100644 testing/web-platform/tests/html/dom/elements-metadata.js create mode 100644 testing/web-platform/tests/html/dom/elements-misc.js create mode 100644 testing/web-platform/tests/html/dom/elements-obsolete.js create mode 100644 testing/web-platform/tests/html/dom/elements-sections.js create mode 100644 testing/web-platform/tests/html/dom/elements-tabular.js create mode 100644 testing/web-platform/tests/html/dom/elements-text.js create mode 100644 testing/web-platform/tests/html/dom/elements/elements-in-the-dom/historical.html create mode 100644 testing/web-platform/tests/html/dom/elements/elements-in-the-dom/unknown-element.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/.htaccess create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/classlist-nonstring.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/custom-attrs.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/data_unicode_attr.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset-binding.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset-enumeration.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset-get.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset-prototype.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dataset.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-assorted.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-div-append-child.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-dynamic-changes.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-form-associated.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-bdi-script.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-01-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-01.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-02-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-02.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-03-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-03.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-04-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-04.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-05-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-05.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-06-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-06.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-07-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-07.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-08-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-08.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-09-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-09.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-10-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-10.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-11-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-11.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-12-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-12.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-13-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-13.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-14-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-14.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-15-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-15.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-16-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-16.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-17-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-17.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-18-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-18.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-19-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-19.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-20-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-20.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-21-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-21.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-22-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-22.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-23-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-23.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-24-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-24.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-25-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-25.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-26-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-26.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-27-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-27.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-28-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-28.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-29-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-29.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-30-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-30.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-31-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-31.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-32-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-32.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-33-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-33.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-34-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-34.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-35-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-35.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-36-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-36.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-37-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-37.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-38-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-38.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-39-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-39.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-40-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-40.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-41-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-41.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-shadow-utils.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir-slots-directionality.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-EN-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-EN-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-EN-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-EN-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-EN-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-EN-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-EN-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-EN-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-EN-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-EN.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-N-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-bdi-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-bdi-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-bdi-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-bdi-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-script-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-script-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-script-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-script-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-style-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-style-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-style-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-style-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/document-dir.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/id-attribute.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/id-name-specialcase.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/id-name.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute-shadow.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/mapped-attribute-adopt-001.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/style-01-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/style-01.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-001.tentative.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-002.tentative.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003-crash.tentative.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003.tentative.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-001.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-002.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html.headers create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-004.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html.headers create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html.headers create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-007.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-008.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html.headers create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-010.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-011.html.headers create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-007.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-008.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-009.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-010.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-011.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-012.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/title-manual.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/translate-enumerated-ascii-case-insensitive.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/translate-inherit-no-parent-element.html create mode 100644 testing/web-platform/tests/html/dom/elements/global-attributes/translate-non-html-translation-mode.html create mode 100644 testing/web-platform/tests/html/dom/elements/images/bypass-cache-revalidation.html create mode 100644 testing/web-platform/tests/html/dom/elements/images/image.py create mode 100644 testing/web-platform/tests/html/dom/elements/name-content-attribute-and-property.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009a.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009b.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009c.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-001-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002a-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002b-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002c-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-003-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-004-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-005-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006c-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-007-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-008-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009b-ref.html create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/dynamic-getter.html create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-first-letter-marker-multicol.html create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-tests.js create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter.html create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/innertext-domnoderemoved-crash.html create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/innertext-setter-tests.js create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/innertext-setter.html create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/multiple-text-nodes.window.js create mode 100644 testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/outertext-setter.html create mode 100644 testing/web-platform/tests/html/dom/elements/wai-aria/README.md create mode 100644 testing/web-platform/tests/html/dom/historical.html create mode 100644 testing/web-platform/tests/html/dom/idlharness-shadowrealm.window.js create mode 100644 testing/web-platform/tests/html/dom/idlharness.https.html create mode 100644 testing/web-platform/tests/html/dom/idlharness.worker.js create mode 100644 testing/web-platform/tests/html/dom/new-harness.js create mode 100644 testing/web-platform/tests/html/dom/original-harness.js create mode 100644 testing/web-platform/tests/html/dom/reflection-embedded.html create mode 100644 testing/web-platform/tests/html/dom/reflection-forms-weekmonth.html create mode 100644 testing/web-platform/tests/html/dom/reflection-forms.html create mode 100644 testing/web-platform/tests/html/dom/reflection-grouping.html create mode 100644 testing/web-platform/tests/html/dom/reflection-metadata.html create mode 100644 testing/web-platform/tests/html/dom/reflection-misc.html create mode 100644 testing/web-platform/tests/html/dom/reflection-obsolete.html create mode 100644 testing/web-platform/tests/html/dom/reflection-original.html create mode 100644 testing/web-platform/tests/html/dom/reflection-sections.html create mode 100644 testing/web-platform/tests/html/dom/reflection-tabular.html create mode 100644 testing/web-platform/tests/html/dom/reflection-text.html create mode 100644 testing/web-platform/tests/html/dom/reflection.js create mode 100644 testing/web-platform/tests/html/dom/render-blocking/blocking-idl-attr.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-001.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-002.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-003.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-004.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-005.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-006.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-007.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-008.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-009.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-010.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-011.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-012.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-013.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-014.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-015.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-016.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-017.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-018.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-019.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-020.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-021.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-022.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-023.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-024.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-025.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-026.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-027.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/element-render-blocking-028.tentative.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/non-render-blocking-scripts.optional.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-blocking-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-async-inline-module-with-import.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-async-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-defer-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-inline-module-with-import.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-module-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-style-element.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/parser-inserted-stylesheet-link.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/remove-attr-script-keeps-blocking.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/remove-attr-style-keeps-blocking.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/remove-attr-stylesheet-link-keeps-blocking.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/remove-attr-unblocks-rendering.optional.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/remove-element-unblocks-rendering.optional.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/remove-pending-async-render-blocking-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/script-inserted-inline-module-with-import.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/script-inserted-module-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/script-inserted-script.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/script-inserted-style-element.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/script-inserted-stylesheet-link.html create mode 100644 testing/web-platform/tests/html/dom/render-blocking/support/dummy-1.js create mode 100644 testing/web-platform/tests/html/dom/render-blocking/support/dummy-1.mjs create mode 100644 testing/web-platform/tests/html/dom/render-blocking/support/target-red.css create mode 100644 testing/web-platform/tests/html/dom/render-blocking/support/test-render-blocking.js create mode 100644 testing/web-platform/tests/html/dom/render-blocking/support/utils.js create mode 100644 testing/web-platform/tests/html/dom/resources/self-origin-subframe.html create mode 100644 testing/web-platform/tests/html/dom/self-origin.any.js create mode 100644 testing/web-platform/tests/html/dom/self-origin.sub.html create mode 100644 testing/web-platform/tests/html/dom/usvstring-reflection.https.html (limited to 'testing/web-platform/tests/html/dom') diff --git a/testing/web-platform/tests/html/dom/aria-attribute-reflection.html b/testing/web-platform/tests/html/dom/aria-attribute-reflection.html new file mode 100644 index 0000000000..fa5e9ad5c7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/aria-attribute-reflection.html @@ -0,0 +1,487 @@ + + +Element Reflection for ARIA properties + + + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ + + + +
+ + +
+ + + + + +
+ + +
+ + +
+ + +
+ + +
+ + + + + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + diff --git a/testing/web-platform/tests/html/dom/aria-element-reflection-disconnected.html b/testing/web-platform/tests/html/dom/aria-element-reflection-disconnected.html new file mode 100644 index 0000000000..d3acc35e9f --- /dev/null +++ b/testing/web-platform/tests/html/dom/aria-element-reflection-disconnected.html @@ -0,0 +1,82 @@ + + + + + + + +
+ +

+
+ +
+ +
+

+

+
+
+ + + diff --git a/testing/web-platform/tests/html/dom/aria-element-reflection.html b/testing/web-platform/tests/html/dom/aria-element-reflection.html new file mode 100644 index 0000000000..bdf2450708 --- /dev/null +++ b/testing/web-platform/tests/html/dom/aria-element-reflection.html @@ -0,0 +1,846 @@ + + + + + Element Reflection for aria-activedescendant and aria-errormessage + + + + + + +
+ +
+
Item 1
+
Item 2
+
+ + + +
+
Item 1
+
Item 2
+
+ + + +
+
+
+
+ + + +
+

Hello world!

+ + +
+ + + + + Invalid Time + + + + + + + + + +
+
Item 1
+
Item 2
+
+ + + +
+
Item 1
+
Item 2
+
+ + + + +
+
Hello world!
+
+
+ + + +
+
I am an apple
+
I am a pear
+
I am a banana
+
+
+ + + +
+
+ + + +
+
Billing
+
+
+
Name
+ +
+
+
Address
+ +
+ + + + + +
+
+ + + + Fruit +
Delicious
+
Nutritious
+ + + +

Title

+
Next
+
Content2
+
Content1
+ + + + + + + +
+

Light DOM Heading

+
+

Light DOM text

+

Light DOM text

+
+ + + +
+
Delicious
+
Nutritious
+
+
+ + + +
+
Misspelling
+
Wonderful
+
Fantastic
+ +
+
+ + + + + + + + + + + +
+ + + +
+ + + + + + +
+
+
+
+
+
+ + + +
+
+ + + +
+
+ + + + + + + + diff --git a/testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir-ref.html b/testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir-ref.html new file mode 100644 index 0000000000..88ccd4b9b5 --- /dev/null +++ b/testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir-ref.html @@ -0,0 +1,13 @@ + + + + + + + + +
+ + diff --git a/testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir.html b/testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir.html new file mode 100644 index 0000000000..629cee8738 --- /dev/null +++ b/testing/web-platform/tests/html/dom/directionality/bdi-element-invalid-dir.html @@ -0,0 +1,17 @@ + + + + + + + + + +
ת
+ + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html new file mode 100644 index 0000000000..77de1d93b5 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html @@ -0,0 +1,227 @@ + +Document.body + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html new file mode 100644 index 0000000000..245bae98ee --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html @@ -0,0 +1,219 @@ + + +Document.currentScript + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null-undef.html new file mode 100644 index 0000000000..dc132e5ec7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null-undef.html @@ -0,0 +1,30 @@ + +getElementsByClassName and null/undefined + + + + +
+
+

+

+

+

+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Element.getElementsByClassName-null-undef.html new file mode 100644 index 0000000000..b4d9241647 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Element.getElementsByClassName-null-undef.html @@ -0,0 +1,30 @@ + +getElementsByClassName and null/undefined + + + + +
+
+

+

+

+

+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/cross-domain.js b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/cross-domain.js new file mode 100644 index 0000000000..32effe3c45 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/cross-domain.js @@ -0,0 +1 @@ +//test script to check cross-domain script execution as in Document.currentScript.sub.html \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.embeds-document.plugins-01.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.embeds-document.plugins-01.html new file mode 100644 index 0000000000..e710798915 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.embeds-document.plugins-01.html @@ -0,0 +1,87 @@ + +document.embeds and document.plugins + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.forms.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.forms.html new file mode 100644 index 0000000000..f354c57477 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.forms.html @@ -0,0 +1,83 @@ + + +Document.forms + + +
+
+ + + + + + +
+ +
+ + + + + + +
+ +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html new file mode 100644 index 0000000000..a91c838d8a --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html @@ -0,0 +1,17 @@ + +Calling getElementsByClassName with the same argument + + + + +
+
+
+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml new file mode 100644 index 0000000000..f15edb6f1d --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml @@ -0,0 +1,21 @@ + + +getElementsByName and case + + + + + + +
+
+
+
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html new file mode 100644 index 0000000000..9a82e6805c --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html @@ -0,0 +1,16 @@ + +getElementsByName and case + + + + +
+
+
+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml new file mode 100644 index 0000000000..51b9e22f84 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml @@ -0,0 +1,20 @@ + + +getElementsByName and ids + + + + + + +
+
+
+
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html new file mode 100644 index 0000000000..099215d3a7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html @@ -0,0 +1,15 @@ + +getElementsByName and ids + + + + +
+
+
+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html new file mode 100644 index 0000000000..97646e39cf --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html @@ -0,0 +1,16 @@ + +Document.getElementsByName: interfaces + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-liveness.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-liveness.html new file mode 100644 index 0000000000..74aad6954f --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-liveness.html @@ -0,0 +1,26 @@ + +Document.getElementsByName: liveness + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml new file mode 100644 index 0000000000..e09ece7b1f --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml @@ -0,0 +1,32 @@ + + +getElementsByName and foreign namespaces + + + + + + +
+
+

+a ++ +b +

+

+ +

+
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html new file mode 100644 index 0000000000..63b6260424 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html @@ -0,0 +1,27 @@ + +getElementsByName and foreign namespaces + + + + +
+
+

+a ++ +b + +

+ + +

+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml new file mode 100644 index 0000000000..c2dc99a55d --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml @@ -0,0 +1,126 @@ + + +getElementsByName and newly introduced HTML elements + + + + + + +
+
+
+
+ +
+
+
+ + +
+ + + + + + + + + + +
+ + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html new file mode 100644 index 0000000000..2ab42b9733 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html @@ -0,0 +1,47 @@ + +getElementsByName and newly introduced HTML elements + + + + +
+
+
+
+ +
+
+
+ + +
+ + + + + + + + + + +
+ + + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml new file mode 100644 index 0000000000..06d182860b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml @@ -0,0 +1,35 @@ + + +Calling getElementsByName with null and undefined + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html new file mode 100644 index 0000000000..f1dfbf9e39 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html @@ -0,0 +1,30 @@ + +Calling getElementsByName with null and undefined + + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml new file mode 100644 index 0000000000..e57e9d5c0d --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml @@ -0,0 +1,28 @@ + + +getElementsByName and the param element + + + + + + +
+
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html new file mode 100644 index 0000000000..aa1bb01bfa --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html @@ -0,0 +1,23 @@ + +getElementsByName and the param element + + + + +
+
+ + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html new file mode 100644 index 0000000000..f122857a2b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html @@ -0,0 +1,17 @@ + +Calling getElementsByName with the same argument + + + + +
+
+
+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-01.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-01.html new file mode 100644 index 0000000000..f919d79a32 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-01.html @@ -0,0 +1,22 @@ + +document.head + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-02.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-02.html new file mode 100644 index 0000000000..d0189574e2 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.head-02.html @@ -0,0 +1,20 @@ + +document.head + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.images.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.images.html new file mode 100644 index 0000000000..10ebe5ee8a --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.images.html @@ -0,0 +1,119 @@ + + +Document.images + + +
+
+ + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.links.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.links.html new file mode 100644 index 0000000000..69c7d8c52c --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.links.html @@ -0,0 +1,27 @@ + + +Document.links + + + +
+
+ + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.scripts.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.scripts.html new file mode 100644 index 0000000000..82d3db14b2 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.scripts.html @@ -0,0 +1,21 @@ + + +Document.scripts + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-01.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-01.html new file mode 100644 index 0000000000..05ddab9ca4 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-01.html @@ -0,0 +1,32 @@ + +document.title with head blown away + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-02.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-02.xhtml new file mode 100644 index 0000000000..917b8787df --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-02.xhtml @@ -0,0 +1,37 @@ + + +document.title with head blown away + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-03.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-03.html new file mode 100644 index 0000000000..952c29db5f --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-03.html @@ -0,0 +1,31 @@ + + document.title and space normalization + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-04.xhtml b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-04.xhtml new file mode 100644 index 0000000000..fbe891650a --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-04.xhtml @@ -0,0 +1,48 @@ + + + document.title and space normalization + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-05.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-05.html new file mode 100644 index 0000000000..df6ffc30f8 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-05.html @@ -0,0 +1,42 @@ + +document.title and White_Space characters + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-06.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-06.html new file mode 100644 index 0000000000..a80723f238 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-06.html @@ -0,0 +1,19 @@ + +document.title and the empty string + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-07.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-07.html new file mode 100644 index 0000000000..9723d3f811 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-07.html @@ -0,0 +1,11 @@ + +Document.title and DOMImplementation.createHTMLDocument + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-08.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-08.html new file mode 100644 index 0000000000..a643b75f4e --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-08.html @@ -0,0 +1,22 @@ + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-09.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-09.html new file mode 100644 index 0000000000..a3273f626c --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-09.html @@ -0,0 +1,97 @@ + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-not-in-html-svg.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-not-in-html-svg.html new file mode 100644 index 0000000000..40eccd3de3 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.title-not-in-html-svg.html @@ -0,0 +1,27 @@ + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-01.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-01.html new file mode 100644 index 0000000000..2b428aa65b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-01.html @@ -0,0 +1,19 @@ + + +Named items: img id & name + + + + +
+
+ +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-02.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-02.html new file mode 100644 index 0000000000..8c3155e7e4 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-02.html @@ -0,0 +1,99 @@ + + +Named items: iframes + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-03.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-03.html new file mode 100644 index 0000000000..be2ca173b0 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-03.html @@ -0,0 +1,18 @@ + + +Named items: applets + + + + +
+ + diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-04.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-04.html new file mode 100644 index 0000000000..b7c3ef8e9b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-04.html @@ -0,0 +1,104 @@ + + +Named items: forms + + + + +
+
+
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-05.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-05.html new file mode 100644 index 0000000000..843ce35796 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-05.html @@ -0,0 +1,104 @@ + + +Named items: embeds + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-06.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-06.html new file mode 100644 index 0000000000..15a72b5f6b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-06.html @@ -0,0 +1,104 @@ + + +Named items: imgs + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-07.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-07.html new file mode 100644 index 0000000000..fc3f06c01b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-07.html @@ -0,0 +1,109 @@ + + +Named items: objects + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-08.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-08.html new file mode 100644 index 0000000000..bb024d9e78 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-08.html @@ -0,0 +1,31 @@ + + +Named items: duplicate id attributes for object and img + + + +
+
+
+ + +
+ +
+ diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-names.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-names.html new file mode 100644 index 0000000000..3f76d85a1b --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/nameditem-names.html @@ -0,0 +1,101 @@ + + +Named items: supported property names + + + +
+ + + + +
+
+ + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-01.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-01.html new file mode 100644 index 0000000000..218a3fe843 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-01.html @@ -0,0 +1,13 @@ + +document.compatMode: Standards + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-02.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-02.html new file mode 100644 index 0000000000..6da40d61ee --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-02.html @@ -0,0 +1,14 @@ + +document.compatMode: Almost standards + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-03.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-03.html new file mode 100644 index 0000000000..3d55d6e835 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-03.html @@ -0,0 +1,12 @@ +document.compatMode: Quirks + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-04.xhtml b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-04.xhtml new file mode 100644 index 0000000000..a71c1d9dd3 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-04.xhtml @@ -0,0 +1,18 @@ + + + +document.compatMode: Standards + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-05.xhtml b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-05.xhtml new file mode 100644 index 0000000000..3fde06e5af --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-05.xhtml @@ -0,0 +1,19 @@ + + + +document.compatMode: Standards + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-06.xhtml b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-06.xhtml new file mode 100644 index 0000000000..eb64dfb90e --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-compatmode-06.xhtml @@ -0,0 +1,17 @@ + + +document.compatMode: Standards + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-cookie.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-cookie.html new file mode 100644 index 0000000000..2af65effeb --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-cookie.html @@ -0,0 +1,41 @@ + + +document.cookie + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified-01.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified-01.html new file mode 100644 index 0000000000..81f67390d1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified-01.html @@ -0,0 +1,25 @@ + +document.lastModified should return current local time + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html new file mode 100644 index 0000000000..9e0a07d8eb --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html @@ -0,0 +1,15 @@ + + +document.lastModified + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html.headers b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html.headers new file mode 100644 index 0000000000..377e3b52dc --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-lastModified.html.headers @@ -0,0 +1 @@ +Last-Modified: Thu, 01 Jan 1970 01:23:45 GMT diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-readyState.html b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-readyState.html new file mode 100644 index 0000000000..8c91e0a001 --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/document-readyState.html @@ -0,0 +1,33 @@ + + +document.readyState + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/documents/resource-metadata-management/support/document-lastModified-utils.js b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/support/document-lastModified-utils.js new file mode 100644 index 0000000000..bbcde1894a --- /dev/null +++ b/testing/web-platform/tests/html/dom/documents/resource-metadata-management/support/document-lastModified-utils.js @@ -0,0 +1,78 @@ +const DOCUMENT_LASTMODIFIED_REGEX = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/; + +function assert_document_lastmodified_string_approximately_now(str) { + // We want to test that |str| was a time in the user's local + // timezone generated within a few seconds prior to the present. + // This requires some care, since it is possible that: + // - the few second difference may have crossed a + // year/month/day/hour/minute boundary + // - the few second difference may have crossed a change in the + // local timezone's UTC offset + // - the local time might be one that has multiple valid UTC + // representations (for example, because it's in the hour + // following a shift from summer time to winter time) + // We will make some assumptions to do this: + // - local time's UTC offset doesn't change more than once per + // minute + // - local time's UTC offset only changes by integral numbers of + // minutes + + // The date must be equal to or earlier than the present time. + var dmax = new Date(); + + // The date must be equal to or later than 2.5 seconds ago. + var TOLERANCE_MILLISECONDS = 2500; + var dmin = new Date(); + dmin.setTime(dmax.getTime() - TOLERANCE_MILLISECONDS); + + // Extract the year/month/date/hours/minutes/seconds from str. It + // is important that we do *not* try to construct a Date object from + // these, since the core of the date object is a timestamp in UTC, + // and there are cases (such as the hour on each side of a change + // from summer time to winter time) where there are multiple + // possible UTC timestamps for a given YYYY-MM-DD HH:MM:SS, and + // constructing a Date object would pick one of them, which might be + // the wrong one. However, we already have the right one in dmin + // and dmax, so we should instead extract local time from those + // rather than converting these values to UTC. + var m = DOCUMENT_LASTMODIFIED_REGEX.exec(str); + var syear = Number(m[3]); + var smonth = Number(m[1]) - 1; // match Javascript 0-based months + var sdate = Number(m[2]); + var shours = Number(m[4]); + var sminutes = Number(m[5]); + var sseconds = Number(m[6]); + + if (dmin.getFullYear() == dmax.getFullYear() && + dmin.getMonth() == dmax.getMonth() && + dmin.getDate() == dmax.getDate() && + dmin.getHours() == dmax.getHours() && + dmin.getMinutes() == dmax.getMinutes()) { + // min and max have the same minute + assert_equals(smonth, dmin.getMonth(), "month"); + assert_equals(sdate, dmin.getDate(), "date"); + assert_equals(syear, dmin.getFullYear(), "year"); + assert_equals(shours, dmin.getHours(), "hours"); + assert_equals(sminutes, dmin.getMinutes(), "minutes"); + assert_true(dmin.getSeconds() <= sseconds && + sseconds <= dmax.getSeconds(), "seconds"); + } else if (dmin.getFullYear() == syear && + dmin.getMonth() == smonth && + dmin.getDate() == sdate && + dmin.getHours() == shours && + dmin.getMinutes() == sminutes) { + // actual value has the same minute as min + assert_true(dmin.getSeconds() <= sseconds, "dmin.getSeconds() <= sseconds"); + assert_true(57 <= dmin.getSeconds(), "unexpected local time rules (dmin match)"); + } else if (dmax.getFullYear() == syear && + dmax.getMonth() == smonth && + dmax.getDate() == sdate && + dmax.getHours() == shours && + dmax.getMinutes() == sminutes) { + // actual value has the same minute as max + assert_true(sseconds <= dmax.getSeconds(), "sseconds <= dmax.getSeconds()"); + assert_true(dmax.getSeconds() <= 2, "unexpected local time rules (dmax match)"); + } else { + assert_unreached("unexpected local time rules (no match)"); + } +} diff --git a/testing/web-platform/tests/html/dom/elements-embedded.js b/testing/web-platform/tests/html/dom/elements-embedded.js new file mode 100644 index 0000000000..c5b4520cc6 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-embedded.js @@ -0,0 +1,156 @@ +var embeddedElements = { + picture: {}, + img: { + // Conforming + alt: "string", + src: "url", + srcset: "string", + crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}, isNullable: true, defaultVal: null, invalidVal: "anonymous"}, + useMap: "string", + isMap: "boolean", + width: {type: "unsigned long", customGetter: true}, + height: {type: "unsigned long", customGetter: true}, + referrerPolicy: {type: "enum", keywords: ["", "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url"]}, + decoding: {type: "enum", keywords: ["async", "sync", "auto"], defaultVal: "auto", invalidVal: "auto"}, + + // Obsolete + name: "string", + lowsrc: {type: "url"}, + align: "string", + hspace: "unsigned long", + vspace: "unsigned long", + longDesc: "url", + border: {type: "string", treatNullAsEmptyString: true}, + }, + iframe: { + // Conforming + src: "url", + srcdoc: "string", + name: "string", + sandbox: "settable tokenlist", + allowFullscreen: "boolean", + allowUserMedia: "boolean", + width: "string", + height: "string", + referrerPolicy: {type: "enum", keywords: ["", "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url"]}, + delegateStickyUserActivation: {type: "enum", keywords: ["vibration", "media"], defaultVal: null}, + + // Obsolete + align: "string", + scrolling: "string", + frameBorder: "string", + longDesc: "url", + marginHeight: {type: "string", treatNullAsEmptyString: true}, + marginWidth: {type: "string", treatNullAsEmptyString: true} + }, + embed: { + // Conforming + src: "url", + type: "string", + width: "string", + height: "string", + + // Obsolete + align: "string", + name: "string" + }, + object: { + // Conforming + data: "url", + type: "string", + name: "string", + useMap: "string", + width: "string", + height: "string", + + // Obsolete + align: "string", + archive: "string", + code: "string", + declare: "boolean", + hspace: "unsigned long", + standby: "string", + vspace: "unsigned long", + codeBase: "url", + codeType: "string", + border: {type: "string", treatNullAsEmptyString: true} + }, + param: { + // Conforming + name: "string", + value: "string", + + // Obsolete + type: "string", + valueType: "string" + }, + video: { + // HTMLMediaElement + src: "url", + crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}, isNullable: true, defaultVal: null, invalidVal: "anonymous"}, + // As with "keytype", we have no missing value default defined here. + preload: {type: "enum", keywords: ["none", "metadata", "auto"], nonCanon: {"": "auto"}, defaultVal: null}, + autoplay: "boolean", + loop: "boolean", + controls: "boolean", + controlsList: {type: "tokenlist", domAttrName: "controlsList"}, + defaultMuted: {type: "boolean", domAttrName: "muted"}, + + width: "unsigned long", + height: "unsigned long", + poster: "url", + playsInline: "boolean", + }, + audio: { + // HTMLMediaElement + src: "url", + crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}, isNullable: true, defaultVal: null, invalidVal: "anonymous"}, + // As with "keytype", we have no missing value default defined here. + preload: {type: "enum", keywords: ["none", "metadata", "auto"], nonCanon: {"": "auto"}, defaultVal: null}, + autoplay: "boolean", + loop: "boolean", + controls: "boolean", + defaultMuted: {type: "boolean", domAttrName: "muted"} + }, + source: { + src: "url", + type: "string", + srcset: "string", + sizes: "string", + media: "string" + }, + track: { + kind: {type: "enum", keywords: ["subtitles", "captions", "descriptions", "chapters", "metadata"], defaultVal: "subtitles", invalidVal: "metadata"}, + src: "url", + srclang: "string", + label: "string", + "default": "boolean" + }, + canvas: { + width: {type: "unsigned long", defaultVal: 300}, + height: {type: "unsigned long", defaultVal: 150} + }, + map: { + name: "string" + }, + area: { + // Conforming + alt: "string", + coords: "string", + shape: "string", + target: "string", + download: "string", + ping: "string", + rel: "string", + relList: {type: "tokenlist", domAttrName: "rel"}, + referrerPolicy: {type: "enum", keywords: ["", "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url"]}, + + // HTMLHyperlinkElementUtils + href: "url", + + // Obsolete + noHref: "boolean" + }, +}; + +mergeElements(embeddedElements); diff --git a/testing/web-platform/tests/html/dom/elements-forms-weekmonth.js b/testing/web-platform/tests/html/dom/elements-forms-weekmonth.js new file mode 100644 index 0000000000..b13a21d6d8 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-forms-weekmonth.js @@ -0,0 +1,42 @@ +var formElements = { + input: { + // Conforming + accept: "string", + alt: "string", + autocomplete: {type: "string", customGetter: true}, + defaultChecked: {type: "boolean", domAttrName: "checked"}, + dirName: "string", + disabled: "boolean", + // "formAction" has magic hard-coded in reflection.js + formAction: "url", + formEnctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], invalidVal: "application/x-www-form-urlencoded"}, + formMethod: {type: "enum", keywords: ["get", "post"], invalidVal: "get"}, + formNoValidate: "boolean", + formTarget: "string", + height: {type: "unsigned long", customGetter: true}, + max: "string", + maxLength: "limited long", + min: "string", + minLength: "limited long", + multiple: "boolean", + name: "string", + pattern: "string", + placeholder: "string", + readOnly: "boolean", + required: "boolean", + // https://html.spec.whatwg.org/#attr-input-size + size: {type: "limited unsigned long", defaultVal: 20}, + src: "url", + step: "string", + type: {type: "enum", keywords: ["month", "week"], + defaultVal: "text"}, + width: {type: "unsigned long", customGetter: true}, + defaultValue: {type: "string", domAttrName: "value"}, + + // Obsolete + align: "string", + useMap: "string", + }, +}; + +mergeElements(formElements); diff --git a/testing/web-platform/tests/html/dom/elements-forms.js b/testing/web-platform/tests/html/dom/elements-forms.js new file mode 100644 index 0000000000..c43bab9dce --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-forms.js @@ -0,0 +1,128 @@ +var formElements = { + form: { + acceptCharset: {type: "string", domAttrName: "accept-charset"}, + // "action" has magic hard-coded in reflection.js + action: "url", + autocomplete: {type: "enum", keywords: ["on", "off"], defaultVal: "on"}, + enctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], defaultVal: "application/x-www-form-urlencoded"}, + encoding: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], defaultVal: "application/x-www-form-urlencoded", domAttrName: "enctype"}, + method: {type: "enum", keywords: ["get", "post", "dialog"], defaultVal: "get"}, + name: "string", + noValidate: "boolean", + target: "string", + }, + fieldset: { + disabled: "boolean", + name: "string", + }, + legend: { + // Obsolete + align: "string", + }, + label: { + htmlFor: {type: "string", domAttrName: "for"}, + }, + input: { + // Conforming + accept: "string", + alt: "string", + autocomplete: {type: "string", customGetter: true}, + defaultChecked: {type: "boolean", domAttrName: "checked"}, + dirName: "string", + disabled: "boolean", + // "formAction" has magic hard-coded in reflection.js + formAction: "url", + formEnctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], invalidVal: "application/x-www-form-urlencoded"}, + formMethod: {type: "enum", keywords: ["get", "post"], invalidVal: "get"}, + formNoValidate: "boolean", + formTarget: "string", + height: {type: "unsigned long", customGetter: true}, + max: "string", + maxLength: "limited long", + min: "string", + minLength: "limited long", + multiple: "boolean", + name: "string", + pattern: "string", + placeholder: "string", + readOnly: "boolean", + required: "boolean", + // https://html.spec.whatwg.org/#attr-input-size + size: {type: "limited unsigned long", defaultVal: 20}, + src: "url", + step: "string", + type: {type: "enum", keywords: ["hidden", "text", "search", "tel", + "url", "email", "password", "date", + "time", "datetime-local", "number", "range", "color", "checkbox", + "radio", "file", "submit", "image", "reset", "button"], defaultVal: + "text"}, + width: {type: "unsigned long", customGetter: true}, + defaultValue: {type: "string", domAttrName: "value"}, + + // Obsolete + align: "string", + useMap: "string", + }, + button: { + disabled: "boolean", + // "formAction" has magic hard-coded in reflection.js + formAction: "url", + formEnctype: {type: "enum", keywords: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], invalidVal: "application/x-www-form-urlencoded"}, + formMethod: {type: "enum", keywords: ["get", "post", "dialog"], invalidVal: "get"}, + formNoValidate: "boolean", + formTarget: "string", + name: "string", + type: {type: "enum", keywords: ["submit", "reset", "button"], defaultVal: "submit"}, + value: "string" + }, + select: { + autocomplete: {type: "string", customGetter: true}, + disabled: "boolean", + multiple: "boolean", + name: "string", + required: "boolean", + size: {type: "unsigned long", defaultVal: 0}, + }, + datalist: {}, + optgroup: { + disabled: "boolean", + label: "string", + }, + option: { + disabled: "boolean", + label: {type: "string", customGetter: true}, + defaultSelected: {type: "boolean", domAttrName: "selected"}, + value: {type: "string", customGetter: true}, + }, + textarea: { + autocomplete: {type: "string", customGetter: true}, + cols: {type: "limited unsigned long with fallback", defaultVal: 20}, + dirName: "string", + disabled: "boolean", + maxLength: "limited long", + minLength: "limited long", + name: "string", + placeholder: "string", + readOnly: "boolean", + required: "boolean", + rows: {type: "limited unsigned long with fallback", defaultVal: 2}, + wrap: "string", + }, + output: { + htmlFor: {type: "settable tokenlist", domAttrName: "for" }, + name: "string", + }, + progress: { + max: {type: "limited double", defaultVal: 1.0}, + }, + meter: { + value: {type: "double", customGetter: true}, + min: {type: "double", customGetter: true}, + max: {type: "double", customGetter: true}, + low: {type: "double", customGetter: true}, + high: {type: "double", customGetter: true}, + optimum: {type: "double", customGetter: true}, + }, +}; + +mergeElements(formElements); diff --git a/testing/web-platform/tests/html/dom/elements-grouping.js b/testing/web-platform/tests/html/dom/elements-grouping.js new file mode 100644 index 0000000000..4c9a29131a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-grouping.js @@ -0,0 +1,57 @@ +var groupingElements = { + p: { + // Obsolete + align: "string", + }, + hr: { + // Obsolete + align: "string", + color: "string", + noShade: "boolean", + size: "string", + width: "string", + }, + pre: { + // Obsolete + width: "long", + }, + blockquote: { + cite: "url", + }, + ol: { + // Conforming + reversed: "boolean", + start: {type: "long", defaultVal: 1}, + type: "string", + + // Obsolete + compact: "boolean", + }, + ul: { + // Obsolete + compact: "boolean", + type: "string", + }, + li: { + // Conforming + value: "long", + + // Obsolete + type: "string", + }, + dl: { + // Obsolete + compact: "boolean", + }, + dt: {}, + dd: {}, + figure: {}, + figcaption: {}, + main: {}, + div: { + // Obsolete + align: "string", + }, +}; + +mergeElements(groupingElements); diff --git a/testing/web-platform/tests/html/dom/elements-metadata.js b/testing/web-platform/tests/html/dom/elements-metadata.js new file mode 100644 index 0000000000..49d7bb25ad --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-metadata.js @@ -0,0 +1,50 @@ +var metadataElements = { + head: {}, + title: {}, + base: { + href: {type: "url", customGetter: true}, + target: "string", + }, + link: { + // Conforming + href: "url", + crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}, isNullable: true, defaultVal: null, invalidVal: "anonymous"}, + rel: "string", + as: { + type: "enum", + keywords: ["fetch", "audio", "document", "embed", "font", "image", "manifest", "object", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt"], + defaultVal: "", + invalidVal: "" + }, + relList: {type: "tokenlist", domAttrName: "rel"}, + media: "string", + nonce: "string", + integrity: "string", + hreflang: "string", + type: "string", + sizes: "settable tokenlist", + referrerPolicy: {type: "enum", keywords: ["", "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url"]}, + + // Obsolete + charset: "string", + rev: "string", + target: "string", + }, + meta: { + // Conforming + name: "string", + httpEquiv: {type: "string", domAttrName: "http-equiv"}, + content: "string", + media: "string", + + // Obsolete + scheme: "string", + }, + style: { + media: "string", + nonce: "string", + type: "string", + }, +}; + +mergeElements(metadataElements); diff --git a/testing/web-platform/tests/html/dom/elements-misc.js b/testing/web-platform/tests/html/dom/elements-misc.js new file mode 100644 index 0000000000..1a74c54797 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-misc.js @@ -0,0 +1,60 @@ +var miscElements = { + // "The root element" section + html: { + // Obsolete + version: "string", + }, + + // "Scripting" section + script: { + src: "url", + type: "string", + noModule: "boolean", + charset: "string", + // TODO: async attribute (complicated). + defer: "boolean", + crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}, isNullable: true, defaultVal: null, invalidVal: "anonymous"}, + integrity: "string", + + // Obsolete + event: "string", + htmlFor: {type: "string", domAttrName: "for"}, + }, + noscript: {}, + + template: {}, + slot: { + name: "string", + }, + + // "Edits" section + ins: { + cite: "url", + dateTime: "string", + }, + del: { + cite: "url", + dateTime: "string", + }, + + // "Interactive elements" section + details: { + open: "boolean", + }, + summary: {}, + menu: { + // Obsolete + compact: "boolean", + }, + dialog: { + open: "boolean", + }, + + // Global attributes should exist even on unknown elements + undefinedelement: { + enterKeyHint: {type: "enum", keywords: ["enter", "done", "go", "next", "previous", "search", "send"]}, + inputMode: {type: "enum", keywords: ["none", "text", "tel", "url", "email", "numeric", "decimal", "search"]}, + }, +}; + +mergeElements(miscElements); diff --git a/testing/web-platform/tests/html/dom/elements-obsolete.js b/testing/web-platform/tests/html/dom/elements-obsolete.js new file mode 100644 index 0000000000..3ef9e9f997 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-obsolete.js @@ -0,0 +1,50 @@ +var obsoleteElements = { + marquee: { + behavior: { + type: { + type: "enum", + keywords: ["scroll", "slide", "alternate"], + defaultVal: "scroll" + }, + }, + bgColor: "string", + direction: { + type: { + type: "enum", + keywords: ["up", "right", "down", "left"], + defaultVal: "left" + }, + }, + height: "string", + hspace: "unsigned long", + scrollAmount: {type: "unsigned long", defaultVal: 6}, + scrollDelay: {type: "unsigned long", defaultVal: 85}, + trueSpeed: "boolean", + vspace: "unsigned long", + width: "string", + }, + frameset: { + cols: "string", + rows: "string", + }, + frame: { + name: "string", + scrolling: "string", + src: "url", + frameBorder: "string", + longDesc: "url", + noResize: "boolean", + marginHeight: {type: "string", treatNullAsEmptyString: true}, + marginWidth: {type: "string", treatNullAsEmptyString: true}, + }, + dir: { + compact: "boolean", + }, + font: { + color: {type: "string", treatNullAsEmptyString: true}, + face: "string", + size: "string", + }, +}; + +mergeElements(obsoleteElements); diff --git a/testing/web-platform/tests/html/dom/elements-sections.js b/testing/web-platform/tests/html/dom/elements-sections.js new file mode 100644 index 0000000000..bbad85e513 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-sections.js @@ -0,0 +1,64 @@ +var sectionElements = { + body: { + // Obsolete + text: {type: "string", treatNullAsEmptyString: true}, + link: {type: "string", treatNullAsEmptyString: true}, + vLink: {type: "string", treatNullAsEmptyString: true}, + aLink: {type: "string", treatNullAsEmptyString: true}, + bgColor: {type: "string", treatNullAsEmptyString: true}, + background: "string", + }, + article: {}, + section: {}, + nav: {}, + aside: {}, + h1: { + // Obsolete + align: "string", + }, + h2: { + // Obsolete + align: "string", + }, + h3: { + // Obsolete + align: "string", + }, + h4: { + // Obsolete + align: "string", + }, + h5: { + // Obsolete + align: "string", + }, + h6: { + // Obsolete + align: "string", + }, + hgroup: {}, + header: {}, + footer: {}, + address: {}, +}; + +mergeElements(sectionElements); + +extraTests.push(function() { + ReflectionTests.reflects({type: "enum", keywords: ["ltr", "rtl", "auto"]}, "dir", document, "dir", document.documentElement); + // TODO: these behave differently if the body element is a frameset. Also + // should probably test with multiple bodies. + ReflectionTests.reflects({type: "string", treatNullAsEmptyString: true}, "fgColor", document, "text", document.body); + ReflectionTests.reflects({type: "string", treatNullAsEmptyString: true}, "linkColor", document, "link", document.body); + ReflectionTests.reflects({type: "string", treatNullAsEmptyString: true}, "vlinkColor", document, "vlink", document.body); + ReflectionTests.reflects({type: "string", treatNullAsEmptyString: true}, "alinkColor", document, "alink", document.body); + ReflectionTests.reflects({type: "string", treatNullAsEmptyString: true}, "bgColor", document, "bgcolor", document.body); + // Edge remains RTL if we don't do this, despite removing the attribute + document.dir = "ltr"; + // Don't mess up the colors :) + document.documentElement.removeAttribute("dir"); + var attrs = ["text", "bgcolor", "link", "alink", "vlink"]; + for (var i = 0; i < attrs.length; i++) { + document.body.removeAttribute(attrs[i]); + } +}); diff --git a/testing/web-platform/tests/html/dom/elements-tabular.js b/testing/web-platform/tests/html/dom/elements-tabular.js new file mode 100644 index 0000000000..88fc8d31ec --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-tabular.js @@ -0,0 +1,109 @@ +// Up-to-date as of 2013-04-12. +var tabularElements = { + table: { + // Obsolete + align: "string", + border: "string", + frame: "string", + rules: "string", + summary: "string", + width: "string", + bgColor: {type: "string", treatNullAsEmptyString: true}, + cellPadding: {type: "string", treatNullAsEmptyString: true}, + cellSpacing: {type: "string", treatNullAsEmptyString: true}, + }, + caption: { + // Obsolete + align: "string", + }, + colgroup: { + span: {type: "clamped unsigned long", defaultVal: 1, min: 1, max: 1000}, + + // Obsolete + align: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + vAlign: "string", + width: "string", + }, + col: { + // Conforming + span: {type: "clamped unsigned long", defaultVal: 1, min: 1, max: 1000}, + + // Obsolete + align: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + vAlign: "string", + width: "string", + }, + tbody: { + // Obsolete + align: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + vAlign: "string", + }, + thead: { + // Obsolete + align: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + vAlign: "string", + }, + tfoot: { + // Obsolete + align: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + vAlign: "string", + }, + tr: { + // Obsolete + align: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + vAlign: "string", + bgColor: {type: "string", treatNullAsEmptyString: true}, + }, + td: { + // HTMLTableCellElement (Conforming) + colSpan: {type: "clamped unsigned long", defaultVal: 1, min: 1, max: 1000}, + rowSpan: {type: "clamped unsigned long", defaultVal: 1, min: 0, max: 65534}, + headers: "string", + scope: {type: "enum", keywords: ["row", "col", "rowgroup", "colgroup"]}, + abbr: "string", + + // HTMLTableCellElement (Obsolete) + align: "string", + axis: "string", + height: "string", + width: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + noWrap: "boolean", + vAlign: "string", + bgColor: {type: "string", treatNullAsEmptyString: true}, + }, + th: { + // HTMLTableCellElement (Conforming) + colSpan: {type: "clamped unsigned long", defaultVal: 1, min: 1, max: 1000}, + rowSpan: {type: "clamped unsigned long", defaultVal: 1, min: 0, max: 65534}, + headers: "string", + scope: {type: "enum", keywords: ["row", "col", "rowgroup", "colgroup"]}, + abbr: "string", + + // HTMLTableCellElement (Obsolete) + align: "string", + axis: "string", + height: "string", + width: "string", + ch: {type: "string", domAttrName: "char"}, + chOff: {type: "string", domAttrName: "charoff"}, + noWrap: "boolean", + vAlign: "string", + bgColor: {type: "string", treatNullAsEmptyString: true}, + }, +}; + +mergeElements(tabularElements); diff --git a/testing/web-platform/tests/html/dom/elements-text.js b/testing/web-platform/tests/html/dom/elements-text.js new file mode 100644 index 0000000000..f71df48ee3 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements-text.js @@ -0,0 +1,63 @@ +// Up-to-date as of 2013-04-19. +var textElements = { + a: { + // Conforming + target: "string", + download: "string", + ping: "string", + rel: "string", + relList: {type: "tokenlist", domAttrName: "rel"}, + hreflang: "string", + type: "string", + referrerPolicy: {type: "enum", keywords: ["", "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url"]}, + + // HTMLHyperlinkElementUtils + href: "url", + + // Obsolete + coords: "string", + charset: "string", + name: "string", + rev: "string", + shape: "string", + }, + em: {}, + strong: {}, + small: {}, + s: {}, + cite: {}, + q: { + cite: "url", + }, + dfn: {}, + abbr: {}, + ruby: {}, + rt: {}, + rp: {}, + data: { + value: "string", + }, + time: { + dateTime: "string", + }, + code: {}, + var: {}, + samp: {}, + kbd: {}, + sub: {}, + sup: {}, + i: {}, + b: {}, + u: {}, + mark: {}, + bdi: {}, + bdo: {}, + span: {}, + br: { + // Obsolete + clear: "string", + }, + wbr: {}, +}; + +mergeElements(textElements); diff --git a/testing/web-platform/tests/html/dom/elements/elements-in-the-dom/historical.html b/testing/web-platform/tests/html/dom/elements/elements-in-the-dom/historical.html new file mode 100644 index 0000000000..078ce29cc0 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/elements-in-the-dom/historical.html @@ -0,0 +1,24 @@ + +Historical HTMLElement features + + + + diff --git a/testing/web-platform/tests/html/dom/elements/elements-in-the-dom/unknown-element.html b/testing/web-platform/tests/html/dom/elements/elements-in-the-dom/unknown-element.html new file mode 100644 index 0000000000..16a53e5e88 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/elements-in-the-dom/unknown-element.html @@ -0,0 +1,22 @@ + +HTMLUnknownElement + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/.htaccess b/testing/web-platform/tests/html/dom/elements/global-attributes/.htaccess new file mode 100644 index 0000000000..94e9a4f190 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/.htaccess @@ -0,0 +1,16 @@ +AddType 'text/html; charset=UTF-8' html + +AddLanguage 'ko' .html + + +AddLanguage 'zh' .html + + +AddLanguage 'zh' .html + + +AddLanguage 'ko' .html + + +AddLanguage 'ko,zh,ja' .html + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/classlist-nonstring.html b/testing/web-platform/tests/html/dom/elements/global-attributes/classlist-nonstring.html new file mode 100644 index 0000000000..044f5e8b1b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/classlist-nonstring.html @@ -0,0 +1,44 @@ + +classList: non-string contains + + + + + + + +
+
+
    +
  • +
  • +
  • +
  • +
  • +
  • +
+ +
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/custom-attrs.html b/testing/web-platform/tests/html/dom/elements/global-attributes/custom-attrs.html new file mode 100644 index 0000000000..a1e41dac25 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/custom-attrs.html @@ -0,0 +1,29 @@ + + + + Element Custom Attributes + + + + + + + + +

Element Custom Attributes

+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/data_unicode_attr.html b/testing/web-platform/tests/html/dom/elements/global-attributes/data_unicode_attr.html new file mode 100644 index 0000000000..17077dafd1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/data_unicode_attr.html @@ -0,0 +1,22 @@ + + +HTML Test: dataset attribute + + + + +
+
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-binding.window.js b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-binding.window.js new file mode 100644 index 0000000000..e0e85677d1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-binding.window.js @@ -0,0 +1,45 @@ +[9, "x"].forEach(function(key) { + test(function() { + var element = document.createElement("div"); + var dataset = element.dataset; + + var value = "value for " + this.name; + + assert_equals(dataset[key], undefined); + + element.setAttribute("data-" + key, value); + assert_equals(element.getAttribute("data-" + key), value); + assert_equals(dataset[key], value); + + var propdesc = Object.getOwnPropertyDescriptor(dataset, key); + assert_not_equals(propdesc, undefined); + assert_equals(propdesc.value, value); + assert_true(propdesc.writable); + assert_true(propdesc.enumerable); + assert_true(propdesc.configurable); + }, "Getting property descriptor for key " + key); + + test(function() { + var element = document.createElement("div"); + var dataset = element.dataset; + + var proto = "proto getter for " + this.name; + var calledSetter = []; + Object.defineProperty(DOMStringMap.prototype, key, { + "get": function() { return proto; }, + "set": this.unreached_func("Should not call [[Set]] on prototype"), + "configurable": true, + }); + this.add_cleanup(function() { + delete DOMStringMap.prototype[key]; + }); + + var value = "value for " + this.name; + + assert_equals(dataset[key], proto); + assert_equals(element.getAttribute("data-" + key), null); + assert_equals(dataset[key] = value, value); + assert_equals(dataset[key], value); + assert_equals(element.getAttribute("data-" + key), value); + }, "Setting property for key " + key + " with accessor property on prototype"); +}); diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html new file mode 100644 index 0000000000..1440118f6d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html @@ -0,0 +1,54 @@ + + + + Dataset - Delete + + + + +

Dataset - Delete

+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-enumeration.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-enumeration.html new file mode 100644 index 0000000000..4b1063379c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-enumeration.html @@ -0,0 +1,31 @@ + + + + Dataset - Enumeration + + + + +

Dataset - Enumeration

+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-get.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-get.html new file mode 100644 index 0000000000..ab4078c4fb --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-get.html @@ -0,0 +1,57 @@ + + + + Dataset - Get + + + + +

Dataset - Get

+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-prototype.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-prototype.html new file mode 100644 index 0000000000..6b16618461 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-prototype.html @@ -0,0 +1,26 @@ + + + + Dataset - element.dataset is an instance of DOMStringMap + + + + +

Dataset - element.dataset is an instance of DOMStringMap

+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html new file mode 100644 index 0000000000..a5bc177f50 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html @@ -0,0 +1,44 @@ + + + + Dataset - Set + + + + +

Dataset - Set

+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset.html new file mode 100644 index 0000000000..a4a16d014d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset.html @@ -0,0 +1,38 @@ + +dataset: should exist and work on HTML and SVG elements, but not random elements + + + +
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir-assorted.window.js b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-assorted.window.js new file mode 100644 index 0000000000..0d4e4b82d9 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-assorted.window.js @@ -0,0 +1,115 @@ +test(() => { + assert_true(document.documentElement.matches(":dir(ltr)")); +}, "Root element has a direction"); + +test(() => { + const ele = document.createElement("foobar"); + assert_true(ele.matches(":dir(ltr)")); +}, "Element outside the document tree has a direction"); + +test(() => { + const ele = document.createElementNS("foobar", "foobar"); + assert_true(ele.matches(":dir(ltr)")); +}, "Non-HTML element outside the document tree has a direction"); + +test(() => { + const ele = document.createElement("foobar"); + ele.dir = "rtl"; + const ele2 = document.createElement("foobar"); + ele.append(ele2); + assert_true(ele2.matches(":dir(rtl)")); + ele.dir = "ltr"; + assert_true(ele2.matches(":dir(ltr)"), "direction after dynamic change"); +}, "Element without direction has parent element direction"); + +test(() => { + const ele = document.createElement("foobar"); + ele.dir = "rtl"; + const ele2 = document.createElementNS("foobar", "foobar"); + ele.append(ele2); + assert_true(ele2.matches(":dir(rtl)")); + ele.dir = "ltr"; + assert_true(ele2.matches(":dir(ltr)"), "direction after dynamic change"); +}, "Non-HTML element without direction has parent element direction"); + +test(() => { + let container1 = document.createElement("div"); + document.body.appendChild(container1); + let container2 = document.createElement("div"); + + for (let container of [container1, container2]) { + container.dir = "rtl"; + let e = document.createElement("div"); + assert_true(e.matches(":dir(ltr)")); + container.appendChild(e); + assert_false(e.matches(":dir(ltr)")); + e.remove(); + assert_true(e.matches(":dir(ltr)")); + } + + container1.remove(); +}, "dir inheritance is correct after insertion and removal from document"); + +test(() => { + const ele = document.createElement("foobar"); + ele.dir = "auto"; + const ele2 = document.createElementNS("foobar", "foobar"); + ele.append(ele2); + const text = document.createTextNode("\u05D0\u05D1\u05D2"); + ele2.append(text); + assert_true(ele.matches(":dir(rtl)"), "is RTL before change"); + assert_true(ele2.matches(":dir(rtl)"), "child is RTL before change"); + text.data = "ABC"; + assert_true(ele.matches(":dir(ltr)"), "is LTR after change"); + assert_true(ele2.matches(":dir(ltr)"), "child is LTR after change"); +}, "Non-HTML element text contents influence dir=auto"); + +test(() => { + const e1 = document.createElement("div"); + e1.dir = "auto"; + const e2 = document.createElement("div"); + e2.dir = "auto"; + e2.innerText = "A"; + e1.append(e2); + assert_true(e1.matches(":dir(ltr)"), "parent is LTR before changes"); + assert_true(e2.matches(":dir(ltr)"), "child is LTR before changes"); + e2.removeAttribute("dir"); + assert_true(e1.matches(":dir(ltr)"), "parent is LTR after removing dir attribute on child"); + assert_true(e2.matches(":dir(ltr)"), "child is LTR after removing dir attribute on child"); + e2.firstChild.data = "\u05D0"; + assert_false(e1.matches(":dir(ltr)"), "parent is RTL after changing text in child"); + assert_false(e2.matches(":dir(ltr)"), "child is RTL after changing text in child"); +}, "text changes apply to dir=auto on further ancestor after removing dir=auto from closer ancestor"); + +for (const bdi_test of [ + { markup: "A", expected: "ltr", desc: "dir=ltr with LTR contents" }, + { markup: "\u05d0", expected: "ltr", desc: "dir=ltr with RTL contents" }, + { markup: "", expected: "ltr", desc: "dir=ltr empty" }, + { markup: "A", expected: "rtl", desc: "dir=rtl with LTR contents" }, + { markup: "\u05d0", expected: "rtl", desc: "dir=rtl with RTL contents" }, + { markup: "", expected: "rtl", desc: "dir=rtl empty" }, + { markup: "A", expected: "ltr", desc: "dir=auto with LTR contents" }, + { markup: "\u05d0", expected: "rtl", desc: "dir=auto with RTL contents" }, + { markup: "", expected: "parent", desc: "dir=auto empty" }, + { markup: "A", expected: "ltr", desc: "no dir attribute with LTR contents" }, + { markup: "\u05d0", expected: "rtl", desc: "no dir attribute with RTL contents" }, + { markup: "", expected: "parent", desc: "no dir attribute empty" }, +]) { + for (const parent_dir of [ "ltr", "rtl" ]) { + test(() => { + const parent_element = document.createElement("div"); + parent_element.dir = parent_dir; + document.body.appendChild(parent_element); + parent_element.innerHTML = bdi_test.markup; + const bdi_element = parent_element.querySelector("bdi"); + let expected = bdi_test.expected; + if (expected == "parent") { + expected = parent_dir; + } + const not_expected = (expected == "ltr") ? "rtl" : "ltr"; + assert_true(bdi_element.matches(`:dir(${expected})`)); + assert_false(bdi_element.matches(`:dir(${not_expected})`)); + parent_element.remove(); + }, `directionality of bdi elements: ${bdi_test.desc} in ${parent_dir} parent`); + } +} diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-div-append-child.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-div-append-child.html new file mode 100644 index 0000000000..e69f64b3a9 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-div-append-child.html @@ -0,0 +1,18 @@ + +HTML Test: input with dir=auto, then append a child + + + + + + + +
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-dynamic-changes.window.js b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-dynamic-changes.window.js new file mode 100644 index 0000000000..a0cf4aae7b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-dynamic-changes.window.js @@ -0,0 +1,276 @@ +function setup_tree(light_tree, shadow_tree) { + let body = document.body; + let old_length = body.childNodes.length; + body.insertAdjacentHTML("beforeend", light_tree.trim()); + if (body.childNodes.length != old_length + 1) { + throw "unexpected markup"; + } + let result = body.lastChild; + if (shadow_tree) { + let shadow = result.querySelector("#root").attachShadow({mode: "open"}); + shadow.innerHTML = shadow_tree.trim(); + return [result, shadow]; + } + return result; +} + +test(t => { + let a = setup_tree(` +
+
+ hello +
+ `); + + let acs = getComputedStyle(a); + assert_true(a.matches(":dir(ltr)"), ":dir(ltr) matches before insertion"); + assert_false(a.matches(":dir(rtl)"), ":dir(rtl) does not match before insertion"); + assert_equals(acs.direction, "ltr", "CSSdirection before insertion"); + b.innerHTML = "\u05D0"; + assert_false(a.matches(":dir(ltr)"), ":dir(ltr) does not match after insertion"); + assert_true(a.matches(":dir(rtl)"), ":dir(rtl) matches after insertion"); + assert_equals(acs.direction, "rtl", "CSSdirection after insertion"); + + a.remove(); +}, "dynamic insertion of RTL text in a child element"); + +test(() => { + let div_rtlchar = document.createElement("div"); + div_rtlchar.innerHTML = "\u05D0"; + + let container1 = document.createElement("div"); + document.body.appendChild(container1); + let container2 = document.createElement("div"); + + for (let container of [container1, container2]) { + container.dir = "auto"; + assert_true(container.matches(":dir(ltr)")); + container.appendChild(div_rtlchar); + assert_false(container.matches(":dir(ltr)")); + div_rtlchar.remove(); + assert_true(container.matches(":dir(ltr)")); + } + + container1.remove(); +}, "dir=auto changes for content insertion and removal, in and out of document"); + +test(() => { + let tree, shadow; + [tree, shadow] = setup_tree(` +
+
+ A + \u05D0 +
+
+ `, ` + \u05D0 + + `); + + let one = shadow.getElementById("one"); + let two = shadow.getElementById("two"); + let l = tree.querySelector("#l"); + let r = tree.querySelector("#r"); + assert_false(one.matches(":dir(ltr)"), "#one while empty"); + assert_true(two.matches(":dir(ltr)"), "#two with both spans"); + l.slot = "one"; + assert_true(one.matches(":dir(ltr)"), "#one with LTR child span"); + assert_false(two.matches(":dir(ltr)"), "#two with RTL child span"); + r.slot = "one"; + assert_true(one.matches(":dir(ltr)"), "#one with both child spans"); + assert_true(two.matches(":dir(ltr)"), "#two while empty"); + l.slot = ""; + assert_false(one.matches(":dir(ltr)"), "#one with RTL child span"); + assert_true(two.matches(":dir(ltr)"), "#two with LTR child span"); + + tree.remove(); +}, "dir=auto changes for slot reassignment"); + +test(() => { + let tree, shadow; + [tree, shadow] = setup_tree(` +
+
+
A
+
+
+ `, ` +
+ +
+ `); + + let text = tree.querySelector("#text"); + let slot = shadow.querySelector("#slot"); + + assert_true(tree.matches(":dir(ltr)"), "node tree ancestor before first text change"); + assert_true(slot.matches(":dir(ltr)"), "slot before first text change"); + text.innerText = "\u05D0"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor after first text change"); + assert_false(slot.matches(":dir(ltr)"), "slot after first text change"); + tree.dir = "rtl"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor before second text change"); + assert_false(slot.matches(":dir(ltr)"), "slot before second text change"); + text.innerText = "A"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor after second text change"); + assert_true(slot.matches(":dir(ltr)"), "slot after second text change"); + slot.dir = "ltr"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor before third text change"); + assert_true(slot.matches(":dir(ltr)"), "slot before third text change"); + text.innerText = "\u05D0"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor after third text change"); + assert_true(slot.matches(":dir(ltr)"), "slot after third text change"); + slot.dir = "auto"; + tree.dir = "auto"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor after fourth text change"); + assert_false(slot.matches(":dir(ltr)"), "slot after fourth text change"); + text.innerText = "A"; + assert_true(tree.matches(":dir(ltr)"), "node tree ancestor before fourth text change"); + assert_true(slot.matches(":dir(ltr)"), "slot before fourth text change"); + slot.dir = "rtl"; + assert_true(tree.matches(":dir(ltr)"), "node tree ancestor before fifth text change"); + assert_false(slot.matches(":dir(ltr)"), "slot before fifth text change"); + text.innerText = "\u05D0"; + assert_false(tree.matches(":dir(ltr)"), "node tree ancestor before fifth text change"); + assert_false(slot.matches(":dir(ltr)"), "slot before fifth text change"); + + tree.remove(); +}, "text changes affecting both slot and ancestor with dir=auto"); + +test(() => { + let tree = setup_tree(` +
+ A + \u05D0 + A + \u05D0 +
+ `); + + let a1 = tree.querySelector("#a1"); + let aleph1 = tree.querySelector("#aleph1"); + assert_true(tree.matches(":dir(ltr)"), "initial state"); + assert_false(tree.matches(":dir(rtl)"), "initial state"); + a1.dir = "ltr"; + assert_false(tree.matches(":dir(ltr)"), "after change 1"); + a1.dir = "invalid"; + assert_true(tree.matches(":dir(ltr)"), "after change 2"); + a1.dir = "rtl"; + assert_false(tree.matches(":dir(ltr)"), "after change 3"); + a1.removeAttribute("dir"); + assert_true(tree.matches(":dir(ltr)"), "after change 4"); + a1.dir = "invalid"; + assert_true(tree.matches(":dir(ltr)"), "after change 5"); + a1.dir = "rtl"; + assert_false(tree.matches(":dir(ltr)"), "after change 6"); + aleph1.dir = "auto"; + assert_true(tree.matches(":dir(ltr)"), "after change 7"); + aleph1.dir = "invalid"; + assert_false(tree.matches(":dir(ltr)"), "after change 8"); + + tree.remove(); +}, "dynamic changes to subtrees excluded as a result of the dir attribute"); + +test(() => { + let tree = setup_tree(` +
+ +
+ `); + + let element = document.createElementNS("namespace", "element"); + let text = document.createTextNode("\u05D0"); + element.appendChild(text); + tree.prepend(element); + assert_not_equals(element.namespaceURI, tree.namespaceURI); + + assert_true(tree.matches(":dir(rtl)"), "initial state"); + assert_false(tree.matches(":dir(ltr)"), "initial state"); + text.data = "A"; + assert_true(tree.matches(":dir(ltr)"), "after dynamic change"); + assert_false(tree.matches(":dir(rtl)"), "after dynamic change"); + + tree.remove(); +}, "dynamic changes inside of non-HTML elements"); + +test(() => { + let tree, shadow; + [tree, shadow] = setup_tree(` +
+
+ A + \u05D0 +
+
+ `, ` +
+ \u05D0 +
+ `); + + let element = tree.querySelector("element"); + let slot = shadow.querySelector("slot"); + let text = element.firstChild; + + assert_true(tree.matches(":dir(ltr)"), "initial state (tree)"); + assert_true(element.matches(":dir(ltr)"), "initial state (element)"); + assert_true(slot.matches(":dir(ltr)"), "initial state (slot)"); + + text.data = "\u05D0"; + + assert_true(tree.matches(":dir(rtl)"), "state after first change (tree)"); + assert_true(element.matches(":dir(rtl)"), "state after first change (element)"); + assert_true(slot.matches(":dir(rtl)"), "state after first change (slot)"); + + text.data = ""; + + assert_true(tree.matches(":dir(rtl)"), "state after second change (tree)"); + assert_true(element.matches(":dir(rtl)"), "state after second change (element)"); + assert_true(slot.matches(":dir(rtl)"), "state after second change (slot)"); + + tree.remove(); +}, "slotted non-HTML elements"); + +test(() => { + let tree, shadow; + [tree, shadow] = setup_tree(` +
+
+ + \u05D0 +
+
+ `, ` +
+ +
+ `); + + let element = document.createElementNS("namespace", "element"); + let text = document.createTextNode("A"); + element.appendChild(text); + tree.querySelector("#root").prepend(element); + + assert_not_equals(element.namespaceURI, tree.namespaceURI); + + assert_true(tree.matches(":dir(ltr)"), "initial state (tree)"); + assert_true(element.matches(":dir(ltr)"), "initial state (element)"); + + tree.dir = "auto"; + + assert_true(tree.matches(":dir(ltr)"), "state after making dir=auto (tree)"); + assert_true(element.matches(":dir(ltr)"), "state after making dir=auto (element)"); + + text.data = "\u05D0"; + + assert_true(tree.matches(":dir(rtl)"), "state after first change (tree)"); + assert_true(element.matches(":dir(rtl)"), "state after first change (element)"); + + text.data = ""; + + assert_true(tree.matches(":dir(rtl)"), "state after second change (tree)"); + assert_true(element.matches(":dir(rtl)"), "state after second change (element)"); + + tree.remove(); +}, "slotted non-HTML elements after dynamically assigning dir=auto, and dir attribute ignored on non-HTML elements"); diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-form-associated.window.js b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-form-associated.window.js new file mode 100644 index 0000000000..3af7eb3c2e --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir-auto-form-associated.window.js @@ -0,0 +1,71 @@ +// Keep this mostly synchronized with +// html/semantics/forms/attributes-common-to-form-controls/dirname-only-if-applies.html +// except that won't have "reset" and "button" as those don't submit their value +[ + "hidden", + "text", + "search", + "tel", + "url", + "email", + "password", + "submit", + "reset", + "button" +].forEach(type => { + test(t => { + const input = document.createElement("input"); + t.add_cleanup(() => input.remove()); + input.type = type; + assert_equals(input.type, type); + document.body.append(input); + + input.setAttribute("value", "\u05D0"); // The Hebrew letter Alef (strongly RTL) + assert_true(input.matches(":dir(ltr)")); + input.removeAttribute("value"); + + input.dir = "auto"; + input.setAttribute("value", "\u05D0"); + assert_true(input.matches(":dir(rtl)")); + input.removeAttribute("value"); + assert_true(input.matches(":dir(ltr)")); + + input.value = "\u05D0"; + assert_true(input.matches(":dir(rtl)")); + }, ` directionality`); +}); + +[ + "date", + "month", + "week", + "time", + "datetime-local", + "number", + "range", + "color", + "checkbox", + "radio", + // "file" // value setter throws + "image" +].forEach(type => { + test(t => { + const input = document.createElement("input"); + t.add_cleanup(() => input.remove()); + input.type = type; + assert_equals(input.type, type); + input.dir = "auto"; + input.value = "\u05D0"; // The Hebrew letter Alef (strongly RTL) + document.body.append(input); + assert_true(input.matches(":dir(ltr)")); + }, ` directionality`); +}); + +test(t => { + const input = document.createElement("textarea"); + t.add_cleanup(() => input.remove()); + input.dir = "auto"; + input.value = "\u05D0"; // The Hebrew letter Alef (strongly RTL) + document.body.append(input); + assert_true(input.matches(":dir(rtl)")); +}, `ABCאבג. + +
+
ABCאבג.
+
+ +
+
+
ABCאבג.
+
+
+
ABCאבג.
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-L.html new file mode 100644 index 0000000000..0de041fe01 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-L.html @@ -0,0 +1,61 @@ + + + + + HTML Test: dir=auto, start with textarea, then L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + ד - The Hebrew letter Dalet (strongly RTL). + ה - The Hebrew letter He (strongly RTL). + ו - The Hebrew letter Vav (strongly RTL). +
+
+
+
ABCאבג.
+
+
+
ABCאבג.
+
+
+
+
+
ABCאבג.
+
+
+
ABCאבג.
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R-ref.html new file mode 100644 index 0000000000..351431fb2b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R-ref.html @@ -0,0 +1,57 @@ + + + + + HTML Test: dir=auto, start with textarea, then R + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+
אבגABC.
+
+
+
אבגABC.
+
+
+
+
+
אבגABC.
+
+
+
אבגABC.
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R.html new file mode 100644 index 0000000000..852de6073c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R.html @@ -0,0 +1,58 @@ + + + + + HTML Test: dir=auto, start with textarea, then R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+
אבגABC.
+
+
+
אבגABC.
+
+
+
+
+
אבגABC.
+
+
+
אבגABC.
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L-ref.html new file mode 100644 index 0000000000..198d081c26 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with EN+L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L.html new file mode 100644 index 0000000000..d5ade6c096 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-L.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with EN+L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R-ref.html new file mode 100644 index 0000000000..303afc3c6b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with EN+R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R.html new file mode 100644 index 0000000000..08ef3ecd70 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-EN-R.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with EN+R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L-ref.html new file mode 100644 index 0000000000..cb3621aa61 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L.html new file mode 100644 index 0000000000..0a23f2b86d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-L.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L-ref.html new file mode 100644 index 0000000000..3d0f2cf3cc --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with N+EN+L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L.html new file mode 100644 index 0000000000..03f85526da --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with N+EN+L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R-ref.html new file mode 100644 index 0000000000..26bf27d619 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with N+EN+R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R.html new file mode 100644 index 0000000000..13193d3d72 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with N+EN+R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-ref.html new file mode 100644 index 0000000000..33f75b730b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-ref.html @@ -0,0 +1,53 @@ + + + + + HTML Test: input with dir=auto, all N+EN + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN.html new file mode 100644 index 0000000000..03df3c6dcc --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-EN.html @@ -0,0 +1,54 @@ + + + + + HTML Test: input with dir=auto, all N+EN + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L-ref.html new file mode 100644 index 0000000000..b6a89a1d72 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with N+L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L.html new file mode 100644 index 0000000000..9c1d3bceec --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-L.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with N+L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R-ref.html new file mode 100644 index 0000000000..bcd5430441 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with N+R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R.html new file mode 100644 index 0000000000..dbf54f7344 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-N-R.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with N+R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R-ref.html new file mode 100644 index 0000000000..217972e82d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, start with R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R.html new file mode 100644 index 0000000000..6d2612b316 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-R.html @@ -0,0 +1,59 @@ + + + + + HTML Test: input with dir=auto, start with R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L-ref.html new file mode 100644 index 0000000000..879e20d6cf --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with EN+L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L.html new file mode 100644 index 0000000000..d0a9e2bb9b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with EN+L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R-ref.html new file mode 100644 index 0000000000..15781e2524 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with EN+R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R.html new file mode 100644 index 0000000000..e444b90dc2 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with EN+R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L-ref.html new file mode 100644 index 0000000000..0feef25047 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L.html new file mode 100644 index 0000000000..e6aa700ad0 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-L.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L-ref.html new file mode 100644 index 0000000000..6d6902f314 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+EN+L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L.html new file mode 100644 index 0000000000..7905cee946 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+EN+L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R-ref.html new file mode 100644 index 0000000000..53dd892096 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+EN+R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R.html new file mode 100644 index 0000000000..95faa72ea7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+EN+R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-ref.html new file mode 100644 index 0000000000..11697e53eb --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-ref.html @@ -0,0 +1,53 @@ + + + + + HTML Test: input with dir=auto, script assigns to all N+EN + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN.html new file mode 100644 index 0000000000..2721affaef --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN.html @@ -0,0 +1,69 @@ + + + + + HTML Test: input with dir=auto, script assigns to all N+EN + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L-ref.html new file mode 100644 index 0000000000..fd7cb10fbd --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+L + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L.html new file mode 100644 index 0000000000..2ff24db28c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+L + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R-ref.html new file mode 100644 index 0000000000..0fa6da249a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html new file mode 100644 index 0000000000..0663b28ad2 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with N+R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R-ref.html new file mode 100644 index 0000000000..12b2d1925f --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R-ref.html @@ -0,0 +1,58 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with R + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R.html new file mode 100644 index 0000000000..07becaaccd --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-input-script-R.html @@ -0,0 +1,70 @@ + + + + + HTML Test: input with dir=auto, script assigns to start with R + + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ב - The Hebrew letter Bet (strongly RTL). + ג - The Hebrew letter Gimel (strongly RTL). + This test makes sure that the direction is set correctly for an input whose value is set + dynamically by script. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate-ref.html new file mode 100644 index 0000000000..858a7db233 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate-ref.html @@ -0,0 +1,57 @@ + + + + + HTML Test: dir=auto, isolated in LTR text + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
+
+
+ ‭1 a! א‬ +
+
+ ‭a !א 1‬ +
+
+
+
+ ‭1 a! א‬ +
+
+ ‭a !א 1‬ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate.html new file mode 100644 index 0000000000..14272c0531 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-isolate.html @@ -0,0 +1,58 @@ + + + + + HTML Test: dir=auto, isolated in LTR text + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
+
+
+ א a! 1 +
+
+ a א! 1 +
+
+
+
+ ‭1 a! א‬ +
+
+ ‭a !א 1‬ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN-ref.html new file mode 100644 index 0000000000..c951c30b20 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN-ref.html @@ -0,0 +1,49 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+
+@123!
+        
+
+
+
+@123!
+        
+
+
+
+
+
+@123!
+        
+
+
+
+@123!
+        
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN.html new file mode 100644 index 0000000000..cd721d725e --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-EN.html @@ -0,0 +1,66 @@ + + + + + HTML Test: pre with dir=auto, all N+EN + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + ‎ - LRM, the invisible left-to-right mark (strongly LTR). + ‏ - RLM, the invisible right-to-left mark (strongly RTL). + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. +
+
+
+
+@123!
+        
+
+
+
+@123!
+        
+
+
+
+
+
+@123!
+        
+
+
+
+@123!
+        
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs-ref.html new file mode 100644 index 0000000000..2d9caf062d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs-ref.html @@ -0,0 +1,61 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). +
+
+
+
+א
+!...
+א
+        
+
+
+
+א
+!...
+א
+        
+
+
+
+
+
+א
+!...
+א
+        
+
+
+
+א
+!...
+א
+        
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs.html new file mode 100644 index 0000000000..adca24d88f --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs.html @@ -0,0 +1,76 @@ + + + + + HTML Test: pre with dir=auto, all-N between all-Rs + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. + The ...! paragraph, being neutral, is supposed to be displayed LTR (i.e. as ...!, not as !...) + despite both the paragraph before it and the paragraph after it being all-RTL, which makes the + element as a whole RTL. +
+
+
+
+א
+...!
+א
+        
+
+
+
+א
+...!
+א
+        
+
+
+
+
+
+א
+!...
+א
+        
+
+
+
+א
+!...
+א
+        
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed-ref.html new file mode 100644 index 0000000000..10bd02433b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed-ref.html @@ -0,0 +1,61 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+
+@123!
+@123!
+@123!
+@123!
+        
+
+
+
+@123!
+@123!
+@123!
+@123!
+        
+
+
+
+
+
+@123!
+@123!
+@123!
+@123!
+        
+
+
+
+@123!
+@123!
+@123!
+@123!
+        
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed.html new file mode 100644 index 0000000000..906365621d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-pre-mixed.html @@ -0,0 +1,77 @@ + + + + + HTML Test: pre with dir=auto, mixed L and R paragraphs + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + ‎ - LRM, the invisible left-to-right mark (strongly LTR). + ‏ - RLM, the invisible right-to-left mark (strongly RTL). + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. +
+
+
+
+@‎123‏!
+!‏123‎@
+@123‎‏!
+!123‏‎@
+        
+
+
+
+@‎123‏!
+!‏123‎@
+@123‎‏!
+!123‏‎@
+        
+
+
+
+
+
+@123!
+@123!
+@123!
+@123!
+        
+
+
+
+@123!
+@123!
+@123!
+@123!
+        
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN-ref.html new file mode 100644 index 0000000000..253b84459e --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN-ref.html @@ -0,0 +1,49 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN.html new file mode 100644 index 0000000000..f0fa2161a1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-EN.html @@ -0,0 +1,66 @@ + + + + + HTML Test: textarea with dir=auto, all N+EN + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + ‎ - LRM, the invisible left-to-right mark (strongly LTR). + ‏ - RLM, the invisible right-to-left mark (strongly RTL). + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs-ref.html new file mode 100644 index 0000000000..afeef08cbf --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs-ref.html @@ -0,0 +1,64 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs.html new file mode 100644 index 0000000000..b5850e1c3c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs.html @@ -0,0 +1,79 @@ + + + + + HTML Test: textarea with dir=auto, all-N between all-Rs + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. + The ...! paragraph, being neutral, is supposed to be displayed LTR (i.e. as ...!, not as !...) + despite both the paragraph before it and the paragraph after it being all-RTL, which makes the + element as a whole RTL. +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed-ref.html new file mode 100644 index 0000000000..a5a84480f6 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed-ref.html @@ -0,0 +1,64 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed.html new file mode 100644 index 0000000000..4947124c99 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-mixed.html @@ -0,0 +1,80 @@ + + + + + HTML Test: textarea with dir=auto, mixed L and R paragraphs + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + ‎ - LRM, the invisible left-to-right mark (strongly LTR). + ‏ - RLM, the invisible right-to-left mark (strongly RTL). + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN-ref.html new file mode 100644 index 0000000000..253b84459e --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN-ref.html @@ -0,0 +1,49 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html new file mode 100644 index 0000000000..3c674e2f82 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html @@ -0,0 +1,77 @@ + + + + + HTML Test: textarea with dir=auto, script assigns to all N+EN + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + ‎ - LRM, the invisible left-to-right mark (strongly LTR). + ‏ - RLM, the invisible right-to-left mark (strongly RTL). + This test makes sure that the direction is set correctly for a textarea whose value is set + dynamically by script. + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs-ref.html new file mode 100644 index 0000000000..e523313252 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs-ref.html @@ -0,0 +1,60 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs.html new file mode 100644 index 0000000000..f5e53667e5 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs.html @@ -0,0 +1,84 @@ + + + + + HTML Test: textarea with dir=auto, script assigns to all-N between all-Rs + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + א - The Hebrew letter Alef (strongly RTL). + This test makes sure that the direction is set correctly for a textarea whose value is set + dynamically by script. + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. + The ...! paragraph, being neutral, is supposed to be displayed LTR (i.e. as ...!, not as !...) + despite both the paragraph before it and the paragraph after it being all-RTL, which makes the + element as a whole RTL. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed-ref.html new file mode 100644 index 0000000000..a5a84480f6 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed-ref.html @@ -0,0 +1,64 @@ + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed.html new file mode 100644 index 0000000000..f0c6d4fe44 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed.html @@ -0,0 +1,100 @@ + + + + + HTML Test: textarea with dir=auto, script assigns to mixed L and R paragraphs + + + + + + + + + +

Test passes if the two boxes below look exactly the same.

+
+ Key to entities used below: + ‎ - LRM, the invisible left-to-right mark (strongly LTR). + ‏ - RLM, the invisible right-to-left mark (strongly RTL). + This test makes sure that the direction is set correctly for a textarea whose value is set + dynamically by script. + We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext + specification states whether text-align:start and text-align:end should obey the paragraph + direction or the direction property in a unicode-bidi:plaintext element. +
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/document-dir.html b/testing/web-platform/tests/html/dom/elements/global-attributes/document-dir.html new file mode 100644 index 0000000000..675b4bc9d9 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/document-dir.html @@ -0,0 +1,26 @@ + + +document.dir + + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/id-attribute.html b/testing/web-platform/tests/html/dom/elements/global-attributes/id-attribute.html new file mode 100644 index 0000000000..660a7274a3 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/id-attribute.html @@ -0,0 +1,130 @@ + + + +The id attribute + + + + + +

The id attribute

+
+ + + + + + + + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/id-name-specialcase.html b/testing/web-platform/tests/html/dom/elements/global-attributes/id-name-specialcase.html new file mode 100644 index 0000000000..77e4100b70 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/id-name-specialcase.html @@ -0,0 +1,30 @@ + +HTML5: test id with none pure alpha characters + + + +
+
+ + + + + +
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/id-name.html b/testing/web-platform/tests/html/dom/elements/global-attributes/id-name.html new file mode 100644 index 0000000000..7fdac993b2 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/id-name.html @@ -0,0 +1,17 @@ + +id and name attributes and getElementById + + + + +
+
+
+

+
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute-shadow.window.js b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute-shadow.window.js new file mode 100644 index 0000000000..2a59a56c05 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute-shadow.window.js @@ -0,0 +1,81 @@ +const TESTS = [ + { + title: "lang only on slot", + light_tree: ` +
+ `, + shadow_tree: ` + + `, + }, + { + title: "lang only on host", + light_tree: ` +
+ `, + shadow_tree: ` + + `, + }, + { + title: "lang on host and slot", + light_tree: ` +
+ `, + shadow_tree: ` + + `, + }, + { + title: "lang on host and slotted element", + light_tree: ` +
+ `, + shadow_tree: ` + + `, + }, + { + title: "lang on host and slot and slotted element", + light_tree: ` +
+ `, + shadow_tree: ` + + `, + }, + { + title: "lang on slot inherits from parent", + light_tree: ` +
+ `, + shadow_tree: ` +
+ +
+ `, + }, +]; + +const container = document.createElement("div"); +document.body.append(container); +container.lang = "en-US"; + +for (const obj of TESTS) { + test(() => { + container.innerHTML = obj.light_tree; + let shadow = container.querySelector("#host").attachShadow({mode: "open"}); + shadow.innerHTML = obj.shadow_tree; + for (const element of Array.from(container.querySelectorAll("[data-expected]")).concat(Array.from(shadow.querySelectorAll("[data-expected]")))) { + const expected = element.getAttribute("data-expected"); + assert_true(element.matches(`:lang(${expected})`), `element matches expected language ${expected}`); + for (const other_lang of ["en-US", "en-AU", "en-GB", "en-NZ", "en-CA"]) { + if (expected != other_lang) { + assert_false(element.matches(`:lang(${other_lang})`), `element does not match language ${other_lang}`); + } + } + } + }, obj.title); +} + +container.remove(); diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute.window.js b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute.window.js new file mode 100644 index 0000000000..de0c03e6f8 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-attribute.window.js @@ -0,0 +1,16 @@ +test(() => { + const container = document.createElement("div"); + document.body.append(container); + container.setAttribute("lang", "en-CA"); + + const child = document.createElementNS("div", "test"); + container.append(child); + child.setAttribute("lang", "en-NZ"); + + assert_true(container.matches(":lang(en-CA)"), "container matches en-CA"); + assert_true(child.matches(":lang(en-CA)"), "child matches en-CA"); + assert_false(container.matches(":lang(en-NZ)"), "container does not match en-NZ"); + assert_false(child.matches(":lang(en-NZ)"), "child does not match en-NZ"); + + container.remove(); +}, "unnamespaced lang attribute only works on elements in the HTML namespace"); diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01-ref.html new file mode 100644 index 0000000000..eacf73da16 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01-ref.html @@ -0,0 +1,20 @@ + +Languages + + + + + + +

All lines below should have a green background.

+
+

{}{lang}{en}

+

{}{xml:lang}{en}

+

Parent: {}{lang}{en}

+

Parent: {}{xml:lang}{en}

+

{xml}{lang}{en}

+

{xml}{lang}{en} - {lang}{de}

+

{xml}{lang}{de} - {lang}{en}

+
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01.html b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01.html new file mode 100644 index 0000000000..04d8b74e2d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xmllang-01.html @@ -0,0 +1,58 @@ + +Languages + + + + + + + +

All lines below should have a green background.

+
+

{}{lang}{en}

+

{}{xml:lang}{en}

+

Parent: {}{lang}{en}

+

Parent: {}{xml:lang}{en}

+
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy-ref.html new file mode 100644 index 0000000000..b2037182b9 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy-ref.html @@ -0,0 +1,9 @@ + +Invalid languages + + + + +
+

ABC

+
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy.html b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy.html new file mode 100644 index 0000000000..b950e1fac9 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/lang-xyzzy.html @@ -0,0 +1,12 @@ + +Invalid languages + + + + + + + +
+

ABC

+
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/mapped-attribute-adopt-001.html b/testing/web-platform/tests/html/dom/elements/global-attributes/mapped-attribute-adopt-001.html new file mode 100644 index 0000000000..66ff3d64f1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/mapped-attribute-adopt-001.html @@ -0,0 +1,23 @@ + +Adoption doesn't mess with mapped attributes + + + + + + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/style-01-ref.html b/testing/web-platform/tests/html/dom/elements/global-attributes/style-01-ref.html new file mode 100644 index 0000000000..be8175e61d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/style-01-ref.html @@ -0,0 +1,24 @@ + +The style attribute + + + + + + +
+

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/style-01.html b/testing/web-platform/tests/html/dom/elements/global-attributes/style-01.html new file mode 100644 index 0000000000..c0e0995806 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/style-01.html @@ -0,0 +1,26 @@ + +The style attribute + + + + + + + +
+

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

This line should have a green background. +

diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-001.tentative.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-001.tentative.html new file mode 100644 index 0000000000..c9faa6908a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-001.tentative.html @@ -0,0 +1,39 @@ + + + + + + + +
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-002.tentative.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-002.tentative.html new file mode 100644 index 0000000000..a1a237a2ee --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-002.tentative.html @@ -0,0 +1,50 @@ + + + + + + + +
+
+
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003-crash.tentative.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003-crash.tentative.html new file mode 100644 index 0000000000..207275d9db --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003-crash.tentative.html @@ -0,0 +1,27 @@ + +Tests that using the `anchor` attribute with inline containing block does not crash + + + + + + +
foo
+ + +
bar
+
+ + +
bar
+
+ + +
bar
+
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003.tentative.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003.tentative.html new file mode 100644 index 0000000000..ec2d8d5ead --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-anchor-attribute-003.tentative.html @@ -0,0 +1,71 @@ + +Tests that ::before, ::after and ::backdrop pseudo elements use originating element's implicit anchor + + + + + + + +
+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-001.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-001.html new file mode 100644 index 0000000000..c2966f3620 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-001.html @@ -0,0 +1,41 @@ + + + + +lang attribute in html tag + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-002.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-002.html new file mode 100644 index 0000000000..205bc35f2d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-002.html @@ -0,0 +1,41 @@ + + + + +xml:lang attribute in html tag + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html new file mode 100644 index 0000000000..717aa12e68 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html @@ -0,0 +1,41 @@ + + + + +HTTP header + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html.headers b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html.headers new file mode 100644 index 0000000000..0c47ecd4fa --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-003.html.headers @@ -0,0 +1 @@ +Content-Language: ko diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-004.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-004.html new file mode 100644 index 0000000000..ff36f75add --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-004.html @@ -0,0 +1,42 @@ + + + + + +pragma-set default + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html new file mode 100644 index 0000000000..63fb8e3bbb --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html @@ -0,0 +1,41 @@ + + + + +HTTP header and html lang + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html.headers b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html.headers new file mode 100644 index 0000000000..1b971b697a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-005.html.headers @@ -0,0 +1 @@ +Content-Language: zh diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html new file mode 100644 index 0000000000..ede4912025 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html @@ -0,0 +1,42 @@ + + + + + +HTTP header and meta element + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html.headers b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html.headers new file mode 100644 index 0000000000..1b971b697a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-006.html.headers @@ -0,0 +1 @@ +Content-Language: zh diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-007.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-007.html new file mode 100644 index 0000000000..8fafef036f --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-007.html @@ -0,0 +1,42 @@ + + + + + +html lang and meta elements + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-008.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-008.html new file mode 100644 index 0000000000..3be54154c1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-008.html @@ -0,0 +1,41 @@ + + + + +lang="..." vs lang="" + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html new file mode 100644 index 0000000000..3a927028ef --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html @@ -0,0 +1,41 @@ + + + + +lang="" vs HTTP + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html.headers b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html.headers new file mode 100644 index 0000000000..0c47ecd4fa --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-009.html.headers @@ -0,0 +1 @@ +Content-Language: ko diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-010.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-010.html new file mode 100644 index 0000000000..2c21737471 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-010.html @@ -0,0 +1,42 @@ + + + + + +lang="" vs meta Content-Language + + + + + + + + + + + +
 
+

This test failed because it relies on :lang for results, but :lang is not supported by this browser.

+ + + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-011.html.headers b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-011.html.headers new file mode 100644 index 0000000000..827b4348f4 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-lang-attribute-011.html.headers @@ -0,0 +1 @@ +Content-Language: ko,zh,ja diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-007.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-007.html new file mode 100644 index 0000000000..abce2858a2 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-007.html @@ -0,0 +1,29 @@ + + + + +no translate attribute + + + + + + + + + + +
 
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-008.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-008.html new file mode 100644 index 0000000000..70486fe59b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-008.html @@ -0,0 +1,29 @@ + + + + +translate=yes + + + + + + + + + + +
 
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-009.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-009.html new file mode 100644 index 0000000000..1ab49b0307 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-009.html @@ -0,0 +1,29 @@ + + + + +translate=no + + + + + + + + + + +
 
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-010.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-010.html new file mode 100644 index 0000000000..c45965e004 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-010.html @@ -0,0 +1,29 @@ + + + + +translate inherits no + + + + + + + + + + +
   
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-011.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-011.html new file mode 100644 index 0000000000..101f70e2e7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-011.html @@ -0,0 +1,29 @@ + + + + +translate=yes inside translate=no + + + + + + + + + + +
   
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-012.html b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-012.html new file mode 100644 index 0000000000..1d81cfd8b1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/the-translate-attribute-012.html @@ -0,0 +1,29 @@ + + + + +translate="" + + + + + + + + + + +
 
+ + + + +
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/title-manual.html b/testing/web-platform/tests/html/dom/elements/global-attributes/title-manual.html new file mode 100644 index 0000000000..d781172bba --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/title-manual.html @@ -0,0 +1,8 @@ + +The title attribute + +

Hover each word below. The tooltip for each of them should be "PASS".

+
div dfn abbr menuitem
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/translate-enumerated-ascii-case-insensitive.html b/testing/web-platform/tests/html/dom/elements/global-attributes/translate-enumerated-ascii-case-insensitive.html new file mode 100644 index 0000000000..dedf559b98 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/translate-enumerated-ascii-case-insensitive.html @@ -0,0 +1,26 @@ + + + + + + + + +
+
+
+ diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/translate-inherit-no-parent-element.html b/testing/web-platform/tests/html/dom/elements/global-attributes/translate-inherit-no-parent-element.html new file mode 100644 index 0000000000..370225c7f7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/translate-inherit-no-parent-element.html @@ -0,0 +1,33 @@ + + +The translate attribute inherit state when there's no parent element + + + diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/translate-non-html-translation-mode.html b/testing/web-platform/tests/html/dom/elements/global-attributes/translate-non-html-translation-mode.html new file mode 100644 index 0000000000..3bd7f6ace9 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/translate-non-html-translation-mode.html @@ -0,0 +1,46 @@ + + +Non-HTML elements have a translation mode + + + diff --git a/testing/web-platform/tests/html/dom/elements/images/bypass-cache-revalidation.html b/testing/web-platform/tests/html/dom/elements/images/bypass-cache-revalidation.html new file mode 100644 index 0000000000..38cdd876da --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/images/bypass-cache-revalidation.html @@ -0,0 +1,37 @@ + +Cached images can bypass revalidation + + + +
+
+ + + diff --git a/testing/web-platform/tests/html/dom/elements/images/image.py b/testing/web-platform/tests/html/dom/elements/images/image.py new file mode 100644 index 0000000000..b8bb34e618 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/images/image.py @@ -0,0 +1,28 @@ +import os.path + +from wptserve.utils import isomorphic_decode + +def main(request, response): + + key = request.GET[b'id'] + alreadyServedRequest = False + try: + alreadyServedRequest = request.server.stash.take(key) + except (KeyError, ValueError) as e: + pass + + if alreadyServedRequest: + body = open(os.path.join(os.path.dirname(isomorphic_decode(__file__)), u"../../../../images/red.png"), u"rb").read() + else: + request.server.stash.put(key, True); + body = open(os.path.join(os.path.dirname(isomorphic_decode(__file__)), u"../../../../images/green.png"), u"rb").read() + pass + + response.writer.write_status(200) + response.writer.write_header(b"etag", b"abcdef") + response.writer.write_header(b"content-length", len(body)) + response.writer.write_header(b"content-type", b"image/png") + response.writer.write_header(b"cache-control", b"public, max-age=31536000, no-cache") + response.writer.end_headers() + + response.writer.write(body) diff --git a/testing/web-platform/tests/html/dom/elements/name-content-attribute-and-property.html b/testing/web-platform/tests/html/dom/elements/name-content-attribute-and-property.html new file mode 100644 index 0000000000..082ed281fe --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/name-content-attribute-and-property.html @@ -0,0 +1,57 @@ + +Only certain HTML elements reflect the name content attribute as a property + + + +
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001a.html new file mode 100644 index 0000000000..16a308a2f7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following number, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א 3
+
a 3
+
א 3
+
a 3
+
+
+
‭א 3‬
+
‭a 3‬
+
‭3 א‬
+
‭3 a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001b.html new file mode 100644 index 0000000000..197f49aa24 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following number, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א 3
+
a 3
+
א 3
+
a 3
+
+
+
‭א 3‬
+
‭a 3‬
+
‭3 א‬
+
‭3 a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001c.html new file mode 100644 index 0000000000..95ec6c739d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following number, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א 3
+
a 3
+
א 3
+
a 3
+
+
+
‭א 3‬
+
‭a 3‬
+
‭3 א‬
+
‭3 a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002a.html new file mode 100644 index 0000000000..7b7029a269 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following number with intervening neutrals, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
> א > > 3 >
+
> a > > 3 >
+
> א > > 3 >
+
> a > > 3 >
+
+
+
‭< א < > 3 >‬
+
‭< a < > 3 >‬
+
‭< 3 < > א >‬
+
‭< 3 < > a >‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002b.html new file mode 100644 index 0000000000..d448de5080 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following number with intervening neutrals, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
> א > > 3 >
+
> a > > 3 >
+
> א > > 3 >
+
> a > > 3 >
+
+
+
‭< א < > 3 >‬
+
‭> a > > 3 >‬
+
‭< 3 < < א <‬
+
‭< 3 < > a >‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002c.html new file mode 100644 index 0000000000..e88fb1c845 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-002c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following number with intervening neutrals, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
> א > > 3 >
+
> a > > 3 >
+
> א > > 3 >
+
> a > > 3 >
+
+
+
‭> א > > 3 >‬
+
‭> a > > 3 >‬
+
‭< 3 < < א <‬
+
‭< 3 < < a <‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003a.html new file mode 100644 index 0000000000..9cf65c8184 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from immediately following number, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א3
+
a3
+
א3
+
a3
+
+
+
‭א3‬
+
‭a3‬
+
‭3א‬
+
‭3a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003b.html new file mode 100644 index 0000000000..2c6b553089 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from immediately following number, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א3
+
a3
+
א3
+
a3
+
+
+
‭א3‬
+
‭a3‬
+
‭3א‬
+
‭3a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003c.html new file mode 100644 index 0000000000..ac8735122b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-003c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from immediately following number, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א3
+
a3
+
א3
+
a3
+
+
+
‭א3‬
+
‭a3‬
+
‭3א‬
+
‭3a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004a.html new file mode 100644 index 0000000000..27a674ccdc --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: numbers isolated from preceding text, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א 3
+
a 3
+
א 3
+
a 3
+
+
+
‭א 3‬
+
‭a 3‬
+
‭3 א‬
+
‭3 a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004b.html new file mode 100644 index 0000000000..6fe74393ae --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: numbers isolated from preceding text, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א 3
+
a 3
+
א 3
+
a 3
+
+
+
‭א 3‬
+
‭a 3‬
+
‭3 א‬
+
‭3 a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004c.html new file mode 100644 index 0000000000..43d994b2f0 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-004c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: numbers isolated from preceding text, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א 3
+
a 3
+
א 3
+
a 3
+
+
+
‭א 3‬
+
‭a 3‬
+
‭3 א‬
+
‭3 a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005a.html new file mode 100644 index 0000000000..2fbddbd71f --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following text, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א ב...
+
a b...
+
a b...
+
א ב...
+
+
+
‭א ב...‬
+
‭a b...‬
+
‭...b a‬
+
‭...ב א‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005b.html new file mode 100644 index 0000000000..d61e258f21 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following text, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א ב...
+
a b...
+
a b...
+
א ב...
+
+
+
‭א ב...‬
+
‭a b...‬
+
‭...b a‬
+
‭...ב א‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005c.html new file mode 100644 index 0000000000..d544275b2f --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-005c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from following text, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א ב...
+
a b...
+
a b...
+
א ב...
+
+
+
‭א ב...‬
+
‭a b...‬
+
‭...b a‬
+
‭...ב א‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006a.html new file mode 100644 index 0000000000..430df00d9f --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006a.html @@ -0,0 +1,32 @@ + + + + +The dir attribute: isolated from following text with intervening neutrals, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
> א > > ב >...
+
> a > > b >...
+
+
+
‭< א < > ב >...‬
+
‭...< b < > a >‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006b.html new file mode 100644 index 0000000000..a6da487152 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006b.html @@ -0,0 +1,32 @@ + + + + +The dir attribute: isolated from following text with intervening neutrals, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
> א > > ב >...
+
> a > > b >...
+
+
+
‭< א < > ב >...‬
+
‭...< b < > a >‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006c.html new file mode 100644 index 0000000000..3407d37f38 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006c.html @@ -0,0 +1,32 @@ + + + + +The dir attribute: isolated from following text with intervening neutrals, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
> א > > ב >...
+
> a > > b >...
+
+
+
‭> א > > ב >...‬
+
‭...< b < < a <‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007a.html new file mode 100644 index 0000000000..e8b37b1b97 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from immediately following text, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
אב...
+
ab...
+
ab...
+
אב...
+
+
+
‭אב...‬
+
‭ab...‬
+
‭...ba‬
+
‭...בא‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007b.html new file mode 100644 index 0000000000..c54e63de7c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from immediately following text, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
אב...
+
ab...
+
ab...
+
אב...
+
+
+
‭אב...‬
+
‭ab...‬
+
‭...ba‬
+
‭...בא‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007c.html new file mode 100644 index 0000000000..b9c5219b8d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from immediately following text, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
אב...
+
ab...
+
ab...
+
אב...
+
+
+
‭אב...‬
+
‭ab...‬
+
‭...ba‬
+
‭...בא‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008a.html new file mode 100644 index 0000000000..1455fd552b --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008a.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from preceding text, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א ב
+
a b
+
א ב
+
a b
+
+
+
‭א ב‬
+
‭a b‬
+
‭ב א‬
+
‭b a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008b.html new file mode 100644 index 0000000000..f12e6d67bf --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008b.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from preceding text, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א ב
+
a b
+
א ב
+
a b
+
+
+
‭א ב‬
+
‭a b‬
+
‭ב א‬
+
‭b a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008c.html new file mode 100644 index 0000000000..b1754cf23e --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-008c.html @@ -0,0 +1,36 @@ + + + + +The dir attribute: isolated from preceding text, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א ב
+
a b
+
א ב
+
a b
+
+
+
‭א ב‬
+
‭a b‬
+
‭ב א‬
+
‭b a‬
+
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009a.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009a.html new file mode 100644 index 0000000000..63a9706bae --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009a.html @@ -0,0 +1,33 @@ + + + + +The dir attribute: isolated from surrounding text, opposite direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א > > b > > ג...
+
a > > ב > > c...
+
+
+
‭ג < < b < < א...‬
+
‭...a > > ב > > c‬
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009b.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009b.html new file mode 100644 index 0000000000..57098fa75a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009b.html @@ -0,0 +1,33 @@ + + + + +The dir attribute: isolated from surrounding text, auto + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א > > b > > ג...
+
a > > ב > > c...
+
+
+
‭ג < > b > < א...‬
+
‭...a > < ב < > c‬
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009c.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009c.html new file mode 100644 index 0000000000..4aac3184ee --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009c.html @@ -0,0 +1,33 @@ + + + + +The dir attribute: isolated from surrounding text, same direction + + + + + + + +

Test passes if the two boxes are identical.

+ +
+
א > > b > > ג...
+
a > > ב > > c...
+
+
+
‭ג < > b > < א...‬
+
‭...a > < ב < > c‬
+
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-001-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-001-ref.html new file mode 100644 index 0000000000..b5882eb7a3 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-001-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following number, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭א 3‬
‭a 3‬
‭3 א‬
‭3 a‬
+
‭א 3‬
‭a 3‬
‭3 א‬
‭3 a‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002a-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002a-ref.html new file mode 100644 index 0000000000..f28559b5a1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002a-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following number with intervening neutrals, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭< א < > 3 >‬
‭< a < > 3 >‬
‭< 3 < > א >‬
‭< 3 < > a >‬
+
‭< א < > 3 >‬
‭< a < > 3 >‬
‭< 3 < > א >‬
‭< 3 < > a >‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002b-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002b-ref.html new file mode 100644 index 0000000000..d4eda2189d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002b-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following number with intervening neutrals, auto + + + +

Test passes if the two boxes are identical.

+
‭< א < > 3 >‬
‭> a > > 3 >‬
‭< 3 < < א <‬
‭< 3 < > a >‬
+
‭< א < > 3 >‬
‭> a > > 3 >‬
‭< 3 < < א <‬
‭< 3 < > a >‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002c-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002c-ref.html new file mode 100644 index 0000000000..6c21d0147d --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-002c-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following number with intervening neutrals, same direction + + + +

Test passes if the two boxes are identical.

+
‭> א > > 3 >‬
‭> a > > 3 >‬
‭< 3 < < א <‬
‭< 3 < < a <‬
+
‭> א > > 3 >‬
‭> a > > 3 >‬
‭< 3 < < א <‬
‭< 3 < < a <‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-003-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-003-ref.html new file mode 100644 index 0000000000..4c29838ee4 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-003-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from immediately following number, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭א3‬
‭a3‬
‭3א‬
‭3a‬
+
‭א3‬
‭a3‬
‭3א‬
‭3a‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-004-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-004-ref.html new file mode 100644 index 0000000000..cb83dde584 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-004-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: numbers isolated from preceding text, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭א 3‬
‭a 3‬
‭3 א‬
‭3 a‬
+
‭א 3‬
‭a 3‬
‭3 א‬
‭3 a‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-005-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-005-ref.html new file mode 100644 index 0000000000..4a6c301aa1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-005-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following text, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭א ב...‬
‭a b...‬
‭...b a‬
‭...ב א‬
+
‭א ב...‬
‭a b...‬
‭...b a‬
‭...ב א‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006-ref.html new file mode 100644 index 0000000000..0f6b7bbbd0 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following text with intervening neutrals, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭< א < > ב >...‬
‭...< b < > a >‬
+
‭< א < > ב >...‬
‭...< b < > a >‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006c-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006c-ref.html new file mode 100644 index 0000000000..0347c0910c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-006c-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from following text with intervening neutrals, same direction + + + +

Test passes if the two boxes are identical.

+
‭> א > > ב >...‬
‭...< b < < a <‬
+
‭> א > > ב >...‬
‭...< b < < a <‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-007-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-007-ref.html new file mode 100644 index 0000000000..665153d649 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-007-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from immediately following text, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭אב...‬
‭ab...‬
‭...ba‬
‭...בא‬
+
‭אב...‬
‭ab...‬
‭...ba‬
‭...בא‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-008-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-008-ref.html new file mode 100644 index 0000000000..8eb90f8b79 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-008-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from preceding text, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭א ב‬
‭a b‬
‭ב א‬
‭b a‬
+
‭א ב‬
‭a b‬
‭ב א‬
‭b a‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009-ref.html new file mode 100644 index 0000000000..1d2f57c6cf --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from surrounding text, opposite direction + + + +

Test passes if the two boxes are identical.

+
‭ג < < b < < א...‬
‭...a > > ב > > c‬
+
‭ג < < b < < א...‬
‭...a > > ב > > c‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009b-ref.html b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009b-ref.html new file mode 100644 index 0000000000..30ee14c6c0 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/reference/dir-isolation-009b-ref.html @@ -0,0 +1,16 @@ + + + + +The dir attribute: isolated from surrounding text, auto + + + +

Test passes if the two boxes are identical.

+
‭ג < > b > < א...‬
‭...a > < ב < > c‬
+
‭ג < > b > < א...‬
‭...a > < ב < > c‬
+ + diff --git a/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/dynamic-getter.html b/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/dynamic-getter.html new file mode 100644 index 0000000000..e34fcf5ac1 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/dynamic-getter.html @@ -0,0 +1,88 @@ + +innerText/outerText getter test with dynamic style changes + + +
+ diff --git a/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-first-letter-marker-multicol.html b/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-first-letter-marker-multicol.html new file mode 100644 index 0000000000..3b579dca1c --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-first-letter-marker-multicol.html @@ -0,0 +1,18 @@ + +Test innerText/outerText for a combination of a list item with ::first-letter in multicol + + + + + +
PASS
+ diff --git a/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-tests.js b/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-tests.js new file mode 100644 index 0000000000..fd32e8d69a --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/the-innertext-and-outertext-properties/getter-tests.js @@ -0,0 +1,401 @@ +testText("
abc", "abc", "Simplest possible test"); + +/**** white-space:normal ****/ + +testText("
abc", "abc", "Leading whitespace removed"); +testText("
abc ", "abc", "Trailing whitespace removed"); +testText("
abc def", "abc def", "Internal whitespace compressed"); +testText("
abc\ndef", "abc def", "\\n converted to space"); +testText("
abc\rdef", "abc def", "\\r converted to space"); +testText("
abc\tdef", "abc def", "\\t converted to space"); +testText("
abc
def", "abc\ndef", "Trailing whitespace before hard line break removed"); +testText("
abc
def", "abc\ndef", "Leading whitespace after hard line break removed"); + +/****
 ****/
+
+testText("
 abc", " abc", "Leading whitespace preserved");
+testText("
abc ", "abc ", "Trailing whitespace preserved");
+testText("
abc  def", "abc  def", "Internal whitespace preserved");
+testText("
abc\ndef", "abc\ndef", "\\n preserved");
+testText("
abc\rdef", "abc\ndef", "\\r converted to newline");
+testText("
abc\tdef", "abc\tdef", "\\t preserved");
+testText("
abc
def
", "abc\ndef", "Two
 siblings");
+
+/**** 
****/ + +testText("
abc", " abc", "Leading whitespace preserved"); +testText("
abc ", "abc ", "Trailing whitespace preserved"); +testText("
abc def", "abc def", "Internal whitespace preserved"); +testText("
abc\ndef", "abc\ndef", "\\n preserved"); +testText("
abc\rdef", "abc\ndef", "\\r converted to newline"); +testText("
abc\tdef", "abc\tdef", "\\t preserved"); + +/**** ****/ + +testText(" abc", " abc", "Leading whitespace preserved"); +testText("abc ", "abc ", "Trailing whitespace preserved"); +testText("abc def", "abc def", "Internal whitespace preserved"); +testText("abc\ndef", "abc\ndef", "\\n preserved"); +testText("abc\rdef", "abc\ndef", "\\r converted to newline"); +testText("abc\tdef", "abc\tdef", "\\t preserved"); + +/****
****/ + +testText("
abc", "abc", "Leading whitespace removed"); +testText("
abc ", "abc", "Trailing whitespace removed"); +testText("
abc def", "abc def", "Internal whitespace collapsed"); +testText("
abc\ndef", "abc\ndef", "\\n preserved"); +testText("
abc\rdef", "abc\ndef", "\\r converted to newline"); +testText("
abc\tdef", "abc def", "\\t converted to space"); + +/**** Collapsing whitespace across element boundaries ****/ + +testText("
abc def", "abc def", "Whitespace collapses across element boundaries"); +testText("
abc def", "abc def", "Whitespace collapses across element boundaries"); +testText("
abc def", "abc def", "Whitespace collapses across element boundaries"); +testText("
abc def", "abc def", "Whitespace around should not be collapsed"); +testText("
abc def", "abc def", "Whitespace around inline-block should not be collapsed"); +testText("
abc def ghi", "abc def ghi", "Trailing space at end of inline-block should be collapsed"); +testText("
abc
", "abc", "Whitespace between and block should be collapsed"); +testText("
abc
", "abc", "Whitespace between inline-block and block should be collapsed"); +testText("
abc def", "abc def", "Whitespace around should not be collapsed"); +testText("
abc def", "abc def", "Whitespace around should not be collapsed"); +testText("
abc", " abc", "Leading whitesapce should not be collapsed"); +testText("
abc ", "abc ", "Trailing whitesapce should not be collapsed"); +testText("
abc def", "abc def", "Whitespace around empty span should be collapsed"); +testText("
abc def", "abc def", "Whitespace around empty spans should be collapsed"); +testText("
abc", " abc", " should not collapse following space"); +testText("
abc def", "abc\ndef", "Replaced element with display:block should be treated as block-level"); +testText("
abc def", "abc\ndef", "Replaced element with display:block should be treated as block-level"); + +/**** Soft line breaks ****/ + +testText("
abc def", "abc def", "Soft line breaks ignored"); +testText("
abc-def", "abc-def", "Soft line break at hyphen ignored"); +testText("
abc def", "abc def", "Whitespace text node preserved"); + +/**** Soft line breaks when word-break:break-word is in effect ****/ +/* (based on Testcase #2 at https://bugzilla.mozilla.org/show_bug.cgi?id=1241631) */ + +testText("
Hello Kitty
", "Hello Kitty", "Soft breaks ignored in presence of word-break:break-word"); +testText("
Hello Kitty
", "Hello Kitty", "Element boundaries ignored for soft break handling (1)"); +testText("
Hello Kitty
", "Hello Kitty", "Whitespace collapses across element boundaries at soft break (1)"); +testText("
Hello Kitty
", "Hello Kitty", "Element boundaries ignored for soft break handling (2)"); +testText("
Hello Kitty
", "Hello Kitty", "Whitespace collapses across element boundaries at soft break (2)"); +testText("
Hello Kitty
", "Hello Kitty", "Element boundaries ignored for soft break handling (3)"); +testText("
Hello Kitty
", "Hello Kitty", "Whitespace collapses across element boundaries at soft break (3)"); +testText("
Hello Kitty
", "Hello Kitty", "Whitespace collapses across element boundaries at soft break (4)"); +testText("
Hello Kitty
", "Hello Kitty", "Element boundaries ignored for soft break handling (4)"); +testText("
Hello Kitty
", "Hello Kitty", "Element boundaries ignored for soft break handling (5)"); +testText("
Hello Kitty
", "HELLO KITTY", "Soft breaks ignored, text-transform applied"); +testText("
Hello
Kitty
", "Hello\nKitty", "
returned as newline, following space collapsed"); +testText("
Hello
Kitty
", "Hello\nKitty", "
returned as newline, preceding space collapsed"); +testText("
Hello
Kitty
", "Hello\nKitty", "
returned as newline, adjacent spaces collapsed across element boundaries"); + +/**** first-line/first-letter ****/ + +testText("
abc def", "ABC def", "::first-line styles applied"); +testText("
abc def", "Abc def", "::first-letter styles applied"); +testText("
abc def", "abc def", "::first-letter float ignored"); + +/****   ****/ + +testText("
 ", "\xA0", "  preserved"); + +/**** display:none ****/ + +testText("
abc", "abc", "display:none container"); +testText("
abc def", "abc def", "No whitespace compression in display:none container"); +testText("
abc def ", " abc def ", "No removal of leading/trailing whitespace in display:none container"); +testText("
123abc", "123", "display:none child not rendered"); +testText("
abc", "abc", "display:none container with non-display-none target child"); +testTextInSVG("
abc", "abc", "non-display-none child of svg"); +testTextInSVG("