<!DOCTYPE html>
<html>
  <head>
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>
  </head>
  <body>
    <script>
var t = async_test("PaymentRequest Report Format");

var check_report_format = (reports, observer) => {
  let report = reports[0];
  assert_equals(report.type, "feature-policy");
  assert_equals(report.url, document.location.href);
  assert_equals(report.body.feature, "payment");
  assert_equals(report.body.sourceFile, document.location.href);
  assert_equals(typeof report.body.message, "string");
  assert_equals(typeof report.body.lineNumber, "number");
  assert_equals(typeof report.body.columnNumber, "number");
};

new ReportingObserver(t.step_func_done(check_report_format),
                      {types: ['feature-policy']}).observe();

t.step_func(() => {
  assert_throws('SecurityError',
  () => new PaymentRequest(
    [{ supportedMethods: 'basic-card' }],
    { total: { label: 'Total', amount: { currency: 'USD', value: 0 }}},
    {}).show(),
  "PaymentRequest API should not be allowed in this document.");
})();
    </script>
  </body>
</html>
