tor-browser

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

modifier-keys.html (1306B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8" />
      3 <title>UI Events Test: Modifier keys</title>
      4 <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
      5 <link rel="help" href="https://w3c.github.io/uievents/#idl-keyboardevent" />
      6 <meta name="assert" content="This test checks that modifier keys are properly detected in 'keydown' event.">
      7 <script src="/resources/testharness.js"></script>
      8 <script src="/resources/testharnessreport.js"></script>
      9 <script src="/resources/testdriver.js"></script>
     10 <script src="/resources/testdriver-vendor.js"></script>
     11 <div id="target" tabindex="0">Target</div>
     12 <script>
     13  const keys = {
     14    "Shift": '\uE008',
     15    "Control": '\uE009',
     16    "Alt": '\uE00A',
     17    "Meta": '\uE03D',
     18  };
     19 
     20  target.focus();
     21  for (const [key, code] of Object.entries(keys)) {
     22    promise_test(() => {
     23      return new Promise(resolve => {
     24        target.addEventListener("keydown", resolve);
     25        test_driver.send_keys(target, code);
     26      }).then((event) => {
     27        assert_equals(event.key, key);
     28        assert_equals(event.shiftKey, key === "Shift");
     29        assert_equals(event.ctrlKey, key === "Control");
     30        assert_equals(event.altKey, key === "Alt");
     31        assert_equals(event.metaKey, key === "Meta");
     32      });
     33    }, `Check sending ${key} key`);
     34  }
     35 </script>