<!doctype html> <meta charset=utf-8> <title>Historical Payment Request APIs</title> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <script> [ // https://github.com/w3c/browser-payment-api/pull/419 ["paymentRequestID", "PaymentRequest"], ["paymentRequestID", "PaymentResponse"], // https://github.com/w3c/browser-payment-api/pull/258 ["careOf", "PaymentAddress"], // https://github.com/w3c/browser-payment-api/pull/219 ["totalAmount", "PaymentResponse"], // https://github.com/w3c/browser-payment-api/pull/426 ["paymentRequestId", "PaymentRequest"], ["paymentRequestId", "PaymentResponse"], // https://github.com/w3c/payment-request/pull/765 ["languageCode", "PaymentAddress"], //https://github.com/whatwg/html/pull/5915 ["allowPaymentRequest", "HTMLIFrameElement"], ].forEach(([member, interf]) => { test(() => { assert_false(member in window[interf].prototype); }, member + ' in ' + interf); }); // https://github.com/w3c/payment-request/pull/551 test(() => { const methods = []; const expectedError = {name: 'toString should be called'}; const unexpectedError = {name: 'sequence<DOMString> conversion is not allowed'}; methods.toString = () => { throw expectedError; }; Object.defineProperty(methods, '0', { get: () => { throw unexpectedError; } }); assert_throws_exactly(expectedError, () => { new PaymentRequest([{supportedMethods: methods}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}); }); }, 'supportedMethods must not support sequence<DOMString>'); </script>