tor-browser

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

payment-request-event-constructor.https.serviceworker.js (1579B)


      1 importScripts('/resources/testharness.js');
      2 
      3 test(() => {
      4  try {
      5    new PaymentRequestEvent('test', undefined);
      6    new PaymentRequestEvent('test', null);
      7    new PaymentRequestEvent('test', {});
      8  } catch (err) {
      9    assert_unreached(`Unexpected exception: ${err.message}`);
     10  }
     11 }, 'PaymentRequestEvent can be constucted in service worker.');
     12 
     13 test(() => {
     14  const ev = new PaymentRequestEvent('test', {
     15    bubbles: true,
     16    cancelable: true,
     17    composed: true,
     18  });
     19  assert_false(ev.isTrusted, 'constructed in script, so not be trusted');
     20  assert_true(ev.bubbles, 'set by EventInitDict');
     21  assert_true(ev.cancelable, 'set by EventInitDict');
     22  assert_true(ev.composed, 'set by EventInitDict');
     23  assert_equals(ev.target, null, 'initially null');
     24  assert_equals(ev.type, 'test');
     25 }, 'PaymentRequestEvent can be constructed with an EventInitDict, even if not trusted');
     26 
     27 test(() => {
     28  const ev = new PaymentRequestEvent('test', {
     29    topOrigin: 'https://foo.com',
     30    paymentRequestOrigin: 'https://bar.com',
     31    methodData: [],
     32    modifiers: [],
     33  });
     34  assert_false(ev.isTrusted, 'constructed in script, so not be trusted');
     35  assert_equals(ev.topOrigin, 'https://foo.com');
     36  assert_equals(ev.paymentRequestOrigin, 'https://bar.com');
     37 }, 'PaymentRequestEvent can be constructed with a PaymentRequestEventInit, even if not trusted');
     38 
     39 test(() => {
     40  const ev = new PaymentRequestEvent('test', {});
     41  self.addEventListener('test', evt => {
     42    assert_equals(ev, evt);
     43  });
     44  self.dispatchEvent(ev);
     45 }, 'PaymentRequestEvent can be dispatched, even if not trusted');