<html>
    <junk>
        <blockquote>
            Test passes if it does not crash.
            <junk id="start">
            </junk>
        </blockquote>
        <junk id="end">
            PASS
        </junk>
    </junk>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        window.getSelection().setBaseAndExtent(start, 0, end, 0);
    </script>
</html>

