| <html> |
| <body> |
| |
| <p>This test requires DumpRenderTree. To test manually, try to scroll the |
| blue div to the left and the red div up using the scrollbar arrows or the |
| mouse wheel. The test passes if the divs scroll.</p> |
| |
| <div id='rtl' style="direction: rtl; width: 100px; overflow: auto; border: 1px solid blue;"> |
| 01234567890123456789 |
| </div> |
| |
| <div id='bt' style="-webkit-writing-mode: horizontal-bt; height: 100px; overflow: auto; border: 1 px solid red;"> |
| aaa<br> |
| bbb<br> |
| ccc<br> |
| ddd<br> |
| eee<br> |
| fff<br> |
| ggg<br> |
| hhh<br> |
| iii<br> |
| jjj<br> |
| kkk |
| </div> |
| |
| <div id="console"></div> |
| |
| <script> |
| function log(message) |
| { |
| document.getElementById("console").innerHTML += message + "<br>"; |
| } |
| |
| function centerMouseOn(element) |
| { |
| eventSender.mouseMoveTo(element.offsetLeft + element.offsetWidth / 2, |
| element.offsetTop + element.offsetHeight / 2); |
| } |
| |
| function testRTL() |
| { |
| var rtl = document.getElementById("rtl"); |
| centerMouseOn(rtl); |
| var offsetBefore = rtl.scrollLeft; |
| |
| rtl.onscroll = function() { |
| var offsetAfter = rtl.scrollLeft; |
| if (offsetBefore > offsetAfter) |
| log("rtl: PASS"); |
| else { |
| log("rtl: FAIL"); |
| log("scrollLeft before: " + offsetBefore); |
| log("scrollLeft after: " + offsetAfter); |
| } |
| testBT(); |
| } |
| |
| eventSender.mouseScrollBy(1, 0); |
| } |
| |
| function testBT() |
| { |
| var bt = document.getElementById("bt"); |
| centerMouseOn(bt); |
| offsetBefore = bt.scrollTop; |
| bt.onscroll = function() { |
| offsetAfter = bt.scrollTop; |
| if (offsetBefore > offsetAfter) |
| log("bt: PASS"); |
| else { |
| log("bt: FAIL"); |
| log("scrollTop before: " + offsetBefore); |
| log("scrollTop after: " + offsetAfter); |
| } |
| |
| document.body.removeChild(document.getElementById("rtl")); |
| document.body.removeChild(document.getElementById("bt")); |
| testRunner.notifyDone(); |
| } |
| |
| eventSender.mouseScrollBy(0, 1); |
| } |
| |
| function test() |
| { |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| if (!window.eventSender || !window.eventSender.mouseScrollBy) { |
| log("This test requires DumpRenderTree with eventSender.mouseScrollBy."); |
| return; |
| } |
| |
| testRTL(); |
| } |
| |
| test(); |
| </script> |
| |
| </body> |
| </html> |