[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