<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../resources/mojo-helpers.js"></script>
<script src="resources/payment-request-mock.js"></script>
<script>
var details = {
  displayItems: [
    {
      label: 'Sub-total',
      amount: { currency: 'USD', value : '55.00' }, // US$55.00
    },
    {
      label: 'Sales Tax',
      amount: { currency: 'USD', value : '5.00' }, // US$5.00
    }
  ]
};

var response_data = {
  method_name: 'visa',
  stringified_details: '{}'
};

promise_test(t => {
    var mock;
    var completeResult;
    return paymentRequestMock
      .then(m => {
          mock = m;
          var result = new PaymentRequest(['visa'], details).show();
          gc();
          mock.onPaymentResponse(response_data);
          return result;
        })
      .then(response => {
          completeResult = response.complete(true);
          // Return before calling gc() to make sure reference to response
          // is gone.
        })
      .then(() => {
          gc();
          mock.onComplete();
          return completeResult;
        });
  }, 'Promises resolve even without references to request or response.');
</script>
