| <body contentEditable="true"> |
| <p>When inserting a new line, we should break out of nested divs.</p> |
| <p id="results"><p> |
| <div>first<div>second</div><div>third</div></div> |
| </body> |
| <script src="../editing.js"></script> |
| <script> |
| if (window.testRunner) |
| window.testRunner.dumpAsText(); |
| if (window.internals) |
| internals.settings.setEditingBehavior("mac"); |
| function fail(msg) { |
| document.getElementById("results").innerText = "FAIL"; |
| throw msg; |
| } |
| |
| // Try inserting a new line after the last div. |
| var div2 = document.getElementsByTagName("div")[1]; |
| var div3 = document.getElementsByTagName("div")[2]; |
| execSetSelectionCommand(div3, 0, div3, 0); |
| execMoveSelectionForwardByWordCommand(); |
| |
| execTypeCharacterCommand("\n"); |
| execInsertHTMLCommand("This should be in a single div."); |
| |
| var div4 = document.getElementsByTagName("div")[3]; |
| if (div4.innerHTML != "This should be in a single div.") |
| fail("wrong div4? " + div4.innerHTML); |
| if (div4.parentNode.tagName != "BODY") |
| fail("div should not be nested: " + div4.parentNode.tagName); |
| |
| // Try inserting a new line after the second div. This should be nested. |
| execSetSelectionCommand(div2, 0, div2, 0); |
| execMoveSelectionForwardByWordCommand(); |
| |
| execTypeCharacterCommand("\n"); |
| execInsertHTMLCommand("This should be in nested divs."); |
| |
| var nestedDiv = document.getElementsByTagName("div")[2]; |
| if (nestedDiv.innerHTML != "This should be in nested divs.") |
| fail("wrong nestedDiv? " + nestedDiv.innerHTML); |
| if (nestedDiv.parentNode.tagName != "DIV") |
| fail("div should be nested: " + nestedDiv.parentNode.tagName); |
| |
| document.getElementById("results").innerText = "SUCCESS"; |
| </script> |