﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  style="direction:rtl" xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Test right overflow in RTL 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; left:40px">test right overflow in RTL page.</div>
        <ul id="console"></ul>
    </body>
</html>
