| <!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> |