tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_bug1286509.html (1609B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=1286509
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 1286509</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <script src="/tests/SimpleTest/EventUtils.js"></script>
     11  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     12 </head>
     13 <body>
     14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1286509">Mozilla Bug 1286509</a>
     15 <p id="display"></p>
     16 <div id="content">
     17  <input type="range" id="test_input" min="0" max="10" value="5">
     18 </div>
     19 <pre id="test">
     20  <script type="application/javascript">
     21  /** Test for Bug 1286509 */
     22  SimpleTest.waitForExplicitFinish();
     23  var expectedEventSequence = ['keydown', 'change', 'keyup'];
     24  var eventCounts = {};
     25  var expectedEventIdx = 0;
     26 
     27  function test() {
     28    var range = document.getElementById("test_input");
     29    range.focus();
     30    expectedEventSequence.forEach((eventName) => {
     31      eventCounts[eventName] = 0;
     32      range.addEventListener(eventName, (e) => {
     33        ++eventCounts[eventName];
     34        is(expectedEventSequence[expectedEventIdx], e.type, "Events sequence should be keydown, change, keyup");
     35        expectedEventIdx = (expectedEventIdx + 1) % 3;
     36      });
     37    });
     38    synthesizeKey("KEY_ArrowUp");
     39    synthesizeKey("KEY_ArrowDown");
     40    synthesizeKey("KEY_ArrowLeft");
     41    synthesizeKey("KEY_ArrowRight");
     42    is(eventCounts.change, 4, "Expect key up/down/left/right should trigger range input to fire change events");
     43    SimpleTest.finish();
     44  }
     45  addLoadEvent(test);
     46  </script>
     47 </pre>
     48 </body>
     49 </html>