﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Test left overflow in LTR page</title>
        <script>
            function log(str)
            {
                var li = document.createElement("li");
                li.appendChild(document.createTextNode(str));
                var console = document.getElementById("console");
                console.appendChild(li);
            }
            
            function assertEqual(message, actual, expected)
            {
                if (actual != expected)
                    log("\n" + message + ": Failure, actual: " + actual + "; expected: " + expected);
                else
                    log("\n" + message + ": Success");
            }
    
            onload = function()
            {
                if (window.testRunner)
                    testRunner.dumpAsText();
                var div = document.getElementById("div");
                var original = window.scrollX;
                window.scrollTo(-1, 0);
                assertEqual("scroll", window.scrollX, 0);
    
            }
        </script>
    </head>
    <body>
        <div id="div" style="position:relative; right:40px">test left overflow in LTR page.</div>
        <ul id="console"></ul>
    </body>
</html>
