summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/shadow-dom/declarative/declarative-with-disabled-shadow.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/shadow-dom/declarative/declarative-with-disabled-shadow.html')
-rw-r--r--testing/web-platform/tests/shadow-dom/declarative/declarative-with-disabled-shadow.html31
1 files changed, 31 insertions, 0 deletions
diff --git a/testing/web-platform/tests/shadow-dom/declarative/declarative-with-disabled-shadow.html b/testing/web-platform/tests/shadow-dom/declarative/declarative-with-disabled-shadow.html
new file mode 100644
index 0000000000..bcf53403ad
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/declarative/declarative-with-disabled-shadow.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<title>Declarative Shadow DOM with shadow disabled</title>
+<link rel='author' href='mailto:masonf@chromium.org'>
+<link rel='help' href='https://github.com/whatwg/dom/issues/831'>
+<script src='/resources/testharness.js'></script>
+<script src='/resources/testharnessreport.js'></script>
+
+<body>
+<script>
+class ShadowDisabledElement extends HTMLElement {
+ static get disabledFeatures() {
+ return ['shadow'];
+ }
+}
+customElements.define('shadow-disabled',ShadowDisabledElement);
+</script>
+
+<shadow-disabled>
+ <template shadowrootmode="open"><span id=inside></span></template>
+</shadow-disabled>
+
+<script>
+test(t => {
+ let element = document.querySelector('shadow-disabled');
+ assert_true(element instanceof ShadowDisabledElement);
+ let template = element.querySelector('template');
+ assert_true(!!template, 'Declarative shadow attach should fail, since shadow-disabled is true');
+ assert_true(!element.shadowRoot, 'Shadow root should not be present on custom element');
+}, 'Declarative Shadow DOM: declarative shadow should fail if attachShadow() already called');
+</script>
+</body>