<p>This tests for a crash when indenting a table that is not entirely selected.</p>
<div contenteditable="true" id="test">
    <div><br></div>
    <div id="start"><br></div>
        <table border="1">
            <tbody> 
                <tr id="firstrow">
                 <td>One</td>
                 <td>Two</td>
                 </tr>
                <tr id="secondrow">
                 <td>Three</td>
                 <td>Four</td>
                </tr>
            </tbody>
        </table> 
        <br>
    <div><br></div>
    <div><br></div>
</div>
<script>
if (window.testRunner)
    window.testRunner.dumpAsText();
indent = document.getElementById("secondrow");
window.getSelection().setBaseAndExtent(document.getElementById('start'), 0, indent, 0);
document.execCommand("indent");
</script>
