tor-browser

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

events.js (1089B)


      1 setup({ explicit_timeout: true, single_test: true });
      2 function rAF() {
      3  return new Promise(resolve => {
      4    requestAnimationFrame(resolve);
      5  });
      6 }
      7 const a = document.getElementById('a');
      8 const b = document.getElementById('b');
      9 const actualEvents = [];
     10 const expectedEvents = document.body.dataset.expectedEvents.replace(/\s+/g, '').split(',');
     11 const eventTypes = new Set(expectedEvents.map(s => s.split(':')[1]));
     12 for (const eventType of eventTypes) {
     13  if (a) {
     14    a.addEventListener(eventType, e => {
     15      actualEvents.push(`a:${e.type}:${e.inputType || ''}`);
     16    });
     17  }
     18  b.addEventListener(eventType, async (e) => {
     19    actualEvents.push(`b:${e.type}:${e.inputType || ''}`);
     20    if (e.type === "input") {
     21      await rAF();
     22      await rAF();
     23      assert_array_equals(actualEvents, expectedEvents);
     24      done();
     25    }
     26  });
     27 }
     28 const dragMeElement = document.querySelector('[data-select]');
     29 const [selectionStart, selectionEnd] = dragMeElement.dataset.select.split(',').map(s => parseInt(s, 10));
     30 setSelection(dragMeElement, selectionStart, selectionEnd);
     31 dragMeElement.focus();