<!DOCTYPE html>
<!-- Copyright © 2017 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang). -->
<meta charset="utf-8">
<title>Test for PaymentRequest id attribute</title>
<link rel="help" href="https://w3c.github.io/payment-request/#constructor">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
const methods = [{ supportedMethods: "foo" }];
const total = { label: "label", amount: { currency: "USD", value: "5.00" } };

test(() => {
  const request1 = new PaymentRequest(methods, {
    id: "pass",
    total,
  });
  assert_idl_attribute(request1, "id");
  assert_equals(request1.id, "pass", "Expected PaymentRequest.id to be 'pass'");
}, "PaymentRequest's id attribute's value can be set via PaymentDetailsInit dictionary");

// Test for https://github.com/w3c/payment-request/pull/665
test(() => {
  const uuidRegExp = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
  const request1 = new PaymentRequest(methods, {
    total,
  });
  const request2 = new PaymentRequest(methods, {
    total,
  });
  assert_true(
    uuidRegExp.test(request1.id) && uuidRegExp.test(request2.id) ,
    "Expected PaymentRequest.id be a UUID"
  );
  assert_not_equals(
    request1.id, request2.id,
    "Expected PaymentRequest.id be unique per instance"
  );
}, "PaymentRequest's id attribute must be a UUID when PaymentDetailsInit.id is missing");
</script>
