blob: 4a0250df42a6be849b877c089a74f9ac1e5573cc [file] [log] [blame]
<!doctype html>
<script src="../../resources/js-test.js"></script>
<script src="../../fast/dom/shadow/resources/shadow-dom.js"></script>
<body>
<div id="parent"></div>
</body>
<script>
function prepareShadowTree() {
var parent = document.getElementById('parent');
parent.appendChild(
createDOM('div', {id: 'toplevel'},
createDOM('div', {id: 'openhost'},
attachShadow({mode: 'open'},
createDOM('div', {id: 'v0host_in_openshadow'},
createShadowRoot(
createDOM('div', {id: 'div_v0_in_open'}))),
createDOM('div', {id: 'openhost_in_openshadow'},
attachShadow({'mode': 'open'},
createDOM('div', {id: 'div_open_in_open'}))),
createDOM('div', {id: 'closedhost_in_openshadow'},
attachShadow({'mode': 'closed'},
createDOM('div', {id: 'div_closed_in_open'}))))),
createDOM('div', {id: 'closedhost'},
attachShadow({mode: 'closed'},
createDOM('div', {id: 'v0host_in_closedshadow'},
createShadowRoot(
createDOM('div', {id: 'div_v0_in_closed'}))),
createDOM('div', {id: 'openhost_in_closedshadow'},
attachShadow({'mode': 'open'},
createDOM('div', {id: 'div_open_in_closed'}))),
createDOM('div', {id: 'closedhost_in_closedshadow'},
attachShadow({'mode': 'closed'},
createDOM('div', {id: 'div_closed_in_closed'}))))),
createDOM('div', {id: 'v0host'},
createShadowRoot(
createDOM('div', {id: 'v0host_in_v0host'},
createShadowRoot(
createDOM('div', {id: 'div_v0_in_v0'}))),
createDOM('div', {id: 'openhost_in_v0host'},
attachShadow({'mode': 'open'},
createDOM('div', {id: 'div_open_in_v0'}))),
createDOM('div', {id: 'closedhost_in_v0host'},
attachShadow({'mode': 'closed'},
createDOM('div', {id: 'div_closed_in_v0'})))))));
}
prepareShadowTree();
var parent = document.getElementById('parent');
var result = parent.querySelectorAll("div /deep/ div /deep/ div");
shouldBe('result.length', '7');
var expected = [
'openhost',
'closedhost',
'v0host',
'v0host_in_v0host',
'div_v0_in_v0',
'openhost_in_v0host',
'closedhost_in_v0host'
];
var node;
for (var i = 0; i < result.length; ++i) {
node = result[i];
shouldBeEqualToString('node.id', expected[i]);
}
</script>