All Results

Test files: 34; Total subtests: 259

Test Files

  1. /payment-request/PaymentItem/type_member.https.html
  2. /payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html
  3. /payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html
  4. /payment-request/PaymentRequestUpdateEvent/constructor.http.html
  5. /payment-request/PaymentRequestUpdateEvent/constructor.https.html
  6. /payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
  7. /payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html
  8. /payment-request/allowpaymentrequest/active-document-same-origin.https.html
  9. /payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.html
  10. /payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https.html
  11. /payment-request/allowpaymentrequest/basic.https.html
  12. /payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.html
  13. /payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https.html
  14. /payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html
  15. /payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
  16. /payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html
  17. /payment-request/historical.https.html
  18. /payment-request/idlharness.https.window.html
  19. /payment-request/onpaymentmenthodchange-attribute.https.html
  20. /payment-request/payment-request-abort-method.https.html
  21. /payment-request/payment-request-constructor-crash.https.html
  22. /payment-request/payment-request-constructor.https.html
  23. /payment-request/payment-request-ctor-currency-code-checks.https.html
  24. /payment-request/payment-request-ctor-pmi-handling.https.html
  25. /payment-request/payment-request-id-attribute.https.html
  26. /payment-request/payment-request-insecure.http.html
  27. /payment-request/payment-request-not-exposed.https.worker.html
  28. /payment-request/payment-request-onshippingaddresschange-attribute.https.html
  29. /payment-request/payment-request-onshippingoptionchange-attribute.https.html
  30. /payment-request/payment-request-shippingAddress-attribute.https.html
  31. /payment-request/payment-request-shippingOption-attribute.https.html
  32. /payment-request/payment-request-shippingType-attribute.https.html
  33. /payment-request/payment-request-show-method.https.html
  34. /payment-request/rejects_if_not_active.https.html
