| CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected. |
| |
| PASS If details.id is missing, assign an identifier |
| PASS If details.id is missing, assign a unique identifier |
| PASS If the same id is provided, then use it |
| PASS Use ids even if they are strange |
| PASS Use provided request ID |
| PASS If the length of the methodData sequence is zero, then throw a TypeError |
| PASS If payment method is duplicate, then throw a RangeError |
| PASS Modifier method data must be JSON-serializable object |
| PASS Rethrow any exceptions of JSON-serializing paymentMethod.data into a string |
| PASS If details.total.amount.value is not a valid decimal monetary value, then throw a TypeError |
| PASS PaymentDetailsBase members can be 0 length |
| PASS If the first character of details.total.amount.value is U+002D HYPHEN-MINUS, then throw a TypeError |
| PASS For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value, then throw a TypeError |
| PASS Negative values are allowed for displayItems.amount.value, irrespective of total amount |
| PASS it handles high precision currency values without throwing |
| PASS For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value, then throw a TypeError |
| PASS If there is no selected shipping option, then PaymentRequest.shippingOption remains null |
| PASS If there is a selected shipping option, and requestShipping is set, then that option becomes synchronously selected |
| FAIL If requestShipping is set, and if there is a multiple selected shipping options, only the last is selected. assert_equals: selected option must 'the-id expected "the-id" but got "FAIL1" |
| PASS If there are any duplicate shipping option ids, and shipping is requested, then throw a TypeError |
| PASS Throw when there are duplicate shippingOption ids, even if other values are different |
| PASS Throw TypeError if modifier.total.amount.value is not a valid decimal monetary value |
| PASS If amount.value of additionalDisplayItems is not a valid decimal monetary value, then throw a TypeError |
| PASS Modifier data must be JSON-serializable object (an Array in this case) |
| PASS Modifier data must be JSON-serializable object (an Object in this case) |
| PASS Rethrow any exceptions of JSON-serializing modifier.data |
| PASS Shipping type should be valid |
| PASS PaymentRequest.shippingAddress must initially be null |
| PASS If options.requestShipping is not set, then request.shippingType attribute is null. |
| PASS If options.requestShipping is true, request.shippingType will be options.shippingType. |
| |