<html>
<head>
<script>
if (window.layoutTestController)
     layoutTestController.dumpEditingCallbacks();
</script>

    <script>
        function runTest() {
            var d = document.getElementById('d');
            window.getSelection().setBaseAndExtent(d, 0, d, 1);            
            window.getSelection().empty();
        }
    </script>
</head>
<body onload="runTest()">
    <div id="d">This tests that window.getSelection().clear() clears the selection correctly. If this test is successful, this text should not be selected.</div>
<body>
</html>
