Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Element-interface-shadowRoot-attribute.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Element-interface-shadowRoot-attribute.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Element-interface-shadowRoot-attribute.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8b57c064ba29448e2ccd51b60184d74f951bf5bf |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Element-interface-shadowRoot-attribute.html |
@@ -0,0 +1,46 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<title>Shadow DOM: Element interface shadowRoot attribute</title> |
+<meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"> |
+<meta name="assert" content="shadowRoot attribute on Element interface must return the associated open shadow tree if there is one"> |
+<link rel="help" href="https://w3c.github.io/webcomponents/spec/shadow/#the-shadowroot-interface"> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<link rel='stylesheet' href='../../../resources/testharness.css'> |
+</head> |
+<body> |
+<div id="log"></div> |
+<script> |
+ |
+test(function () { |
+ assert_true('shadowRoot' in Element.prototype, 'shadowRoot must be defined on Element prototype'); |
+ assert_true('shadowRoot' in document.createElement('div'), 'shadowRoot must be defined on an instance of div element'); |
+ assert_false('shadowRoot' in Node.prototype, 'shadowRoot must not be defined on Node prototype'); |
+ assert_false('shadowRoot' in Text.prototype, 'shadowRoot must not be defined on Text prototype'); |
+ assert_false('shadowRoot' in document.createTextNode(''), 'shadowRoot must not be defined on an instance of Text node'); |
+ assert_false('shadowRoot' in Comment.prototype, 'shadowRoot must not be defined on Comment prototype'); |
+ assert_false('shadowRoot' in document.createComment(''), 'shadowRoot must not be defined on an instance of Comment node'); |
+ assert_false('shadowRoot' in Document.prototype, 'shadowRoot must not be defined on Document prototype'); |
+ assert_false('shadowRoot' in document, 'shadowRoot must not be defined on an instance of Document'); |
+ assert_false('shadowRoot' in DocumentFragment.prototype, 'shadowRoot must not be defined on DocumentFragment prototype'); |
+ assert_false('shadowRoot' in (new DOMParser).parseFromString('', 'text/html'), 'shadowRoot must not be defined on an instance of DocumentFragment node'); |
+}, 'shadowRoot must be defined on Element prototype'); |
+ |
+test(function () { |
+ var host = document.createElement('div'); |
+ assert_equals(host.shadowRoot, null, 'shadowRoot must return null when the host does not have a shadow tree attached to it'); |
+ |
+ var openShadowRoot = host.attachShadow({mode: 'open'}); |
+ assert_equals(host.shadowRoot, openShadowRoot, 'shadowRoot must return the open shadow root attachShadow attached'); |
+}, 'shadowRoot attribute must return the open shadow root associated with the element'); |
+ |
+test(function () { |
+ var host = document.createElement('div'); |
+ host.attachShadow({mode: 'closed'}); |
+ assert_equals(host.shadowRoot, null); |
+}, 'shadowRoot attribute must return null if the shadow root attached to the element is closed'); |
+ |
+</script> |
+</body> |
+</html> |