blob: 87db8266489090a9a1143b3fb6d47101021f075a [file] [log] [blame]
<html>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
function runTest()
{
var s1 = document.getElementById("s1");
s1.size = 1;
s1.size = 5;
var s2 = document.getElementById("s2");
s2.size = 1;
// force layout.
document.body.offsetTop;
s2.size = 5;
var s3 = document.getElementById("s3");
s3.size = 1;
setTimeout(function()
{
s3.size = 5;
reportResults();
}, 0);
}
function reportResults()
{
var selected1 = s1.selectedIndex;
var selected2 = s2.selectedIndex;
var selected3 = s3.selectedIndex;
document.getElementById("test").innerHTML = "<ul>" +
"<li>Changing the size of a select element from 5 to 1 and back 5 should acquire selection of the first item: " + (selected1 == 0 ? "PASS" : "FAIL") +
"<li>Forcing layout should not affect the outcome: " + (selected2 == selected1 ? "PASS" : "FAIL") +
"<li>And neither should dropping out of the message loop: " + (selected3 == selected1 ? "PASS" : "FAIL") +
"</ul>";
if (window.testRunner)
testRunner.notifyDone();
}
</script>
<body onload="runTest()">
<div id="test">
<select id="s1" size="5"><option>test</select>
<select id="s2" size="5"><option>test</select>
<select id="s3" size="5"><option>test</select>
</div>
</body>