blob: c3540a92f171b910e64afdaab4fd06fa68b2c825 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="resources/shadow-dom.js"></script>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
</body>
<script>
document.body.appendChild(
createDOM('div', {'id': 'foo-host'},
createShadowRoot(
createDOM('div', {},
createDOM('span', {'id': 'not-top1'})),
createDOM('span', {'id': 'top1'})),
createShadowRoot(
createDOM('div', {},
createDOM('span', {'id': 'not-top2'})),
createDOM('span', {'id': 'top2'})),
createShadowRoot(
createDOM('div', {},
createDOM('span', {'id': 'not-top3'})),
createDOM('span', {'id': 'top3'}))));
document.body.appendChild(
createDOM('pre', {'id': 'console'}));
description('crbug.com/337616: test for querySelectorAll with ::shadow and /deep/');
var shadowRoot1 = getNodeInComposedTree('foo-host/');
var shadowRoot2 = getNodeInComposedTree('foo-host//');
var shadowRoot3 = getNodeInComposedTree('foo-host///');
shouldBe('document.querySelectorAll("#foo-host::shadow span").length', '6');
shouldBe('document.querySelectorAll("#foo-host::shadow span")[0].id', '"not-top1"');
shouldBe('document.querySelectorAll("#foo-host::shadow span")[1].id', '"top1"');
shouldBe('document.querySelectorAll("#foo-host::shadow span")[2].id', '"not-top2"');
shouldBe('document.querySelectorAll("#foo-host::shadow span")[3].id', '"top2"');
shouldBe('document.querySelectorAll("#foo-host::shadow span")[4].id', '"not-top3"');
shouldBe('document.querySelectorAll("#foo-host::shadow span")[5].id', '"top3"');
shouldBe('shadowRoot1.querySelectorAll(":host::shadow span").length', '2');
shouldBe('shadowRoot1.querySelectorAll(":host::shadow span")[0].id', '"not-top1"');
shouldBe('shadowRoot1.querySelectorAll(":host::shadow span")[1].id', '"top1"');
shouldBe('shadowRoot2.querySelectorAll(":host::shadow span").length', '2');
shouldBe('shadowRoot2.querySelectorAll(":host::shadow span")[0].id', '"not-top2"');
shouldBe('shadowRoot2.querySelectorAll(":host::shadow span")[1].id', '"top2"');
shouldBe('shadowRoot3.querySelectorAll(":host::shadow span").length', '2');
shouldBe('shadowRoot3.querySelectorAll(":host::shadow span")[0].id', '"not-top3"');
shouldBe('shadowRoot3.querySelectorAll(":host::shadow span")[1].id', '"top3"');
</script>
</html>