12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <!DOCTYPE HTML>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=903715
- -->
- <head>
- <meta charset="utf-8">
- <title>Test for Bug 903715</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=903715">Mozilla Bug 903715</a>
- <p id="display"></p>
- <div id="content">
- <form id="form" action="/">
- <select id="select" name="select">
- <option>1</option>
- <option>2</option>
- <option>3</option>
- <option>4</option>
- <option>5</option>
- <option>6</option>
- <option>7</option>
- <option>8</option>
- <option>9</option>
- </select>
- <input id="input-text" name="text" value="some text">
- <input id="input-submit" type="submit">
- </form>
- </div>
- <pre id="test">
- </pre>
- <script type="application/javascript">
- SimpleTest.waitForExplicitFinish();
- SimpleTest.requestFlakyTimeout("untriaged");
- SimpleTest.waitForFocus(runTests, window);
- function runTests()
- {
- var form = document.getElementById("form");
- form.addEventListener("keypress", function (aEvent) {
- ok(false, "keypress event shouldn't be fired when the preceding keydown event caused closing the dropdown of the select element");
- }, true);
- form.addEventListener("submit", function (aEvent) {
- ok(false, "submit shouldn't be performed by the Enter key press on the select element");
- aEvent.preventDefault();
- }, true);
- var select = document.getElementById("select");
- select.addEventListener("change", function (aEvent) {
- var input = document.getElementById("input-text");
- input.focus();
- input.select();
- }, false);
- select.focus();
- select.addEventListener("popupshowing", function (aEvent) {
- setTimeout(function () {
- synthesizeKey("VK_DOWN", { });
- select.addEventListener("popuphiding", function (aEvent) {
- setTimeout(function () {
- // Enter key should cause closing the dropdown of the select element
- // and keypress event shouldn't be fired on the input element because
- // which shouldn't cause sumbmitting the form contents.
- ok(true, "Test passes if there is no error");
- SimpleTest.finish();
- }, 100);
- }, false);
- // Close dropdown.
- synthesizeKey("VK_RETURN", { });
- }, 100);
- }, false);
- // Open dropdown.
- synthesizeKey("VK_DOWN", { altKey: true });
- }
- </script>
- </body>
- </html>
|