| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
| 4 <script src="../resources/mojo-helpers.js"></script> | 4 <script src="../resources/mojo-helpers.js"></script> |
| 5 <script src="resources/payment-request-mock.js"></script> | 5 <script src="resources/payment-request-mock.js"></script> |
| 6 <script> | 6 <script> |
| 7 var details = { | 7 var details = { |
| 8 total: | 8 total: |
| 9 { | 9 { |
| 10 label: 'Total', | 10 label: 'Total', |
| 11 amount: {currency: 'USD', value: '55.00'}, // US$55.00 | 11 amount: {currency: 'USD', value: '55.00'}, // US$55.00 |
| 12 } | 12 } |
| 13 }; | 13 }; |
| 14 | 14 |
| 15 var response_data = { | 15 var response_data = { |
| 16 method_name: 'visa', | 16 method_name: 'visa', |
| 17 total_amount: {currency: 'USD', value: '55.00'}, |
| 17 stringified_details: '{}' | 18 stringified_details: '{}' |
| 18 }; | 19 }; |
| 19 | 20 |
| 20 promise_test(t => { | 21 promise_test(t => { |
| 21 var mock; | 22 var mock; |
| 22 var completeResult; | 23 var completeResult; |
| 23 return paymentRequestMock | 24 return paymentRequestMock |
| 24 .then(m => { | 25 .then(m => { |
| 25 mock = m; | 26 mock = m; |
| 26 var result = new PaymentRequest([{'supportedMethods': ['visa']}], deta
ils).show(); | 27 var result = new PaymentRequest([{'supportedMethods': ['visa']}], deta
ils).show(); |
| 27 gc(); | 28 gc(); |
| 28 mock.onPaymentResponse(response_data); | 29 mock.onPaymentResponse(response_data); |
| 29 return result; | 30 return result; |
| 30 }) | 31 }) |
| 31 .then(response => { | 32 .then(response => { |
| 32 completeResult = response.complete(true); | 33 completeResult = response.complete(true); |
| 33 // Return before calling gc() to make sure reference to response | 34 // Return before calling gc() to make sure reference to response |
| 34 // is gone. | 35 // is gone. |
| 35 }) | 36 }) |
| 36 .then(() => { | 37 .then(() => { |
| 37 gc(); | 38 gc(); |
| 38 mock.onComplete(); | 39 mock.onComplete(); |
| 39 return completeResult; | 40 return completeResult; |
| 40 }); | 41 }); |
| 41 }, 'Promises resolve even without references to request or response.'); | 42 }, 'Promises resolve even without references to request or response.'); |
| 42 </script> | 43 </script> |
| OLD | NEW |