blob: 36d5014b788c7a2d9c29d1d6411a610f458e7e68 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
/* relative positioning ensures underlying RenderLayer */
.container {
position: relative;
}
</style>
<script>
function log(message)
{
document.getElementById("console").innerHTML += (message + "\n");
}
function removeContainerLines(text)
{
var lines = text.split("\n");
lines.splice(0, 2);
return lines.join("\n");
}
function setupTargetTree()
{
var target = document.createElement("div");
target.innerHTML = "<span>content</span>";
var root = internals.ensureShadowRoot(target);
var child0 = document.createElement("span");
child0.innerHTML = "Hello,";
root.appendChild(child0);
root.appendChild(window.internals.createContentElement());
var child1 = document.createElement("span");
child1.innerHTML = "World.";
root.appendChild(child1);
document.getElementById("target").appendChild(target);
}
function test()
{
testRunner.dumpAsText();
log("This test compares a shadow-based render tree with one for a refrence DOM tree.");
setupTargetTree();
var targetContainerRenderTree = window.internals.elementRenderTreeAsText(document.getElementById("targetContainer"));
var targetRenderTree = removeContainerLines(targetContainerRenderTree);
var refContainerRenderTree = window.internals.elementRenderTreeAsText(document.getElementById("refContainer"));
var refRenderTree = removeContainerLines(refContainerRenderTree);
if (targetRenderTree == refRenderTree)
log("PASS");
else {
log("FAIL");
log("Expected:");
log(refRenderTree);
log("Actual:");
log(targetRenderTree);
}
document.getElementById("test").style.display = "none";
}
</script>
</head>
<body onload="test()">
<div id="test">
<div class="container" id="targetContainer"><div id="target"></div></div>
<div class="container" id="refContainer"><div><div><span>Hello,</span><span>content</span><span>World.</span></div></div></div>
</div>
<pre id="console"></pre>
</body>
</html>