diff options
Diffstat (limited to 'testing/web-platform/tests/payment-handler/can-make-payment-event-constructor.https.serviceworker.js')
-rw-r--r-- | testing/web-platform/tests/payment-handler/can-make-payment-event-constructor.https.serviceworker.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/payment-handler/can-make-payment-event-constructor.https.serviceworker.js b/testing/web-platform/tests/payment-handler/can-make-payment-event-constructor.https.serviceworker.js new file mode 100644 index 0000000000..5b334d9c3a --- /dev/null +++ b/testing/web-platform/tests/payment-handler/can-make-payment-event-constructor.https.serviceworker.js @@ -0,0 +1,47 @@ +importScripts('/resources/testharness.js'); + +test(() => { + try { + new CanMakePaymentEvent('test', undefined); + new CanMakePaymentEvent('test', null); + new CanMakePaymentEvent('test', {}); + } catch (err) { + assert_unreached(`Unexpected exception: ${err.message}`); + } +}, 'CanMakePaymentEvent can be constructed in service worker.'); + +test(() => { + const ev = new CanMakePaymentEvent('test', { + bubbles: true, + cancelable: true, + composed: true, + }); + assert_false(ev.isTrusted, 'constructed in script, so not be trusted'); + assert_true(ev.bubbles, 'set by EventInitDict'); + assert_true(ev.cancelable, 'set by EventInitDict'); + assert_true(ev.composed, 'set by EventInitDict'); + assert_equals(ev.target, null, 'initially null'); + assert_equals(ev.type, 'test'); +}, 'CanMakePaymentEvent can be constructed with an EventInitDict, even if not trusted'); + +test(() => { + const ev = new CanMakePaymentEvent('test', { + topOrigin: 'https://foo.com', + paymentRequestOrigin: 'https://bar.com', + methodData: [], + modifiers: [], + }); + assert_false(ev.isTrusted, 'constructed in script, so not be trusted'); + assert_equals(ev.topOrigin, undefined); + assert_equals(ev.paymentRequestOrigin, undefined); + assert_equals(ev.methodData, undefined); + assert_equals(ev.modifiers, undefined); +}, 'CanMakePaymentEvent can be constructed with a CanMakePaymentEventInit, even if not trusted'); + +test(() => { + const ev = new CanMakePaymentEvent('test', {}); + self.addEventListener('test', evt => { + assert_equals(ev, evt); + }); + self.dispatchEvent(ev); +}, 'CanMakePaymentEvent can be dispatched, even if not trusted'); |