<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
function editingTest() {
    if (window.layoutTestController)
        window.layoutTestController.dumpSelectionRect();
    selectAllCommand();
    moveSelectionBackwardByCharacterCommand();
    extendSelectionForwardByCharacterCommand();
    extendSelectionForwardByCharacterCommand();
    extendSelectionForwardByCharacterCommand();
}
</script>
</head>
<body>
<p>This tests that when a selection that ends at [replaced element, 0] is painted, the replaced element doesn't appear selected.  This test uses an image for the replaced element.</p>
<div id="test" contenteditable>
abc<img src="../resources/abe.png">def
</div>
<script>runEditingTest()</script>
</body>

</html>