<html> 
<head>
<style>
.editing { 
    border: 2px solid red; 
    padding: 12px; 
    font-size: 24px; 
}
</style>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script src="../../resources/dump-as-markup.js"></script>
<script>

Markup.waitUntilDone();

function test() {
    Markup.description("This tests pressing delete key to remove empty quoted line places cursor at the right location. rdar://problem/4813973");
    window.getSelection().setPosition(document.getElementById('test'), 0);
    deleteCommand();
    Markup.dump(document.body);
    Markup.notifyDone();
}

</script>
<title>Editing Test</title> 
</head> 
<body onload="test()" contenteditable id="root">
<div class="editing">
    <div style="border-style:solid; border-color:black;">
        hello
    </div>
    <br>
</div>
<div id="test" style="border-style:solid; border-color:blue;">
    <br>
</div>
</body>
</html>
