| <!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"], |
| ].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(expectedError, () => { |
| new PaymentRequest([{supportedMethods: methods}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}); |
| }); |
| }, 'supportedMethods must not support sequence<DOMString>'); |
| </script> |