| <!DOCTYPE html> |
| <html> |
| <body contentEditable="true"> |
| <font id="fonts"> |
| First line |
| <div id="secondDiv"> |
| Second line |
| </div> |
| </font> |
| </body> |
| <script src="../editing.js"></script> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function fail(msg) { |
| console.log(msg); |
| throw msg; |
| } |
| |
| // Inserting HTML to replace the "line" in the "Second line" should not insert an extra div (line break). |
| var targetDiv = document.getElementById("secondDiv"); |
| var targetText = targetDiv.firstChild; |
| execSetSelectionCommand(targetText, 8, targetText, targetText.textContent.length); |
| document.execCommand("inserthtml", false, "<span id='red' style='color:red'>line</span>"); |
| |
| // Verify that the font still only has one div. |
| var font = document.getElementById("fonts"); |
| var divs = font.querySelectorAll("div"); |
| if (divs.length != 1) |
| fail("An extra div is inserted which is incorrect. There are " + divs.length + " divs inside font element."); |
| |
| // Inserting HTML into "Second line" should not insert an extra div (line break). |
| execSetSelectionCommand(targetText, 8, targetText, 8); |
| document.execCommand("inserthtml", false, "<span id='green' style='color:green'>green</span>"); |
| |
| // Verify that the font still only has one div. |
| var font = document.getElementById("fonts"); |
| var divs = font.querySelectorAll("div"); |
| if (divs.length != 1) |
| fail("An extra div is inserted which is incorrect. There are " + divs.length + " divs inside font element."); |
| |
| // Replace text with SUCCESS. |
| document.body.innerHTML = "SUCCESS"; |
| </script> |
| </html> |