52 lines
1.4 KiB
HTML
52 lines
1.4 KiB
HTML
<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> |