tor-browser

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

on-input-number.tentative.html (2912B)


      1 <!doctype html>
      2 <meta charset="utf-8" />
      3 <meta name="author" title="Luke Warlow" href="mailto:lwarlow@igalia.com" />
      4 <link rel="help" href="https://open-ui.org/components/invokers.explainer/" />
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <script src="/resources/testdriver.js"></script>
      8 <script src="/resources/testdriver-actions.js"></script>
      9 <script src="/resources/testdriver-vendor.js"></script>
     10 <script src="resources/invoker-utils.js"></script>
     11 
     12 <input type="number" id="invokee" value="0">
     13 <button id="invokerbutton" commandfor="invokee"></button>
     14 
     15 <script>
     16  function reset() {
     17    invokee.value = 0;
     18    invokerbutton.removeAttribute('command');
     19  }
     20 
     21  // step-up
     22 
     23  promise_test(async function (t) {
     24    t.add_cleanup(reset);
     25    assert_equals(invokee.valueAsNumber, 0);
     26    invokerbutton.setAttribute("command", "step-up");
     27    await clickOn(invokerbutton);
     28    assert_equals(invokee.valueAsNumber, 1);
     29  }, "invoking number input with step-up action increments value");
     30 
     31  promise_test(async function (t) {
     32    t.add_cleanup(reset);
     33    assert_equals(invokee.valueAsNumber, 0);
     34    invokerbutton.setAttribute("command", "sTeP-uP");
     35    await clickOn(invokerbutton);
     36    assert_equals(invokee.valueAsNumber, 1);
     37  }, "invoking number input with step-up action (case-insensitive) increments value");
     38 
     39  promise_test(async function (t) {
     40    t.add_cleanup(reset);
     41    assert_equals(invokee.valueAsNumber, 0);
     42    invokerbutton.setAttribute("command", "step-up");
     43    invokee.addEventListener("command", (e) => e.preventDefault(), {
     44      once: true,
     45    });
     46    await clickOn(invokerbutton);
     47    assert_equals(invokee.valueAsNumber, 0);
     48  }, "invoking number input with step-up action and preventDefault does not increment value");
     49 
     50  // step-down
     51 
     52  promise_test(async function (t) {
     53    t.add_cleanup(reset);
     54    assert_equals(invokee.valueAsNumber, 0);
     55    invokerbutton.setAttribute("command", "step-down");
     56    await clickOn(invokerbutton);
     57    assert_equals(invokee.valueAsNumber, -1);
     58  }, "invoking number input with step-down action decrements value");
     59 
     60  promise_test(async function (t) {
     61    t.add_cleanup(reset);
     62    assert_equals(invokee.valueAsNumber, 0);
     63    invokerbutton.setAttribute("command", "sTeP-dOwN");
     64    await clickOn(invokerbutton);
     65    assert_equals(invokee.valueAsNumber, -1);
     66  }, "invoking number input with step-down action (case-insensitive) decrements value");
     67 
     68  promise_test(async function (t) {
     69    t.add_cleanup(reset);
     70    assert_equals(invokee.valueAsNumber, 0);
     71    invokerbutton.setAttribute("command", "step-down");
     72    invokee.addEventListener("command", (e) => e.preventDefault(), {
     73      once: true,
     74    });
     75    await clickOn(invokerbutton);
     76    assert_equals(invokee.valueAsNumber, 0);
     77  }, "invoking number input with step-down action and preventDefault does not decrement value");
     78 </script>