91 lines
3.3 KiB
HTML
91 lines
3.3 KiB
HTML
<html>
|
|
<head>
|
|
<script>
|
|
var longInlineBlockDirectionText = "longlonglonglonglongtext<br>longlonglonglonglongtext<br>longlonglonglonglongtext<br>longlonglonglonglongtext<br>longlonglonglonglongtext<br>longlonglonglonglongtext<br>";
|
|
var longInlineBaseDirectionText = "longlonglonglonglongtext";
|
|
var longBlockFlowDirectionText="long<br>long<br>long<br>long<br>long<br>long<br>long<br>";
|
|
var shortText = "l";
|
|
function setupTest() {
|
|
// horizontal overflow.
|
|
var horizontalOverflow = testResults[currentTest][1];
|
|
var verticalOverflow = testResults[currentTest][2];
|
|
|
|
if (horizontalOverflow && verticalOverflow) {
|
|
document.getElementById('child').innerHTML = longInlineBlockDirectionText;
|
|
} else if (horizontalOverflow) {
|
|
document.getElementById('child').innerHTML = longBlockFlowDirectionText;
|
|
} else if (verticalOverflow) {
|
|
document.getElementById('child').innerHTML = longInlineBaseDirectionText;
|
|
} else {
|
|
document.getElementById('child').innerHTML = shortText;
|
|
}
|
|
}
|
|
|
|
function finished(result)
|
|
{
|
|
document.getElementById('result').innerHTML = result;
|
|
document.getElementById('child').innerHTML = "";
|
|
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
function nextTest() {
|
|
if (currentTest == testResults.length) {
|
|
finished("SUCCESS");
|
|
return;
|
|
}
|
|
|
|
forceLayout();
|
|
setupTest();
|
|
forceLayout();
|
|
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; font-family: Ahem; border: solid blue 2px; -webkit-writing-mode: vertical-lr;"></div>
|
|
</div>
|
|
This tests that overflowchanged events are fired correctly on nodes with writing-mode: vertical-lr. If the test is successful, the text "SUCCESS" should be shown below.
|
|
<div id="result">FAILURE</div>
|
|
</body>
|
|
</html>
|