<p>This tests for a crash when deleting a selection that starts before the first child of a block and ends after the last child (which must be a link) of another block. There shouldn't be any content in the editable region below.</p>
<div id="div" contenteditable="true">
<div>foo</div>
<div>bar <a href="http://www.apple.com/">baz</a></div>
</div>

<script>
if (window.layoutTestController) {
    window.layoutTestController.dumpEditingCallbacks();
    window.layoutTestController.dumpAsText();
}
div = document.getElementById("div");
div.focus();
document.execCommand("SelectAll");
document.execCommand("Delete");
</script>
