<!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="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="helpers.js"></script>
<h2>payerEmail attribute</h2>
<p>
  Click on each button in sequence from top to bottom without refreshing the page.
  Each button will bring up the Payment Request UI window.
</p>
<p>
  When requested, please use "wpt@w3.org" as the email.
</p>
<ol>
  <li>
    <button onclick="runManualTest(this, undefined, { payerEmail: null })">
      payerEmail attribute is null when options undefined.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerEmail: undefined }, { payerEmail: null })">
      payerEmail attribute is null when requestPayerEmail is undefined.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerEmail: false }, { payerEmail: null })">
      payerEmail attribute is null when requestPayerEmail is false.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerEmail: true }, { payerEmail: 'wpt@w3.org' })">
      payerEmail attribute is 'wpt@w3.org' when requestPayerEmail is true.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerEmail: 'yep' }, { payerEmail: 'wpt@w3.org' }).then(done)">
      payerEmail attribute is 'wpt@w3.org' when requestPayerEmail is truthy.
    </button>
  </li>
</ol>
<small>
  If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
  and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">suggested reviewers</a>.
</small>
