blob: 788e68298402bfa0cd5f91973d797f74db68dbf6 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<pre id="console"></div>
<script>
description('Tests ShadowRoot.host property');
function createRoots(host, n) {
var roots = [];
for (var i = 0; i < n; i++) {
roots.push(host.createShadowRoot());
}
return roots;
}
var host = document.createElement('table');
var root = host.createShadowRoot();
shouldBe('root.host', 'host');
// Multiple shadow roots.
host = document.createElement('div');
document.body.appendChild(host);
roots = createRoots(host, 2);
shouldBe('roots[0].host', 'host');
shouldBe('roots[1].host', 'host');
host.remove();
// Out of document
host = document.createElement('div');
var roots = createRoots(host, 2);
shouldBe('roots[0].host', 'host');
shouldBe('roots[1].host', 'host');
// Out of document, in nested shadow, accessed out of order
host = document.createElement('span');
roots[1].appendChild(host);
roots = createRoots(host, 7);
shouldBe('roots[1].host', 'host');
shouldBe('roots[6].host', 'host');
// Cannot set property
host = document.createElement('span');
root = host.createShadowRoot();
var donor = document.createElement('div');
donor.createShadowRoot();
root.host = donor;
shouldBe('root.host', 'host');
successfullyParsed = true;
</script>
</body>
</html>