<html>
    <head>
        <style>
            div {
                height: 9999px;
                width:9999px;
            }
        </style>
        <script src="../../../resources/js-test-pre.js"></script>
        <script>
            function runTest() {
                description('Tests that for quirks mode document.body.scrollLeft returns the scroll left value');

                setTimeout(function() {
                    window.scrollTo(500,0);
                    shouldBe("window.pageXOffset","500");
                    shouldBe("document.body.scrollLeft","500");
                    shouldBe("document.documentElement.scrollLeft","0");
                    finishJSTest();
                }, 0);
            }
            var jsTestIsAsync = true;
        </script>
    </head>
    <body onload="runTest()">
        <div></div>
        <script src="../../../resources/js-test-post.js"></script>
    </body>
</html>
