<html>
    <script>
    if (window.testRunner)
    {
        testRunner.dumpAsText();
    }

    window.onload = crash;

    function crash()
    {
        block1.style.position = 'absolute';
        float1.style.display = 'none';
        document.body.offsetTop;
 
        document.getElementById("result").innerHTML = "PASS";
    }
    </script>
    <div id="result"></div>
    <div id="block1">
        <span id="float1" style="float:left; margin-bottom:10000px;"></span>
    </div>
    <legend>
        <fieldset></fieldset>
        <junk>
    </legend>
</html>

