<p>This tests for a bug when inserting after a link at the end of the document.  Like TextEdit, we insert content outside of the link, but inserting outside of the link shouldn't cause the content to be inserted in the wrong paragraph.</p>
<div contenteditable="true">This paragraph should not contains links.<a href="#"><div id="div">This sentence should be a link.</div></a></div>
<p id="console"></p>
<script>

if (window.testRunner)
    testRunner.dumpAsText();

function log(message) {
    var console = document.getElementById("console");
    var text = document.createTextNode(message);
    console.appendChild(text);
}

var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, div.childNodes.length);

document.execCommand("InsertText", false, " ");
document.execCommand("InsertText", false, "This sentence should not.");

log(div.innerHTML);

</script>
