summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/payment-request/historical.https.html
blob: aa183a58cdb9fcaf206b826677524336a86ffbab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!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>