Index: LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html |
diff --git a/LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html b/LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..936c04ac5d0aa497e7a4496ca71ffe5b1b7d11b9 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html |
@@ -0,0 +1,85 @@ |
+<!DOCTYPE html> |
+<!-- |
+Distributed under both the W3C Test Suite License [1] and the W3C |
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the |
+policies and contribution forms [3]. |
+ |
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license |
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license |
+[3] http://www.w3.org/2004/10/27-testcases |
+ --> |
+<html> |
+<head> |
+<title>Shadow DOM Test: Upper-boundary encapsulation: shadow root's Selector APIs</title> |
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> |
+<link rel="author" title="Mikhail Fursov" href="mailto:mfursov@unipro.ru"> |
+<link rel="author" title="Yuta Kitamura" href="mailto:yutak@google.com"> |
+<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#upper-boundary-encapsulation"> |
+<meta name="assert" content="Upper-boundary encapsulation: Nodes in a shadow tree must be accessible through selector APIs of the shadow root."> |
+<script src="../../../../../resources/testharness.js"></script> |
+<script src="../../../../../resources/testharnessreport.js"></script> |
+<script src="../../testcommon.js"></script> |
+<link rel="stylesheet" href="../../../../../resources/testharness.css"> |
+</head> |
+<body> |
+<div id="log"></div> |
+<script> |
+// Return a document containing the structure below: |
+// |
+// <body> - - - - - {shadow-root} |
+// | | |
+// | +-- <p class="test-class" id="test-id"> |
+// | |
+// +-- <p class="test-class" id="test-id"> |
+function createTestDocument() { |
+ var doc = document.implementation.createHTMLDocument('Test'); |
+ var pHost = doc.createElement('p'); |
+ pHost.className = 'test-class'; |
+ pHost.id = 'test-id'; |
+ doc.body.appendChild(pHost); |
+ var shadowRoot = doc.body.createShadowRoot(); |
+ var pShadow = doc.createElement('p'); |
+ pShadow.className = 'test-class'; |
+ pShadow.id = 'test-id'; |
+ shadowRoot.appendChild(pShadow); |
+ return { |
+ doc: doc, |
+ shadowRoot: shadowRoot, |
+ pHost: pHost, |
+ pShadow: pShadow |
+ }; |
+} |
+ |
+test(function () { |
+ var documentObject = createTestDocument(); |
+ var shadowRoot = documentObject.shadowRoot; |
+ var pShadow = documentObject.pShadow; |
+ assert_equals(shadowRoot.querySelector('p'), pShadow); |
+ assert_equals(shadowRoot.querySelector('.test-class'), pShadow); |
+ assert_equals(shadowRoot.querySelector('#test-id'), pShadow); |
+}, |
+ 'Elements in a shadow tree should be accessible from ' + |
+ 'shadow root\'s querySelector() method.' |
+); |
+ |
+function assert_singleton_node_list(nodeList, expectedNode) { |
+ assert_equals(nodeList.length, 1); |
+ assert_equals(nodeList[0], expectedNode); |
+} |
+ |
+test(function () { |
+ var documentObject = createTestDocument(); |
+ var shadowRoot = documentObject.shadowRoot; |
+ var pShadow = documentObject.pShadow; |
+ assert_singleton_node_list(shadowRoot.querySelectorAll('p'), pShadow); |
+ assert_singleton_node_list(shadowRoot.querySelectorAll('.test-class'), |
+ pShadow); |
+ assert_singleton_node_list(shadowRoot.querySelectorAll('#test-id'), |
+ pShadow); |
+}, |
+ 'Elements in a shadow tree should be accessible from ' + |
+ 'shadow root\'s querySelectorAll() method.' |
+); |
+</script> |
+</body> |
+</html> |