blob: 2c141475350452be86bd2a4ca62a759a83c284a4 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../resources/event-sender-util.js"></script>
<script src="../resources/shadow-test-driver.js"></script>
</head>
<body>
<div id="container"></div>
<pre id="console"></div>
<script>
function createShadowDOM(shadowRoot, name) {
var hostInShadowRoot = document.createElement('span');
var nestedShadowRoot = hostInShadowRoot.createShadowRoot();
var spanInShadow = createSpanWithText('SPAN IN NESTED IN SHADOW ' + name);
nestedShadowRoot.appendChild(spanInShadow);
var span1 = createSpanWithText('SPAN 1 IN' + name);
var span2 = createSpanWithText('SPAN 2 IN' + name);
var span3 = createSpanWithText('SPAN 3 IN' + name);
shadowRoot.appendChild(span1);
shadowRoot.appendChild(hostInShadowRoot);
shadowRoot.appendChild(span2);
shadowRoot.appendChild(document.createElement('shadow'));
shadowRoot.appendChild(span3);
return new Array(spanInShadow, span1, span2, span3);
}
var spanInContainer1 = createSpanWithText('CONTAINER1');
var spanInContainer2 = createSpanWithText('CONTAINER2');
var host = document.createElement('div');
var spanInHost = createSpanWithText('IN HOST');
host.appendChild(spanInHost);
var olderShadowRoot = host.createShadowRoot();
var spans1 = createShadowDOM(olderShadowRoot, 'OLDER');
var container = document.getElementById('container');
container.appendChild(spanInContainer1);
container.appendChild(host);
container.appendChild(spanInContainer2);
var allSpans = new Array(spanInContainer1, spanInContainer2, spanInHost);
allSpans = allSpans.concat(spans1);
// Do Layout
container.offsetLeft;
// Selects all combinations of spans.
for (var i = 0; i < allSpans.length; ++i) {
for (var j = 0; j < allSpans.length; ++j) {
mouseMoveToElem(allSpans[i]);
eventSender.mouseDown();
mouseMoveToElem(allSpans[j]);
eventSender.mouseUp();
// Checks havings the same selection.
debug(allSpans[i].textContent + ' --> ' + allSpans[j].textContent);
shouldBe("internals.treeScopeRootNode(window.getSelection().anchorNode)",
"internals.treeScopeRootNode(window.getSelection().focusNode)");
// clear seleciton.
window.getSelection().removeAllRanges();
}
}
// Do double click for all spans.
for (var i = 0; i < allSpans.length; ++i) {
mouseMoveToElem(allSpans[i]);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
// Checks havings the same selection.
debug(allSpans[i].textContent + ": double click");
shouldBe("internals.treeScopeRootNode(window.getSelection().anchorNode)",
"internals.treeScopeRootNode(window.getSelection().focusNode)");
window.getSelection().removeAllRanges();
}
// Removes
while (container.firstChild)
container.removeChild(container.firstChild);
var successfullyParsed = true;
</script>
</body>
</html>