| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
| 3 <title>Tests for PaymentRequest interface</title> | 3 <title>Tests for PaymentRequest interface</title> |
| 4 <script src="../resources/testharness.js"></script> | 4 <script src="../resources/testharness.js"></script> |
| 5 <script src="../resources/testharnessreport.js"></script> | 5 <script src="../resources/testharnessreport.js"></script> |
| 6 <script> | 6 <script> |
| 7 test(function() { | 7 test(function() { |
| 8 new PaymentRequest([], {}, {}, {}); | 8 new PaymentRequest(["foo"], {}, {}, {}); |
| 9 }, 'Creating a PaymentRequest with empty parameters should not throw or crash.')
; | 9 }, 'Creating a PaymentRequest with empty parameters should not throw or crash.')
; |
| 10 | 10 |
| 11 test(function() { | 11 test(function() { |
| 12 new PaymentRequest([], {}, {}, {}, ''); | 12 new PaymentRequest(["foo"], {}, {}, {}, ''); |
| 13 }, 'Creating a PaymentRequest with extra parameters should not throw or crash.')
; | 13 }, 'Creating a PaymentRequest with extra parameters should not throw or crash.')
; |
| 14 | 14 |
| 15 test(function() { | 15 test(function() { |
| 16 new PaymentRequest([], {}); | 16 new PaymentRequest(["foo"], {}); |
| 17 }, 'Creating a PaymentRequest with omitted optional parameters should not throw
or crash.'); | 17 }, 'Creating a PaymentRequest with omitted optional parameters should not throw
or crash.'); |
| 18 | 18 |
| 19 test(function() { | 19 test(function() { |
| 20 new PaymentRequest([], {}, undefined, undefined); | 20 new PaymentRequest(["foo"], {}, undefined, undefined); |
| 21 }, 'Creating a PaymentRequest with undefined optional parameters should not thro
w or crash.'); | 21 }, 'Creating a PaymentRequest with undefined optional parameters should not thro
w or crash.'); |
| 22 | 22 |
| 23 test(function() { | 23 test(function() { |
| 24 new PaymentRequest([], {}, null, null); | 24 new PaymentRequest(["foo"], {}, null, null); |
| 25 }, 'Creating a PaymentRequest with null optional parameters should not throw or
crash.'); | 25 }, 'Creating a PaymentRequest with null optional parameters should not throw or
crash.'); |
| 26 | 26 |
| 27 generate_tests(assert_throws, [ | 27 generate_tests(assert_throws, [ |
| 28 ['PaymentRequest constructor should throw for incorrect parameter types.', n
ull, function() { | 28 ['PaymentRequest constructor should throw for incorrect parameter types.', n
ull, function() { |
| 29 new PaymentRequest('', '', '', '') | 29 new PaymentRequest('', '', '', '') |
| 30 }], | 30 }], |
| 31 ['PaymentRequest constructor should throw for undefined required parameters.
', null, function() { | 31 ['PaymentRequest constructor should throw for undefined required parameters.
', null, function() { |
| 32 new PaymentRequest(undefined, undefined) | 32 new PaymentRequest(undefined, undefined) |
| 33 }], | 33 }], |
| 34 ['PaymentRequest constructor should throw for null required parameter.', nul
l, function() { | 34 ['PaymentRequest constructor should throw for null required parameter.', nul
l, function() { |
| 35 new PaymentRequest(null, null) | 35 new PaymentRequest(null, null) |
| 36 }] | 36 }] |
| 37 ]); | 37 ]); |
| 38 | 38 |
| 39 test(function() { | 39 test(function() { |
| 40 var request = new PaymentRequest([], {}); | 40 var request = new PaymentRequest(["foo"], {}); |
| 41 assert_readonly(request, "shippingAddress", 'PaymentRequest should have a re
adonly shippingAddress property.'); | 41 assert_readonly(request, "shippingAddress", 'PaymentRequest should have a re
adonly shippingAddress property.'); |
| 42 assert_readonly(request, "shippingOption", 'PaymentRequest should have a rea
donly shippingOption property.'); | 42 assert_readonly(request, "shippingOption", 'PaymentRequest should have a rea
donly shippingOption property.'); |
| 43 }, 'PaymentRequest should have readonly shippingAddress and shippingOption prope
rties.'); | 43 }, 'PaymentRequest should have readonly shippingAddress and shippingOption prope
rties.'); |
| 44 | 44 |
| 45 test(function() { | 45 test(function() { |
| 46 var request = new PaymentRequest([], {}); | 46 var request = new PaymentRequest(["foo"], {}); |
| 47 assert_not_equals(request.onshippingaddresschange, undefined, 'PaymentReques
t should have onShippingAddressChange event.'); | 47 assert_not_equals(request.onshippingaddresschange, undefined, 'PaymentReques
t should have onShippingAddressChange event.'); |
| 48 assert_not_equals(request.onshippingoptionchange, undefined, 'PaymentRequest
should have onShippingOptionChange event.'); | 48 assert_not_equals(request.onshippingoptionchange, undefined, 'PaymentRequest
should have onShippingOptionChange event.'); |
| 49 }, 'PaymentRequest should have onShippingAddressChange and onShippingOptionChang
e events.'); | 49 }, 'PaymentRequest should have onShippingAddressChange and onShippingOptionChang
e events.'); |
| 50 | 50 |
| 51 | 51 |
| 52 test(function() { | 52 test(function() { |
| 53 var request = new PaymentRequest([], {}); | 53 var request = new PaymentRequest(["foo"], {}); |
| 54 assert_not_equals(request.abort, undefined, 'PaymentRequest should have abor
t() method.'); | 54 assert_not_equals(request.abort, undefined, 'PaymentRequest should have abor
t() method.'); |
| 55 assert_not_equals(request.show, undefined, 'PaymentRequest should have show(
) method.'); | 55 assert_not_equals(request.show, undefined, 'PaymentRequest should have show(
) method.'); |
| 56 }, 'PaymentRequest should have methods abort() and show().'); | 56 }, 'PaymentRequest should have methods abort() and show().'); |
| 57 | 57 |
| 58 test(function() { | 58 test(function() { |
| 59 var request = new PaymentRequest([], {}); | 59 var request = new PaymentRequest(["foo"], {}); |
| 60 request.show(); |
| 60 request.abort(); | 61 request.abort(); |
| 62 }, 'PaymentRequest.abort() and PaymentRequest.show() should take no parameters.'
); |
| 63 |
| 64 test(function() { |
| 65 var request = new PaymentRequest( |
| 66 ["foo"], |
| 67 { |
| 68 "items": [{"id": "total", "label": "Total", "amount": {"currency
Code": "USD", "value": "10.00"}}], |
| 69 "shippingOptions": [{"id": "self", "label": "Pick up", "amount":
{"currencyCode": "USD", "value": "-5.00"}}] |
| 70 }, |
| 71 {"requestShipping": true}, |
| 72 {"foo": {"gateway": "bar"}}); |
| 61 request.show(); | 73 request.show(); |
| 62 }, 'PaymentRequest.abort() and PaymentRequest.show() should take no parameters.'
); | 74 request.abort(); |
| 75 }, 'Valid data causes no errors.'); |
| 63 </script> | 76 </script> |
| OLD | NEW |