<p>This tests for a deletion bug.  The paragraph inside the table should be in a list, and the test shouldn't hang.</p>
<div id="div" contenteditable="true"><div><table id="table" border="1"><tr><td id="td">foo</td></tr></table></div>

<br id="br"></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);
}

td = document.getElementById("td");
br = document.getElementById("br");
s = window.getSelection();
s.setBaseAndExtent(td, 0, br, 0);
document.execCommand("InsertUnorderedList");

log(document.getElementById('div').innerHTML);

</script>

PASS
