tor-browser

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

Event-dispatch-order-at-target.html (1061B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>Listeners are invoked in correct order (AT_TARGET phase)</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <div id="log"></div>
      7 <script>
      8 "use strict";
      9 
     10 test(() => {
     11    const el = document.createElement("div");
     12    const expectedOrder = ["capturing", "bubbling"];
     13 
     14    let actualOrder = [];
     15    el.addEventListener("click", evt => {
     16        assert_equals(evt.eventPhase, Event.AT_TARGET);
     17        actualOrder.push("bubbling");
     18    }, false);
     19    el.addEventListener("click", evt => {
     20        assert_equals(evt.eventPhase, Event.AT_TARGET);
     21        actualOrder.push("capturing");
     22    }, true);
     23 
     24    el.dispatchEvent(new Event("click", {bubbles: true}));
     25    assert_array_equals(actualOrder, expectedOrder, "bubbles: true");
     26 
     27    actualOrder = [];
     28    el.dispatchEvent(new Event("click", {bubbles: false}));
     29    assert_array_equals(actualOrder, expectedOrder, "bubbles: false");
     30 }, "Listeners are invoked in correct order (AT_TARGET phase)");
     31 </script>