<!doctype html>
<meta charset="utf8">
<link rel="help" href="https://w3c.github.io/payment-request/#dom-paymentresponse-payername">
<title>
  PaymentResponse.prototype.payerName attribute
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="helpers.js"></script>
<h2>payerName 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 "web platform test" as the payer name.
</p>
<ol>
  <li>
    <button onclick="runManualTest(this, undefined, { payerName: null })">
      payerName attribute is null when option is undefined.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerName: undefined }, { payerName: null })">
      payerName attribute is null when requestPayerName is undefined.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerName: false }, { payerName: null })">
      payerName attribute is null when requestPayerName is false.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerName: true }, { payerName: 'web platform test' })">
      payerName attribute is 'web platform test' when requestPayerName is true.
    </button>
  </li>
  <li>
    <button onclick="runManualTest(this, { requestPayerName: 'yep' }, { payerName: 'web platform test' }).then(done)">
      payerName attribute is 'web platform test' when requestPayerName 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>
