<head>
<script>
function runTest() {
    if (window.testRunner)
        window.testRunner.dumpAsText();
    table = document.getElementById("table");
    s = window.getSelection();
    s.setPosition(table, 0);
    document.execCommand("Delete");
    if (window.testRunner)
        document.body.innerText = document.getElementById("div").innerHTML + "\n\nSelection: [" + s.anchorNode + ", " + s.anchorOffset + "]";
}
</script>    
</head>
<body onLoad="runTest();">
<div>This is a test for <a href="https://bugs.webkit.org/show_bug.cgi?id=25439">https://bugs.webkit.org/show_bug.cgi?id=25439</a>.</div>
<div id="div" contentEditable="true">This tests placing the caret just before a block table and pressing delete. The caret should just move back to the previous paragraph.<table border="1" id="table"><tr><td>1</td><td>2</td></tr></table></div>
</body>
