| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <style> |
| summary { display: none; } |
| span { background-color: red; } |
| /* 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 test() |
| { |
| if (!window.testRunner) |
| return; |
| testRunner.dumpAsText(); |
| |
| var targetContainerRenderTree = window.internals.elementRenderTreeAsText(document.getElementById("targetContainer")); |
| var targetRenderTree = removeContainerLines(targetContainerRenderTree); |
| var refContainerRenderTree = window.internals.elementRenderTreeAsText(document.getElementById("refContainer")); |
| var refRenderTree = removeContainerLines(refContainerRenderTree); |
| |
| targetRenderTree = targetRenderTree.replace("RenderBlock {DETAILS}", "RenderBlock {DIV}"); |
| |
| 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()"> |
| <p>Two conainers should be layed out in the same way</p> |
| <div id="test"> |
| <div class="container" id="targetContainer"> |
| <div> |
| <details open> |
| <div>Hello1</div> |
| <span>Hello2</span> |
| <span>Hello3</span> |
| <summary></summary> |
| </details> |
| </div> |
| </div> |
| <hr /> |
| <div class="container" id="refContainer" > |
| <div> |
| <div> |
| <div>Hello1</div> |
| <span>Hello2</span> |
| <span>Hello3</span> |
| <span style="display: none;"></span> |
| </div> |
| </div> |
| </div> |
| </div> |
| <pre id="console"></pre> |
| </body> |
| </html> |