<script>
if (window.layoutTestController)
     layoutTestController.dumpEditingCallbacks();
</script>
<p>This tests inserting a paragraph separator after a table.  There should be an empty paragraph between the table and 'bar' and the caret should be in the empty paragraph.</p>
<div contenteditable="true" id="div"><table border="1"><tr><td>foo</td></tr></table>bar</div>

<script>
var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, 0);
sel.modify("move", "forward", "character");
sel.modify("move", "forward", "character");
sel.modify("move", "forward", "character");
sel.modify("move", "forward", "character");
sel.modify("move", "forward", "character");
document.execCommand("InsertParagraph");
</script>