blob: 2ba3a2e50db5dbd5ab28b52a33c60a45096ad031 [file] [log] [blame]
<!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>