constructor.https.html (1815B)
1 <!DOCTYPE html> 2 <!-- Copyright © 2017 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang). --> 3 <meta charset="utf-8"> 4 <title>Test for PaymentRequestUpdateEvent Constructor</title> 5 <link rel="help" href="https://w3c.github.io/browser-payment-api/#constructor"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <script> 9 const examplePay = Object.freeze({ supportedMethods: "https://example.com/pay" }); 10 const defaultMethods = Object.freeze([examplePay]); 11 const defaultDetails = Object.freeze({ 12 total: { 13 label: "Total", 14 amount: { 15 currency: "USD", 16 value: "1.00", 17 }, 18 }, 19 }); 20 21 test(() => { 22 try { 23 new PaymentRequestUpdateEvent("test"); 24 } catch (err) { 25 assert_unreached(`Unexpected exception: ${err.message}`); 26 } 27 }, "PaymentRequestUpdateEvent can be constructed in secure-context"); 28 29 test(() => { 30 const ev = new PaymentRequestUpdateEvent("test", { 31 bubbles: true, 32 cancelable: true, 33 composed: true, 34 }); 35 assert_false(ev.isTrusted, "constructed in script, so not be trusted"); 36 assert_true(ev.bubbles, "set by EventInitDict"); 37 assert_true(ev.cancelable, "set by EventInitDict"); 38 assert_true(ev.composed, "set by EventInitDict"); 39 assert_equals(ev.target, null, "initially null"); 40 assert_equals(ev.type, "test"); 41 }, "PaymentRequestUpdateEvent can be constructed with an EventInitDict, even if not trusted"); 42 43 test(() => { 44 const request = new PaymentRequest(defaultMethods, defaultDetails); 45 const ev = new PaymentRequestUpdateEvent("test"); 46 request.addEventListener("test", evt => { 47 assert_equals(ev, evt); 48 }); 49 request.dispatchEvent(ev); 50 }, "PaymentRequestUpdateEvent can be dispatched, even if not trusted"); 51 52 </script>