summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-and-default-style-meta-from-fragment.tentative.html
diff options
context:
space:
mode:
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.html35
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>