blob: faee6acc6f0c713bd28aa8eebc000282fd2d3842 [file] [log] [blame]
<!doctype html>
<html>
<head>
<script src="resources/shadow-dom.js"></script>
<script src="../../../resources/js-test.js"></script>
</head>
<body class="bodyClass">
<div id="sandbox"></div>
<pre id="console"></pre>
</body>
<script>
description("Test for ::content with ::shadow and :host.");
var sandbox = document.getElementById('sandbox');
function cleanUp()
{
sandbox.innerHTML = '';
}
sandbox.appendChild(
createDOM('div', {'id': 'host1'},
createShadowRoot(
createDOM('style', {},
document.createTextNode(
':host(#host1)::shadow #content1::content > .content { color: green; }')),
createDOM('div', {},
createDOM('div', {'id': 'host2'},
createShadowRoot(
createDOM('content', {'id': 'content2'})),
createDOM('div', {'id': 'parentOfContent1'},
createDOM('content', {'id': 'content1'}))))),
createDOM('div', {'class': 'content'},
document.createTextNode('content'))));
shouldBe('window.getComputedStyle(document.querySelector("#host1 > .content")).color', '"rgb(0, 128, 0)"');
cleanUp();
sandbox.appendChild(
createDOM('div', {'id': 'host1'},
createShadowRoot(
createDOM('style', {},
document.createTextNode(
'#host2::shadow #content2::content > #parentOfContent1 > #content1::content > .content { color: green; }')),
createDOM('div', {},
createDOM('div', {'id': 'host2'},
createShadowRoot(
createDOM('content', {'id': 'content2'})),
createDOM('div', {'id': 'parentOfContent1'},
createDOM('content', {'id': 'content1'}))))),
createDOM('div', {'class': 'content'},
document.createTextNode('content'))));
shouldBe('window.getComputedStyle(document.querySelector("#host1 > .content")).color', '"rgb(0, 128, 0)"');
cleanUp();
sandbox.appendChild(
createDOM('div', {'id': 'host1'},
createShadowRoot(
createDOM('style', {},
document.createTextNode(
':host::shadow #content2::content > #shadow1::content > #content1::content > .content { color: red; }')),
createDOM('content', {'id': 'content1'})),
createShadowRoot(
createDOM('div', {},
createDOM('div', {'id': 'host2'},
createShadowRoot(
createDOM('content', {'id': 'content2'})),
createDOM('div', {'id': 'parentOfShadow1'},
createDOM('shadow', {'id': 'shadow1'}))))),
createDOM('div', {'class': 'content'},
document.createTextNode('content'))));
shouldNotBe('window.getComputedStyle(document.querySelector("#host1 > .content")).color', '"rgb(255, 0, 0)"');
cleanUp();
sandbox.appendChild(
createDOM('div', {'id': 'host1'},
createShadowRoot(
createDOM('style', {},
document.createTextNode(
':host::shadow #content2::content > #parentOfContent1 > #content1::content > .content { color: red; }')),
createDOM('div', {},
createDOM('div', {'id': 'host2'},
createShadowRoot(
createDOM('content', {'id': 'content2'})),
createDOM('div', {'id': 'parentOfContent1'},
createDOM('content', {'id': 'content1'}))))),
createDOM('div', {'class': 'content'},
document.createTextNode('content'))));
shouldNotBe('window.getComputedStyle(document.querySelector("#host1 > .content")).color', '"rgb(255, 0, 0)"');
cleanUp();
</script>
</html>