| <html> |
| <head> |
| <script> |
| function setupTest() { |
| var horizontalOverflow = testResults[currentTest][1]; |
| if (horizontalOverflow) { |
| document.getElementById('child').style.width = '200px'; |
| } else { |
| document.getElementById('child').style.width = '50px'; |
| } |
| |
| var verticalOverflow = testResults[currentTest][2]; |
| if (verticalOverflow) { |
| document.getElementById('child').style.height = '200px'; |
| } else { |
| document.getElementById('child').style.height = '50px'; |
| } |
| } |
| |
| function finished(result) |
| { |
| document.getElementById('result').innerHTML = result; |
| |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| |
| function nextTest() { |
| if (currentTest == testResults.length) { |
| finished("SUCCESS"); |
| return; |
| } |
| |
| forceLayout(); |
| setupTest(); |
| forceLayout(); |
| } |
| |
| function overflowChanged(event) { |
| var result = [event.orient, event.horizontalOverflow, event.verticalOverflow]; |
| |
| if ('' + result == testResults[currentTest]) { |
| currentTest++; |
| nextTest(); |
| } else |
| finished("FAILURE: expected " + testResults[currentTest] + " got " + result); |
| } |
| |
| function forceLayout() { |
| document.body.offsetTop; |
| } |
| |
| function runTest() { |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| testResults = [[OverflowEvent.HORIZONTAL, true, false], |
| [OverflowEvent.HORIZONTAL, false, false], |
| [OverflowEvent.VERTICAL, false, true], |
| [OverflowEvent.VERTICAL, false, false], |
| [OverflowEvent.BOTH, true, true], |
| [OverflowEvent.BOTH, false, false], |
| [OverflowEvent.VERTICAL, false, true], |
| [OverflowEvent.BOTH, true, false], |
| [OverflowEvent.BOTH, false, true]]; |
| |
| currentTest = 0; |
| |
| var c = document.getElementById('container'); |
| c.addEventListener('overflowchanged', overflowChanged, false); |
| nextTest(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <div id="container" style="width:100; height:100px; border: solid red 2px; overflow: hidden"> |
| <div id="child" style="margin-top: 30px; margin-left: 30px; width:50px; height:50px; border: solid blue 2px;"></div> |
| </div> |
| This tests that overflowchanged events are fired correctly. If the test is successful, the text "SUCCESS" should be shown below. |
| <div id="result">FAILURE</div> |
| </body> |
| </html> |