diff options
Diffstat (limited to 'testing/web-platform/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-and-default-style-meta-from-fragment.tentative.html')
-rw-r--r-- | testing/web-platform/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-and-default-style-meta-from-fragment.tentative.html | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/web-platform/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-and-default-style-meta-from-fragment.tentative.html b/testing/web-platform/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-and-default-style-meta-from-fragment.tentative.html new file mode 100644 index 0000000000..a9b7ba633e --- /dev/null +++ b/testing/web-platform/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-and-default-style-meta-from-fragment.tentative.html @@ -0,0 +1,35 @@ +<!doctype html> +<meta charset=utf-8> +<title>Node.appendChild: inserting script and default-style meta from a fragment</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<link rel="alternate stylesheet" title="alternative" href="data:text/css,%23div{display:none}"> +<div id="div">hello</div> +<script> +let scriptRan = false; +let computedStyleDuringInsertion = null; +test(() => { + const div = document.getElementById("div"); + const meta = document.createElement("meta"); + meta.httpEquiv = "default-style"; + meta.content = "alternative"; + const script = document.createElement("script"); + script.textContent = ` + computedStyleDuringInsertion = getComputedStyle(div).display; + scriptRan = true; + `; + const df = document.createDocumentFragment(); + df.appendChild(script); + df.appendChild(meta); + assert_equals(getComputedStyle(div).display, "block", "div has block display"); + assert_false(scriptRan, "script has not run before insertion"); + document.head.appendChild(df); + assert_true(scriptRan, "script has run after insertion"); + assert_equals(computedStyleDuringInsertion, "none", + "display: none; style was applied during DOM insertion, before " + + "later-inserted script runs"); + assert_equals(getComputedStyle(div).display, "none", + "style remains display: none; after insertion"); +}, "Inserting <meta> that uses alternate stylesheets, applies the style " + + "during DOM insertion, and before script runs as a result of any atomic insertions"); +</script> |