mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 12:37:37 +00:00
66 lines
2.1 KiB
HTML
66 lines
2.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=346043
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test for Bug 346043</title>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
|
|
<script type="application/javascript">
|
|
/** Test for Bug 346043 **/
|
|
function test(select, index, useEscape) {
|
|
select.selectedIndex = index;
|
|
is(select.selectedIndex, index, "Selected index is broken");
|
|
|
|
// Open the select dropdown.
|
|
//
|
|
// Using Alt+Down (instead of a click) seems necessary to make subsequent
|
|
// mouse events work with the dropdown itself, instead of the window below
|
|
// it.
|
|
select.focus();
|
|
synthesizeKey("VK_DOWN", {altKey: true});
|
|
|
|
var options = select.getElementsByTagName("option");
|
|
synthesizeMouseAtCenter(options[1],
|
|
{type: "mousemove", clickCount: 0});
|
|
|
|
// Close the select dropdown.
|
|
if (useEscape)
|
|
synthesizeKey("VK_ESCAPE", {}); // Tests a different code path.
|
|
select.blur();
|
|
is(select.selectedIndex, index, "Selected index shouldn't change");
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
SimpleTest.waitForFocus(function() {
|
|
test(document.getElementById("test-unselected"), -1, true);
|
|
test(document.getElementById("test-unselected"), -1, false);
|
|
test(document.getElementById("test-disabled"), 0, true);
|
|
test(document.getElementById("test-disabled"), 0, false);
|
|
SimpleTest.finish();
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=346043">Mozilla Bug 346043</a>
|
|
<p id="display"></p>
|
|
<div id="content">
|
|
<select id="test-unselected">
|
|
<option>A</option>
|
|
<option>B</option>
|
|
<option>C</option>
|
|
</select>
|
|
|
|
<select id="test-disabled">
|
|
<option disabled>A</option>
|
|
<option>B</option>
|
|
<option>C</option>
|
|
</select>
|
|
</div>
|
|
<pre id="test"></pre>
|
|
</body>
|
|
</html>
|