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');