<!DOCTYPE html>
<title>Test Payment Rrequest API</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/common/utils.js"></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="resources/utils.js"></script>

<body>
<script>
promise_test(async () => {
  const frame = attachFencedFrameContext();
  const error_name = await frame.execute(() => {
    const methods = [{supportedMethods: ['foo']}];
    const details = {
      total: {
        label: 'label',
        amount: {
          currency: 'USD',
          value: '5.00'
        }
      }
    };

    try {
      new PaymentRequest(methods, details);
    } catch (e) {
      return e.name
    }
  });
  assert_equals(error_name, "SecurityError",
                "PaymentRequest is not allowed in fenced frames");
}, 'new PaymentRequest should fail inside a fenced frame');
</script>
</body>
