<!doctype html>
<meta charset="utf8">
<link rel="help" href="https://w3c.github.io/payment-request/#dom-paymentresponse-payeremail">
<title>
  PaymentResponse.prototype.payerEmail attribute
</title>
<script src="/js-test-resources/ui-helper.js"></script>
<script src="/resources/payment-request.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/helpers.js"></script>
<script>
  setUpAndSmokeTest({ explicit_done: true, explicit_timeout: true });
</script>
<ol>
  <li>
    <button id="button1">
      payerEmail attribute is null when options undefined.
    </button>
  </li>
  <li>
    <button id="button2">
      payerEmail attribute is null when requestPayerEmail is undefined.
    </button>
  </li>
  <li>
    <button id="button3">
      payerEmail attribute is null when requestPayerEmail is false.
    </button>
  </li>
  <li>
    <button id="button4">
      payerEmail attribute is 'wpt@w3.org' when requestPayerEmail is true.
    </button>
  </li>
  <li>
    <button id="button5">
      payerEmail attribute is 'wpt@w3.org' when requestPayerEmail is truthy.
    </button>
  </li>
</ol>
<script>
    internals.mockPaymentCoordinator.setShippingAddress({ emailAddress: 'wpt@w3.org' });

    async function runTests()
    {
        await runTest(document.getElementById("button1"), undefined, { payerEmail: null });
        await runTest(document.getElementById("button2"), { requestPayerEmail: undefined }, { payerEmail: null });
        await runTest(document.getElementById("button3"), { requestPayerEmail: false }, { payerEmail: null });
        await runTest(document.getElementById("button4"), { requestPayerEmail: true }, { payerEmail: 'wpt@w3.org' });
        await runTest(document.getElementById("button5"), { requestPayerEmail: 'yep' }, { payerEmail: 'wpt@w3.org' });
        done();
    }
    runTests();
</script>