123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <!DOCTYPE HTML>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=633058
- -->
- <head>
- <title>Test for Bug 633058</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=633058">Mozilla Bug 633058</a>
- <p id="display"></p>
- <div id="content">
- <input>
- </div>
- <pre id="test">
- <script type="application/javascript">
- /** Test for Bug 633058 **/
- SimpleTest.waitForExplicitFinish();
- // Turn off Spatial Navigation so that the 'keypress' event fires.
- SimpleTest.waitForFocus(function() {
- SpecialPowers.pushPrefEnv({"set":[['snav.enabled', false]]}, startTest);
- });
- function startTest() {
- var nbExpectedKeyPress = 8;
- var inputGotKeyPress = 0;
- var divGotKeyPress = 0;
- var input = document.getElementsByTagName('input')[0];
- var content = document.getElementById('content');
- content.addEventListener('keypress', function() {
- divGotKeyPress++;
- if (divGotKeyPress == nbExpectedKeyPress) {
- is(inputGotKeyPress, nbExpectedKeyPress, "input got all keypress events");
- is(divGotKeyPress, nbExpectedKeyPress, "div got all keypress events");
- SimpleTest.finish();
- }
- }, false);
- input.addEventListener('keypress', function() {
- inputGotKeyPress++;
- }, false);
- input.addEventListener('focus', function() {
- input.removeEventListener('focus', arguments.callee, false);
- synthesizeKey('VK_UP', {});
- synthesizeKey('VK_LEFT', {});
- synthesizeKey('VK_RIGHT', {});
- synthesizeKey('VK_DOWN', {});
- synthesizeKey('VK_BACK_SPACE', {});
- synthesizeKey('VK_DELETE', {});
- synthesizeKey('VK_ESCAPE', {});
- synthesizeKey('VK_RETURN', {});
- }, false);
- input.focus();
- }
- </script>
- </pre>
- </body>
- </html>
|