[payment-request-constructor.https.html] [Use provided request ID] expected: FAIL [If the length of the methodData sequence is zero, then throw a TypeError] expected: FAIL [If the length of the paymentMethod.supportedMethods sequence is zero, then throw a TypeError] expected: FAIL [Method data must be JSON-serializable object (a list in this case)] expected: FAIL [Method data must be JSON-serializable object (a dictionary in this case)] expected: FAIL [Rethrow any exceptions of JSON-serializing paymentMethod.data into a string] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError] expected: FAIL [If the first character of details.total.amount.value is U+002D HYPHEN-MINUS, then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError] expected: FAIL [Modifier data must be JSON-serializable object (a list in this case)] expected: FAIL [Modifier data must be JSON-serializable object (a dictionary in this case)] expected: FAIL [Rethrow any exceptions of JSON-serializing modifier.data into a string] expected: FAIL [Total is required] expected: FAIL [Label is required] expected: FAIL [Amount is required] expected: FAIL [Amount value is required] expected: FAIL [Amount currency is required] expected: FAIL [Shipping type should be valid] expected: FAIL [If details.id is missing, assign a identifier] expected: FAIL [If details.id is missing, assign a unique identifier] expected: FAIL [If the same id is provided, then use it] expected: FAIL [Use ids even if they are strange] expected: FAIL [Method data must be JSON-serializable object (an object in this case)] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-1"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-1.0"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-1.00"), then throw a TypeError] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value (in this case "-1000.000"), then throw a TypeError] expected: FAIL [PaymentDetailsBase.0 can be 0 length] expected: FAIL [PaymentDetailsBase.1 can be 0 length] expected: FAIL [PaymentDetailsBase.2 can be 0 length] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError] expected: FAIL [Negative values are allowed for displayItems.amount.value, irrespective of total amount] expected: FAIL [it handles high precision currency values without throwing] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError] expected: FAIL [If there is no selected shipping option, then PaymentRequest.shippingOption remains null] expected: FAIL [If there is a selected shipping option, then it becomes synchronously selected] expected: FAIL [If there is a multiple selected shipping options, only the last is selected] expected: FAIL [If there are any duplicate shipping option ids, then there are no shipping options] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1.0"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1.00"), then throw a TypeError] expected: FAIL [If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1000.000"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "-"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "10."), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case ".99"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "-10."), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "10-"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case ""), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "null"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError] expected: FAIL [If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError] expected: FAIL [Modifier data must be JSON-serializable object (a object in this case)] expected: FAIL [PaymentRequest.shippingAddress must initially be null] expected: FAIL [If options.requestShipping is not set, then request.shippingType attribute is null.] expected: FAIL [If options.requestShipping is true, request.shippingType will be options.shippingType.] expected: FAIL [If details.id is missing, assign an identifier] expected: FAIL [ignore invalid payment method URLs] expected: FAIL [Modifier method data must be JSON-serializable object] expected: FAIL [If details.total.amount.value is not a valid decimal monetary value, then throw a TypeError] expected: FAIL [PaymentDetailsBase members can be 0 length] expected: FAIL [For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value, then throw a TypeError] expected: FAIL [For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value, then throw a TypeError] expected: FAIL [Throw TypeError if modifier.total.amount.value is not a valid decimal monetary value] expected: FAIL [If amount.value of additionalDisplayItems is not a valid decimal monetary value, then throw a TypeError] expected: FAIL [Modifier data must be JSON-serializable object (an Array in this case)] expected: FAIL [Modifier data must be JSON-serializable object (an Object in this case)] expected: FAIL [Rethrow any exceptions of JSON-serializing modifier.data] expected: FAIL [If there is a selected shipping option, and requestShipping is set, then that option becomes synchronously selected] expected: FAIL [If requestShipping is set, and if there is a multiple selected shipping options, only the last is selected.] expected: FAIL [If there are any duplicate shipping option ids, and shipping is requested, then throw a TypeError] expected: FAIL [Throw when there are duplicate shippingOption ids, even if other values are different] expected: FAIL