TestCH69ED42FF63SF11SI72SI74
/payment-request/PaymentItem/type_member.https.htmlOKOKOKOKOKOK
Smoke testPASSPASSPASSPASSPASSPASS
An invalid enum value for PaymentDetailsInit.total's type throws TypeErrorFAILFAILPASSFAILFAILFAIL
Invalid enum value for PaymentItem.type member throws a TypeErrorFAILFAILPASSFAILFAILFAIL
Valid enum values for PaymentItem.type member does not throwPASSPASSPASSPASSPASSPASS
/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.htmlOKOKOKOKOKOK
Must have a methodDetails IDL attribute, which is initialized with to the methodName dictionary valueFAILFAILPASSFAILFAILFAIL
/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.htmlOKOKOKOKOKOK
Must have a methodName IDL attribute, which is initialized with to the methodName dictionary valueFAILFAILPASSFAILFAILFAIL
/payment-request/PaymentRequestUpdateEvent/constructor.http.htmlOKOKOKOKOKOK
PaymentRequestUpdateEvent constructor must not be exposed in insecure contextPASSPASSPASSPASSPASSPASS
/payment-request/PaymentRequestUpdateEvent/constructor.https.htmlOKOKOKOKOKOK
PaymentRequestUpdateEvent can be constructed in secure-contextPASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent can be constructed with an EventInitDict, even if not trustedPASSFAILPASSPASSFAILFAIL
PaymentRequestUpdateEvent can be dispatched, even if not trustedPASSPASSPASSPASSPASSPASS
/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.htmlOKOKOKOKOKOK
Let target be the request which is dispatching the event.PASSPASSPASSPASSPASSPASS
Calling .updateWith() with an undispatched untrusted event throws "InvalidStateError"PASSPASSPASSPASSFAILFAIL
Calling .updateWith() with a dispatched, untrusted event, throws "InvalidStateError"PASSPASSPASSPASSFAILFAIL
/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.htmlOKOKOKOKOKOK
PaymentRequest <iframe allowpaymentrequest> in non-active document (cross-origin)PASSFAILPASSPASSPASSPASS
/payment-request/allowpaymentrequest/active-document-same-origin.https.htmlOKOKOKOKOKOK
PaymentRequest <iframe allowpaymentrequest> in non-active document (same-origin)PASSFAILPASSPASSPASSPASS
/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.htmlOKOKOKOKOKOK
iframePASSPASSPASSFAILPASSPASS
framePASSPASSPASSPASSPASSPASS
objectPASSFAILPASSPASSPASSPASS
embedPASSFAILPASSPASSPASSPASS
/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https.htmlOKOKOKOKOKOK
iframePASSPASSPASSPASSPASSPASS
framePASSPASSPASSPASSFAILFAIL
objectPASSFAILPASSPASSFAILFAIL
embedPASSFAILPASSPASSFAILFAIL
/payment-request/allowpaymentrequest/basic.https.htmlOKOKOKOKOKOK
PaymentRequest <iframe allowpaymentrequest> basicPASSPASSPASSFAILPASSPASS
/payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.htmlOKOKOKOKOKOK
iframePASSPASSPASSPASSPASSPASS
framePASSPASSPASSPASSPASSPASS
objectPASSFAILPASSPASSPASSPASS
embedPASSFAILPASSPASSPASSPASS
/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https.htmlOKOKOKOKOKOK
iframePASSPASSPASSPASSFAILFAIL
framePASSPASSPASSPASSFAILFAIL
objectPASSFAILPASSPASSFAILFAIL
embedPASSFAILPASSPASSFAILFAIL
/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.htmlOKOKOKOKOKOK
PaymentRequest removing allowpaymentrequest after load and then navigatingPASSFAILPASSFAILFAILFAIL
/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.htmlOKOKOKOKOKOK
PaymentRequest setting allowpaymentrequest after document creation, before responseFAILFAILFAILPASSFAILFAIL
/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.htmlOKOKOKOKOKOK
PaymentRequest setting allowpaymentrequest after load and then navigatingPASSFAILPASSFAILFAILFAIL
/payment-request/historical.https.htmlOKERROROKOKOKOK
paymentRequestID in PaymentRequestPASSPASSPASSPASSPASSPASS
paymentRequestID in PaymentResponsePASSPASSPASSPASSPASSPASS
careOf in PaymentAddressPASSPASSPASSPASSPASSPASS
totalAmount in PaymentResponsePASSPASSPASSPASSPASSPASS
paymentRequestId in PaymentRequestPASSPASSPASSPASSPASSPASS
paymentRequestId in PaymentResponsePASSPASSPASSPASSPASSPASS
supportedMethods must not support sequence<DOMString>PASSFAILPASSPASSFAILFAIL
/payment-request/idlharness.https.window.htmlOKOKOKOKOKOK
Setup for Payment Request API IDL tests.PASSPASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface objectPASSFAILPASSPASSPASSPASS
PaymentRequest interface object lengthPASSPASSPASSPASSPASSPASS
PaymentRequest interface object namePASSPASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface prototype objectPASSPASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASSPASS
PaymentRequest interface: operation show([object Object])PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for show([object Object]) on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: operation abort()PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for abort() on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: operation canMakePayment()PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for canMakePayment() on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute idPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for id property on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute shippingAddressPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for shippingAddress property on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute shippingOptionPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for shippingOption property on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute shippingTypePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for shippingType property on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute onshippingaddresschangePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for onshippingaddresschange property on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute onshippingoptionchangePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for onshippingoptionchange property on PaymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest must be primary interface of paymentRequestPASSPASSPASSPASSPASSPASS
Stringification of paymentRequestPASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "show([object Object])" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: calling show([object Object]) on paymentRequest with too few arguments must throw TypeErrorPASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "abort()" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "canMakePayment()" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "id" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "shippingAddress" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "shippingOption" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "shippingType" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "onshippingaddresschange" with the proper typePASSPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "onshippingoptionchange" with the proper typePASSPASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface objectPASSPASSPASSPASSPASSPASS
PaymentAddress interface object lengthPASSPASSPASSPASSPASSPASS
PaymentAddress interface object namePASSPASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface prototype objectPASSPASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASSPASS
PaymentAddress interface: operation toJSON()PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for toJSON() on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute cityPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for city property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute countryPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for country property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute dependentLocalityPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for dependentLocality property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute languageCodePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for languageCode property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute organizationPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for organization property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute phonePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for phone property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute postalCodePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for postalCode property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute recipientPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for recipient property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute regionPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for region property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute regionCodeFAILFAILFAILFAILFAILFAIL
Unscopable handled correctly for regionCode property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute sortingCodePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for sortingCode property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentAddress interface: attribute addressLinePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for addressLine property on PaymentAddressPASSPASSPASSPASSPASSPASS
PaymentResponse interface: existence and properties of interface objectPASSPASSPASSPASSFAILFAIL
PaymentResponse interface object lengthPASSPASSPASSPASSPASSPASS
PaymentResponse interface object namePASSPASSPASSPASSPASSPASS
PaymentResponse interface: existence and properties of interface prototype objectPASSPASSPASSPASSFAILFAIL
PaymentResponse interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASSPASS
PaymentResponse interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASSPASS
PaymentResponse interface: operation toJSON()PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for toJSON() on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute requestIdPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for requestId property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute methodNamePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for methodName property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute detailsPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for details property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute shippingAddressPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for shippingAddress property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute shippingOptionPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for shippingOption property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute payerNamePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for payerName property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute payerEmailPASSPASSPASSPASSPASSPASS
Unscopable handled correctly for payerEmail property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: attribute payerPhonePASSPASSPASSPASSPASSPASS
Unscopable handled correctly for payerPhone property on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentResponse interface: operation complete(PaymentComplete)PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for complete(PaymentComplete) on PaymentResponsePASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface objectPASSFAILPASSPASSPASSPASS
PaymentRequestUpdateEvent interface object lengthPASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface object namePASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype objectPASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: operation updateWith([object Object])PASSPASSPASSPASSPASSPASS
Unscopable handled correctly for updateWith([object Object]) on PaymentRequestUpdateEventPASSPASSPASSPASSPASSPASS
PaymentRequest interface: attribute onpaymentmethodchange----FAILFAIL
Unscopable handled correctly for onpaymentmethodchange property on PaymentRequest----PASSPASS
PaymentRequest interface: paymentRequest must inherit property "onpaymentmethodchange" with the proper type----FAILFAIL
PaymentResponse interface: operation retry(PaymentValidationErrors)----FAILFAIL
Unscopable handled correctly for retry(PaymentValidationErrors) on PaymentResponse----PASSPASS
PaymentResponse interface: attribute onpayerdetailchange----FAILFAIL
Unscopable handled correctly for onpayerdetailchange property on PaymentResponse----PASSPASS
PaymentMethodChangeEvent interface: existence and properties of interface object----FAILFAIL
PaymentMethodChangeEvent interface object length----FAILFAIL
PaymentMethodChangeEvent interface object name----FAILFAIL
PaymentMethodChangeEvent interface: existence and properties of interface prototype object----FAILFAIL
PaymentMethodChangeEvent interface: existence and properties of interface prototype object's "constructor" property----FAILFAIL
PaymentMethodChangeEvent interface: existence and properties of interface prototype object's @@unscopables property----FAILFAIL
PaymentMethodChangeEvent interface: attribute methodName----FAILFAIL
Unscopable handled correctly for methodName property on PaymentMethodChangeEvent----PASSPASS
PaymentMethodChangeEvent interface: attribute methodDetails----FAILFAIL
Unscopable handled correctly for methodDetails property on PaymentMethodChangeEvent----PASSPASS
PaymentMethodChangeEvent must be primary interface of new PaymentMethodChangeEvent("paymentmethodchange")----FAILFAIL
Stringification of new PaymentMethodChangeEvent("paymentmethodchange")----FAILFAIL
PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodName" with the proper type----FAILFAIL
PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodDetails" with the proper type----FAILFAIL
PaymentRequestUpdateEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "updateWith([object Object])" with the proper type----FAILFAIL
PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentMethodChangeEvent("paymentmethodchange") with too few arguments must throw TypeError----FAILFAIL
PaymentRequestUpdateEvent must be primary interface of new PaymentRequestUpdateEvent("paymentrequestupdate")----PASSPASS
Stringification of new PaymentRequestUpdateEvent("paymentrequestupdate")----PASSPASS
PaymentRequestUpdateEvent interface: new PaymentRequestUpdateEvent("paymentrequestupdate") must inherit property "updateWith([object Object])" with the proper type----PASSPASS
PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentRequestUpdateEvent("paymentrequestupdate") with too few arguments must throw TypeError----PASSPASS
/payment-request/onpaymentmenthodchange-attribute.https.htmlOKOKOKOKOKTIMEOUT
Must have a onpaymentmethodchange IDL attributeFAILFAILPASSFAILFAIL-
onpaymentmethodchange attribute is a generic handler for "paymentmethodchange"FAILFAILPASSFAILFAIL-
onpaymentmethodchange attribute is a handler for PaymentMethodChangeEventFAILFAILFAILFAILFAIL-
onpaymentmethodchange attribute and listeners both workFAILFAILPASSFAILFAIL-
/payment-request/payment-request-abort-method.https.htmlOKOKOKOKOKOK
Throws if the promise [[state]] is not "interactive"PASSPASSPASSPASSPASSPASS
Test for PaymentRequest.abort() methodFAILFAILFAILFAILFAILFAIL
Test for PaymentRequest.abort() method 1FAILFAILFAILFAILFAILFAIL
/payment-request/payment-request-constructor-crash.https.htmlOKOKOKOKOKOK
Don't crash if there is an abusive number of payment methods in the methodData sequencePASSPASSPASSPASSPASSPASS
Don't crash if PaymentMethodData.supportedMethods is an abusive lengthPASSPASSPASSPASSPASSPASS
Don't crash if the request id has an abusive lengthPASSPASSPASSPASSPASSPASS
Don't crash if PaymentDetailsInit.total.label is an abusive lengthPASSPASSPASSPASSPASSPASS
Don't crash if total.amount.value is an abusive lengthPASSPASSPASSPASSPASSPASS
Don't crash if details.displayItems has an abusive number of itemsPASSPASSPASSPASSPASSPASS
Don't crash if details.shippingOptions has an abusive number of itemsPASSPASSPASSPASSPASSPASS
Don't crash if PaymentShippingOptions.label is an abusive lengthPASSPASSPASSPASSPASSPASS
Don't crash if the PaymentShippingOptions.amount.value is an abusive lengthPASSPASSPASSPASSPASSPASS
Don't crash if PaymentItem.label is an abusive lengthPASSPASSPASSPASSPASSPASS
/payment-request/payment-request-constructor.https.htmlOKOKOKOKOKOK
If details.id is missing, assign an identifierPASSPASSPASSPASSPASSPASS
If details.id is missing, assign a unique identifierPASSPASSPASSPASSPASSPASS
If the same id is provided, then use itPASSPASSPASSPASSPASSPASS
Use ids even if they are strangePASSPASSPASSPASSPASSPASS
Use provided request IDPASSPASSPASSPASSPASSPASS
If the length of the methodData sequence is zero, then throw a TypeErrorPASSPASSPASSPASSPASSPASS
Modifier method data must be JSON-serializable objectPASSPASSPASSPASSFAILFAIL
Rethrow any exceptions of JSON-serializing paymentMethod.data into a stringPASSPASSPASSPASSPASSPASS
If details.total.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASSPASS
PaymentDetailsBase members can be 0 lengthPASSPASSPASSPASSPASSPASS
If the first character of details.total.amount.value is U+002D HYPHEN-MINUS, then throw a TypeErrorPASSPASSPASSPASSPASSPASS
For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASSPASS
Negative values are allowed for displayItems.amount.value, irrespective of total amountPASSPASSPASSPASSFAILFAIL
it handles high precision currency values without throwingPASSPASSPASSPASSFAILFAIL
For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASSPASS
If there is no selected shipping option, then PaymentRequest.shippingOption remains nullPASSPASSPASSPASSPASSPASS
If there is a selected shipping option, and requestShipping is set, then that option becomes synchronously selectedPASSPASSPASSPASSFAILFAIL
If requestShipping is set, and if there is a multiple selected shipping options, only the last is selected.PASSPASSPASSPASSFAILFAIL
If there are any duplicate shipping option ids, and shipping is requested, then throw a TypeErrorPASSFAILPASSPASSPASSPASS
Throw when there are duplicate shippingOption ids, even if other values are differentPASSFAILPASSPASSPASSPASS
Throw TypeError if modifier.total.amount.value is not a valid decimal monetary valuePASSPASSPASSPASSPASSPASS
If amount.value of additionalDisplayItems is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASSPASS
Modifier data must be JSON-serializable object (an Array in this case)PASSPASSFAILPASSFAILFAIL
Modifier data must be JSON-serializable object (an Object in this case)PASSPASSFAILPASSPASSPASS
Rethrow any exceptions of JSON-serializing modifier.dataPASSPASSPASSPASSPASSPASS
Shipping type should be validPASSPASSPASSPASSPASSPASS
PaymentRequest.shippingAddress must initially be nullPASSPASSPASSPASSPASSPASS
If options.requestShipping is not set, then request.shippingType attribute is null.PASSPASSPASSPASSPASSPASS
If options.requestShipping is true, request.shippingType will be options.shippingType.PASSPASSPASSPASSPASSPASS
/payment-request/payment-request-ctor-currency-code-checks.https.htmlOKOKOKOKOKOK
Check and canonicalize valid details.total.amountPASSFAILPASSPASSFAILFAIL
Check and canonicalize invalid details.total.amount and rethrow any exceptions.PASSFAILPASSPASSFAILFAIL
Check and canonicalize valid details.displayItems amountPASSFAILPASSPASSFAILFAIL
Check and canonicalize invalid details.displayItems amount and rethrow RangeError.PASSFAILPASSPASSFAILFAIL
Check and canonicalize valid details.shippingOptions amount.PASSFAILPASSPASSFAILFAIL
Check and canonicalize invalid details.shippingOptions amount and rethrow RangeError.PASSFAILPASSPASSFAILFAIL
Check and canonicalize valid modifiers[n].total amount.PASSFAILPASSPASSFAILFAIL
Check and canonicalize invalid modifiers[n].total amount and rethrow RangeError.PASSFAILPASSPASSFAILFAIL
Check and canonicalize valid modifiers[n].additionaDisplayItem amount.PASSFAILPASSPASSFAILFAIL
Check and canonicalize invalid modifiers[n].additionaDisplayItem amount and rethrow RangeError.PASSFAILPASSPASSFAILFAIL
/payment-request/payment-request-ctor-pmi-handling.https.htmlOKOKOKOKOKOK
Must support valid standard URL PMIsPASSPASSPASSPASSPASSPASS
Must not throw on syntactically valid standardized payment method identifiers, even if they are not supportedPASSPASSPASSPASSPASSPASS
Must throw on syntactically invalid standardized payment method identifiersPASSFAILPASSPASSFAILFAIL
Constructor MUST throw if given an invalid URL-based payment method identifierPASSFAILPASSPASSFAILFAIL
/payment-request/payment-request-id-attribute.https.htmlOKOKOKOKOKOK
PaymentRequest's id attribute's value can be set via PaymentDetailsInit dictionaryPASSPASSPASSPASSPASSPASS
PaymentRequest's id attribute must be a UUID when PaymentDetailsInit.id is missingPASSPASSFAILPASSPASSPASS
/payment-request/payment-request-insecure.http.htmlOKOKOKOKOKOK
PaymentRequest constructor must not be exposed in insecure contextPASSFAILPASSPASSFAILFAIL
/payment-request/payment-request-not-exposed.https.worker.htmlOKOKOKOKOKOK
PaymentRequest constructor must not be exposed in worker global scopePASSPASSPASSPASSPASSPASS
/payment-request/payment-request-onshippingaddresschange-attribute.https.htmlOKOKOKOKOKOK
Must have a onshippingaddresschange IDL attributePASSPASSPASSPASSPASSPASS
onshippingaddresschange attribute is a generic handler for "shippingaddresschange"PASSPASSPASSPASSPASSPASS
onshippingaddresschange attribute is a handler for PaymentRequestUpdateEventPASSPASSPASSPASSPASSPASS
onshippingaddresschange attribute and listeners both workPASSPASSPASSPASSPASSPASS
/payment-request/payment-request-onshippingoptionchange-attribute.https.htmlOKOKOKOKOKOK
Must have a onshippingoptionchange IDL attributePASSPASSPASSPASSPASSPASS
onshippingoptionchange attribute is a generic handler for "shippingoptionchange"PASSPASSPASSPASSPASSPASS
onshippingoptionchange attribute is a handler for PaymentRequestUpdateEventPASSPASSPASSPASSPASSPASS
onshippingoptionchange attribute and listeners both workPASSPASSPASSPASSPASSPASS
/payment-request/payment-request-shippingAddress-attribute.https.htmlOKOKOKOKOKOK
Must have a .shippingAddress IDL attribute.PASSPASSPASSPASSPASSPASS
.shippingAddress attribute must default to null.PASSPASSPASSPASSPASSPASS
/payment-request/payment-request-shippingOption-attribute.https.htmlOKOKOKOKOKOK
Must have a .shippingOption IDL attribute.PASSPASSPASSPASSPASSPASS
.shippingOption attribute must default to null.PASSPASSPASSPASSPASSPASS
If there is a single shipping option, but selected is false, then .shippingOption must be null.PASSPASSPASSPASSPASSPASS
If there are multiple shipping options all with `selected` set to false, then .shippingOption is null.PASSPASSPASSPASSPASSPASS
Given multiple shipping options, it must use the selected shipping option for .shippingOption value.PASSPASSPASSPASSPASSPASS
If there are multiple of the shipping options with selected true, then .shippingOption is the last selected shipping option in order.PASSPASSPASSPASSPASSPASS
/payment-request/payment-request-shippingType-attribute.https.htmlOKOKOKOKOKOK
Must have a shippingType IDL attributePASSPASSPASSPASSFAILFAIL
If options.requestShipping is false, then request.shippingType attribute is null.PASSPASSPASSPASSFAILFAIL
If options.requestShipping is true, request.shippingType will be options.shippingType.PASSPASSPASSPASSFAILFAIL
/payment-request/payment-request-show-method.https.htmlTIMEOUTTIMEOUTOKOKTIMEOUTOK
Calling show() without being triggered by user interaction throwsTIMEOUTTIMEOUTPASSPASSTIMEOUTFAIL
/payment-request/rejects_if_not_active.https.htmlTIMEOUTOKTIMEOUTERROROKOK
PaymentRequest.show() aborts if the document is not activeFAILFAILTIMEOUTFAILFAILFAIL
PaymentRequest.show() aborts if the document is active, but not fully activeFAILFAILNOTRUNFAILFAILFAIL
If a payment request is showing, but its document is navigated away (so no longer fully active), the payment request aborts.TIMEOUTFAILNOTRUNFAILPASSPASS