| <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> |