<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.layoutTestController)
    window.layoutTestController.dumpAsText();
indent = document.getElementById("secondrow");
window.getSelection().setBaseAndExtent(document.getElementById('start'), 0, indent, 0);
document.execCommand("indent");
</script>
