<html>
<head>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>

function log(str) {
    var li = document.createElement("li");
    li.appendChild(document.createTextNode(str));
    var console = document.getElementById("console");
    console.appendChild(li);
}

function assertEqual(test_name, actual, expected)
{
    if (actual != expected) {
        log("==================================");
        log("FAILED: " + test_name);
        log("actual: " + actual);
        log("expected: " + expected);
    }
}
function testCaretPosition(elementId, caretPosition)
{
    e = document.getElementById(elementId, caretPosition);
    e.focus();
    if (window.textInputController) {
        var caretRect = textInputController.firstRectForCharacterRange(0, 0);
        assertEqual(elementId, caretRect[0], caretPosition);
    }  
}

function runTest()
{
    if (window.testRunner)
        testRunner.dumpAsText();
    var e = document.getElementById("right-align-div");
    e.focus();
    selectAllCommand();
    typeCharacterCommand();
    if (window.textInputController) {
        var caretRect = textInputController.firstRectForCharacterRange(1, 0);
        assertEqual("right-align-div", caretRect[0], 208);
    }

    testCaretPosition("rtl-div", 208);
    testCaretPosition("0-right-padding-rtl-textarea", 206);
    testCaretPosition("ltr-div", 9);
    testCaretPosition("ltr-textarea", 10);
    testCaretPosition("no-wrapping-right-align-div", 208);
    testCaretPosition("no-wrapping-rtl-div", 208);
    testCaretPosition("no-wrapping-0-right-padding-rtl-textarea", 206);
    testCaretPosition("no-wrapping-ltr-div", 9);
    testCaretPosition("no-wrapping-ltr-textarea", 10);
}

</script>
</head>
<body>
<br>
Right aligned div.
<br>
<div CONTENTEDITABLE id="right-align-div" style="text-align: right; width:200px; border: solid thin;"></div> 
<br>
RTL div.
<br>
<div CONTENTEDITABLE id="rtl-div" style="direction: rtl; width:200px; border: solid thin; ">a</div> 
<br>
0px right padding RTL textarea.
<br>
<textarea id="0-right-padding-rtl-textarea" style="direction:rtl; padding: 1px 0px 1px 1px; width:200px">a</textarea>
<br>
LTR div and textarea.
<br>
<div CONTENTEDITABLE id="ltr-div" style="width:200px; border: solid thin; ">a</div> 
<br>
<textarea id="ltr-textarea" style="padding: 1px 0px 1px 1px; width:200px">a</textarea>
<br>
NO WRAPPING
<br>
No wrapping right aligned div.
<br>
<div CONTENTEDITABLE id="no-wrapping-right-align-div" style="white-space:nowrap; text-align: right; width:200px; border: solid thin;"></div> 
<br>
No wrapping RTL div.
<br>
<div CONTENTEDITABLE id="no-wrapping-rtl-div" style="white-space:nowrap; direction: rtl; width:200px; border: solid thin; ">a</div> 
<br>
No wrapping 0px right padding RTL textarea.
<br>
<textarea id="no-wrapping-0-right-padding-rtl-textarea" style="white-space:nowrap; direction:rtl; padding: 1px 0px 1px 1px; width:200px">a</textarea>
<br>
No wrapping LTR div and textarea.
<br>
<div CONTENTEDITABLE id="no-wrapping-ltr-div" style="white-space:nowrap; width:200px; border: solid thin; ">a</div> 
<br>
<textarea id="no-wrapping-ltr-textarea" style="white-space:nowrap; padding: 1px 0px 1px 1px; width:200px">a</textarea>
<br>
<ul id="console"></ul>
</body>
<script> runTest(); </script>
</html>
