All Results

Test files: 41; Total subtests: 274

Test Files

  1. /payment-request/MerchantValidationEvent/complete-method.https.html
  2. /payment-request/MerchantValidationEvent/constructor.http.html
  3. /payment-request/MerchantValidationEvent/constructor.https.html
  4. /payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html
  5. /payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html
  6. /payment-request/PaymentRequestUpdateEvent/constructor.http.html
  7. /payment-request/PaymentRequestUpdateEvent/constructor.https.html
  8. /payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
  9. /payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html
  10. /payment-request/allowpaymentrequest/active-document-same-origin.https.html
  11. /payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.html
  12. /payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https.html
  13. /payment-request/allowpaymentrequest/basic.https.html
  14. /payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.html
  15. /payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https.html
  16. /payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html
  17. /payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
  18. /payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html
  19. /payment-request/constructor_convert_method_data.https.html
  20. /payment-request/historical.https.html
  21. /payment-request/idlharness.https.window.html
  22. /payment-request/onmerchantvalidation-attribute.https.html
  23. /payment-request/onpaymentmenthodchange-attribute.https.html
  24. /payment-request/payment-request-abort-method.https.html
  25. /payment-request/payment-request-canmakepayment-method-protection.https.html
  26. /payment-request/payment-request-canmakepayment-method.https.html
  27. /payment-request/payment-request-constructor-crash.https.html
  28. /payment-request/payment-request-constructor.https.html
  29. /payment-request/payment-request-ctor-currency-code-checks.https.html
  30. /payment-request/payment-request-ctor-pmi-handling.https.html
  31. /payment-request/payment-request-id-attribute.https.html
  32. /payment-request/payment-request-insecure.http.html
  33. /payment-request/payment-request-not-exposed.https.worker.html
  34. /payment-request/payment-request-onshippingaddresschange-attribute.https.html
  35. /payment-request/payment-request-onshippingoptionchange-attribute.https.html
  36. /payment-request/payment-request-shippingAddress-attribute.https.html
  37. /payment-request/payment-request-shippingOption-attribute.https.html
  38. /payment-request/payment-request-shippingType-attribute.https.html
  39. /payment-request/payment-request-show-method.https.html
  40. /payment-request/payment-response/onpayerdetailchange-attribute.https.html
  41. /payment-request/rejects_if_not_active.https.html
TestCH72ED44FF65SF12SI74
/payment-request/MerchantValidationEvent/complete-method.https.htmlOKOKOKOK-
If event's isTrusted attribute is false, then then throw an InvalidStateError DOMException.FAILFAILPASSPASS-
/payment-request/MerchantValidationEvent/constructor.http.htmlOKOKOKOK-
MerchantValidationEvent constructor must not be exposed in insecure contextPASSPASSPASSPASS-
/payment-request/MerchantValidationEvent/constructor.https.htmlOKOKOKOK-
MerchantValidationEvent can be constructed in secure-context.FAILFAILPASSPASS-
MerchantValidationEvent can be constructed with an EventInitDict, even if not trusted.FAILFAILPASSPASS-
MerchantValidationEvent can be dispatched, even if not trusted.FAILFAILPASSPASS-
Must have a validationURL IDL attribute, which is initialized with to the validationURL dictionary value.FAILFAILPASSPASS-
Must throw TypeError if initialized with an invalid URL.FAILFAILPASSPASS-
Relative validationURLs use the document as the base.FAILFAILPASSPASS-
Must have a methodName IDL attribute, which is initialized with to the methodName dictionary value.FAILFAILPASSPASS-
When no methodName is passed, methodName attribute defaults to the empty stringFAILFAILPASSPASS-
MerchantValidationEvent can be constructed with valid PMIsFAILFAILPASSPASS-
MerchantValidationEvent can't be constructed with invalid PMIsFAILFAILPASSPASS-
/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.htmlOKOKOKOKOK
Must have a methodDetails IDL attribute, which is initialized with to the methodName dictionary valueFAILFAILPASSPASSFAIL
The methodDetails member defaults to nullFAILFAILPASSPASS-
/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.htmlOKOKOKOKOK
Must have a methodName IDL attribute, which is initialized with to the methodName dictionary valueFAILFAILPASSPASSFAIL
When no dictionary is passed, the methodName member defaults to the empty stringFAILFAILPASSPASS-
/payment-request/PaymentRequestUpdateEvent/constructor.http.htmlOKOKOKOKOK
PaymentRequestUpdateEvent constructor must not be exposed in insecure contextPASSPASSPASSPASSPASS
/payment-request/PaymentRequestUpdateEvent/constructor.https.htmlOKOKOKOKOK
PaymentRequestUpdateEvent can be constructed in secure-contextPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent can be constructed with an EventInitDict, even if not trustedPASSFAILPASSPASSFAIL
PaymentRequestUpdateEvent can be dispatched, even if not trustedPASSPASSPASSPASSPASS
/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.htmlOKOKOKOKOK
Let target be the request which is dispatching the event.PASSPASSPASSPASSPASS
Calling .updateWith() with an undispatched untrusted event throws "InvalidStateError"PASSPASSPASSPASSFAIL
Calling .updateWith() with a dispatched, untrusted event, throws "InvalidStateError"PASSPASSPASSPASSFAIL
/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.htmlOKOKOKOKOK
PaymentRequest <iframe allowpaymentrequest> in non-active document (cross-origin)PASSFAILPASSPASSPASS
/payment-request/allowpaymentrequest/active-document-same-origin.https.htmlTIMEOUTOKOKOKOK
PaymentRequest <iframe allowpaymentrequest> in non-active document (same-origin)TIMEOUTFAILPASSPASSPASS
/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.htmlTIMEOUTOKOKOKOK
iframeTIMEOUTPASSPASSFAILPASS
frameTIMEOUTPASSPASSPASSPASS
objectTIMEOUTFAILPASSPASSPASS
embedTIMEOUTFAILPASSPASSPASS
/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https.htmlTIMEOUTOKOKOKOK
iframePASSPASSPASSPASSPASS
frameTIMEOUTPASSPASSPASSFAIL
objectTIMEOUTFAILPASSPASSFAIL
embedTIMEOUTFAILPASSPASSFAIL
/payment-request/allowpaymentrequest/basic.https.htmlOKOKOKOKOK
PaymentRequest <iframe allowpaymentrequest> basicPASSPASSPASSFAILPASS
/payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.htmlOKOKOKOKOK
iframePASSPASSPASSPASSPASS
framePASSPASSPASSPASSPASS
objectPASSFAILPASSPASSPASS
embedPASSFAILPASSPASSPASS
/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https.htmlTIMEOUTOKOKOKOK
iframe-PASSPASSPASSFAIL
frame-PASSPASSPASSFAIL
object-FAILPASSPASSFAIL
embed-FAILPASSPASSFAIL
/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.htmlOKOKOKOKOK
PaymentRequest removing allowpaymentrequest after load and then navigatingFAILFAILFAILFAILFAIL
/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.htmlOKOKOKOKOK
PaymentRequest setting allowpaymentrequest after document creation, before responseFAILFAILFAILFAILFAIL
/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.htmlOKOKOKOKOK
PaymentRequest setting allowpaymentrequest after load and then navigatingFAILFAILFAILFAILFAIL
/payment-request/constructor_convert_method_data.https.htmlOKOK---
Smoke test.PASSPASS---
Tries to convert data member during Payment Request construction, irrespective of PMI.PASSPASS---
Converts PaymentMethodData's data to mandated IDL type during PaymentRequest construction.FAILFAIL---
/payment-request/historical.https.htmlOKERROROKOKOK
paymentRequestID in PaymentRequestPASSPASSPASSPASSPASS
paymentRequestID in PaymentResponsePASSPASSPASSPASSPASS
careOf in PaymentAddressPASSPASSPASSPASSPASS
totalAmount in PaymentResponsePASSPASSPASSPASSPASS
paymentRequestId in PaymentRequestPASSPASSPASSPASSPASS
paymentRequestId in PaymentResponsePASSPASSPASSPASSPASS
languageCode in PaymentAddressFAILFAIL---
supportedMethods must not support sequence<DOMString>PASSFAILPASSPASSFAIL
/payment-request/idlharness.https.window.htmlOKOKOKOKOK
idl_test setupPASSPASSPASSPASS-
PaymentRequest interface: existence and properties of interface objectPASSFAILPASSPASSPASS
PaymentRequest interface object lengthPASSPASSPASSPASSPASS
PaymentRequest interface object namePASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface prototype objectPASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASS
PaymentRequest interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASS
PaymentRequest interface: operation show([object Object])PASSPASSPASSPASSPASS
PaymentRequest interface: operation abort()PASSPASSPASSPASSPASS
PaymentRequest interface: operation canMakePayment()PASSPASSPASSPASSPASS
PaymentRequest interface: attribute idPASSFAILPASSPASSPASS
PaymentRequest interface: attribute shippingAddressPASSFAILPASSPASSPASS
PaymentRequest interface: attribute shippingOptionPASSFAILPASSPASSPASS
PaymentRequest interface: attribute shippingTypePASSFAILPASSPASSPASS
PaymentRequest interface: attribute onmerchantvalidationFAILFAILPASSPASS-
PaymentRequest interface: attribute onshippingaddresschangePASSFAILPASSPASSPASS
PaymentRequest interface: attribute onshippingoptionchangePASSFAILPASSPASSPASS
PaymentRequest interface: attribute onpaymentmethodchangeFAILFAILPASSPASSFAIL
PaymentRequest must be primary interface of paymentRequestPASSPASSPASSPASSPASS
Stringification of paymentRequestPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "show([object Object])" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: calling show([object Object]) on paymentRequest with too few arguments must throw TypeErrorPASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "abort()" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "canMakePayment()" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "id" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "shippingAddress" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "shippingOption" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "shippingType" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "onmerchantvalidation" with the proper typeFAILFAILPASSPASS-
PaymentRequest interface: paymentRequest must inherit property "onshippingaddresschange" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "onshippingoptionchange" with the proper typePASSPASSPASSPASSPASS
PaymentRequest interface: paymentRequest must inherit property "onpaymentmethodchange" with the proper typeFAILFAILPASSPASSFAIL
PaymentAddress interface: existence and properties of interface objectPASSPASSPASSPASSPASS
PaymentAddress interface object lengthPASSPASSPASSPASSPASS
PaymentAddress interface object namePASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface prototype objectPASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASS
PaymentAddress interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASS
PaymentAddress interface: operation toJSON()PASSPASSPASSPASSPASS
PaymentAddress interface: attribute cityPASSFAILPASSPASSPASS
PaymentAddress interface: attribute countryPASSFAILPASSPASSPASS
PaymentAddress interface: attribute dependentLocalityPASSFAILPASSPASSPASS
PaymentAddress interface: attribute organizationPASSFAILPASSPASSPASS
PaymentAddress interface: attribute phonePASSFAILPASSPASSPASS
PaymentAddress interface: attribute postalCodePASSFAILPASSPASSPASS
PaymentAddress interface: attribute recipientPASSFAILPASSPASSPASS
PaymentAddress interface: attribute regionPASSFAILPASSPASSPASS
PaymentAddress interface: attribute regionCodeFAILFAILPASSFAILFAIL
PaymentAddress interface: attribute sortingCodePASSFAILPASSPASSPASS
PaymentAddress interface: attribute addressLinePASSFAILPASSPASSPASS
PaymentResponse interface: existence and properties of interface objectPASSFAILPASSPASSFAIL
PaymentResponse interface object lengthPASSPASSPASSPASSPASS
PaymentResponse interface object namePASSPASSPASSPASSPASS
PaymentResponse interface: existence and properties of interface prototype objectPASSFAILPASSPASSFAIL
PaymentResponse interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASS
PaymentResponse interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASS
PaymentResponse interface: operation toJSON()PASSPASSPASSPASSPASS
PaymentResponse interface: attribute requestIdPASSFAILPASSPASSPASS
PaymentResponse interface: attribute methodNamePASSFAILPASSPASSPASS
PaymentResponse interface: attribute detailsPASSFAILPASSPASSPASS
PaymentResponse interface: attribute shippingAddressPASSFAILPASSPASSPASS
PaymentResponse interface: attribute shippingOptionPASSFAILPASSPASSPASS
PaymentResponse interface: attribute payerNamePASSFAILPASSPASSPASS
PaymentResponse interface: attribute payerEmailPASSFAILPASSPASSPASS
PaymentResponse interface: attribute payerPhonePASSFAILPASSPASSPASS
PaymentResponse interface: operation complete(PaymentComplete)PASSPASSPASSPASSPASS
PaymentResponse interface: operation retry(PaymentValidationErrors)FAILFAILPASSFAILFAIL
PaymentResponse interface: attribute onpayerdetailchangeFAILFAILPASSPASSFAIL
MerchantValidationEvent interface: existence and properties of interface objectFAILFAILPASSPASS-
MerchantValidationEvent interface object lengthFAILFAILPASSPASS-
MerchantValidationEvent interface object nameFAILFAILPASSPASS-
MerchantValidationEvent interface: existence and properties of interface prototype objectFAILFAILPASSPASS-
MerchantValidationEvent interface: existence and properties of interface prototype object's "constructor" propertyFAILFAILPASSPASS-
MerchantValidationEvent interface: existence and properties of interface prototype object's @@unscopables propertyFAILFAILPASSPASS-
MerchantValidationEvent interface: attribute methodNameFAILFAILPASSPASS-
MerchantValidationEvent interface: attribute validationURLFAILFAILPASSPASS-
MerchantValidationEvent interface: operation complete([object Object])FAILFAILPASSPASS-
MerchantValidationEvent must be primary interface of new MerchantValidationEvent("merchantvalidation")FAILFAILPASSPASS-
Stringification of new MerchantValidationEvent("merchantvalidation")FAILFAILPASSPASS-
MerchantValidationEvent interface: new MerchantValidationEvent("merchantvalidation") must inherit property "methodName" with the proper typeFAILFAILPASSPASS-
MerchantValidationEvent interface: new MerchantValidationEvent("merchantvalidation") must inherit property "validationURL" with the proper typeFAILFAILPASSPASS-
MerchantValidationEvent interface: new MerchantValidationEvent("merchantvalidation") must inherit property "complete([object Object])" with the proper typeFAILFAILPASSPASS-
MerchantValidationEvent interface: calling complete([object Object]) on new MerchantValidationEvent("merchantvalidation") with too few arguments must throw TypeErrorFAILFAILPASSPASS-
PaymentMethodChangeEvent interface: existence and properties of interface objectFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface object lengthFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface object nameFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: existence and properties of interface prototype objectFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: existence and properties of interface prototype object's "constructor" propertyFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: existence and properties of interface prototype object's @@unscopables propertyFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: attribute methodNameFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: attribute methodDetailsFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent must be primary interface of new PaymentMethodChangeEvent("paymentmethodchange")FAILFAILPASSPASSFAIL
Stringification of new PaymentMethodChangeEvent("paymentmethodchange")FAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodName" with the proper typeFAILFAILPASSPASSFAIL
PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodDetails" with the proper typeFAILFAILPASSPASSFAIL
PaymentRequestUpdateEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "updateWith([object Object])" with the proper typeFAILFAILPASSPASSFAIL
PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentMethodChangeEvent("paymentmethodchange") with too few arguments must throw TypeErrorFAILFAILPASSPASSFAIL
PaymentRequestUpdateEvent interface: existence and properties of interface objectPASSFAILPASSPASSPASS
PaymentRequestUpdateEvent interface object lengthPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface object namePASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype objectPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's "constructor" propertyPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: operation updateWith([object Object])PASSPASSPASSPASSPASS
PaymentRequestUpdateEvent must be primary interface of new PaymentRequestUpdateEvent("paymentrequestupdate")PASSPASSPASSPASSPASS
Stringification of new PaymentRequestUpdateEvent("paymentrequestupdate")PASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: new PaymentRequestUpdateEvent("paymentrequestupdate") must inherit property "updateWith([object Object])" with the proper typePASSPASSPASSPASSPASS
PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentRequestUpdateEvent("paymentrequestupdate") with too few arguments must throw TypeErrorPASSPASSPASSPASSPASS
/payment-request/onmerchantvalidation-attribute.https.htmlOKOKOKOK-
Must have a onmerchantvalidation IDL attributeFAILFAILPASSPASS-
onmerchantvalidation attribute is a generic handler for "merchantvalidation"FAILFAILPASSPASS-
onmerchantvalidation attribute is a handler for MerchantValidationEventFAILFAILPASSPASS-
onmerchantvalidation attribute and listeners both workFAILFAILPASSPASS-
/payment-request/onpaymentmenthodchange-attribute.https.htmlOKOKOKOKTIMEOUT
Must have a onpaymentmethodchange IDL attributeFAILFAILPASSPASS-
onpaymentmethodchange attribute is a generic handler for "paymentmethodchange"FAILFAILPASSPASS-
onpaymentmethodchange attribute is a handler for PaymentMethodChangeEventFAILFAILPASSPASS-
onpaymentmethodchange attribute and listeners both workFAILFAILPASSPASS-
/payment-request/payment-request-abort-method.https.htmlOKOKOKOKOK
Throws if the promise [[state]] is not "interactive"PASSPASSPASSPASSPASS
The same request cannot be shown multiple times.FAILFAIL---
Aborting a request before it is shown doesn't prevent it from being shown later.FAILFAIL---
Calling abort() multiple times is always a new object.PASSPASSPASSPASS-
Test for PaymentRequest.abort() method--FAILFAILFAIL
Test for PaymentRequest.abort() method 1--FAILFAILFAIL
/payment-request/payment-request-canmakepayment-method-protection.https.htmlOKTIMEOUT---
/payment-request/payment-request-canmakepayment-method.https.htmlERROROKOKOK-
If payment method identifier are supported, resolve promise with true.FAILPASS---
If request.[[state]] is "interactive", then return a promise rejected with an "InvalidStateError" DOMException.FAILFAILFAILFAIL-
If request.[[state]] is "closed", then return a promise rejected with an "InvalidStateError" DOMException.FAILFAILFAILFAIL-
If request.[[state]] is "created", then return a promise that resolves to true for known method.PASSPASSPASSFAIL-
All methods are unsupportedFAILPASS---
Mix of supported and unsupported methods, at least one method is supported.FAILPASS---
If payment method identifier and serialized parts are supported, resolve promise with true.--PASSFAIL-
If payment method identifier is unknown, resolve promise with false.--PASSPASS-
Optionally, at the user agent's discretion, return a promise rejected with a "NotAllowedError" DOMException.--PASSPASS-
Calling canMakePayment() multiple times is always a new object.--PASSPASS-
/payment-request/payment-request-constructor-crash.https.htmlOKOKOKOKOK
Don't crash if there is an abusive number of payment methods in the methodData sequencePASSPASSPASSPASSPASS
Don't crash if PaymentMethodData.supportedMethods is an abusive lengthPASSPASSPASSPASSPASS
Don't crash if the request id has an abusive lengthPASSPASSPASSPASSPASS
Don't crash if PaymentDetailsInit.total.label is an abusive lengthPASSPASSPASSPASSPASS
Don't crash if total.amount.value is an abusive lengthPASSPASSPASSPASSPASS
Don't crash if details.displayItems has an abusive number of itemsPASSPASSPASSPASSPASS
Don't crash if details.shippingOptions has an abusive number of itemsPASSPASSPASSPASSPASS
Don't crash if PaymentShippingOptions.label is an abusive lengthPASSPASSPASSPASSPASS
Don't crash if the PaymentShippingOptions.amount.value is an abusive lengthPASSPASSPASSPASSPASS
Don't crash if PaymentItem.label is an abusive lengthPASSPASSPASSPASSPASS
/payment-request/payment-request-constructor.https.htmlOKOKOKOKOK
If details.id is missing, assign an identifierPASSPASSPASSPASSPASS
If details.id is missing, assign a unique identifierPASSPASSPASSPASSPASS
If the same id is provided, then use itPASSPASSPASSPASSPASS
Use ids even if they are strangePASSPASSPASSPASSPASS
Use provided request IDPASSPASSPASSPASSPASS
If the length of the methodData sequence is zero, then throw a TypeErrorPASSPASSPASSPASSPASS
Modifier method data must be JSON-serializable objectPASSPASSPASSPASSFAIL
Rethrow any exceptions of JSON-serializing paymentMethod.data into a stringPASSPASSPASSPASSPASS
If details.total.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASS
PaymentDetailsBase members can be 0 lengthPASSPASSPASSPASSPASS
If the first character of details.total.amount.value is U+002D HYPHEN-MINUS, then throw a TypeErrorPASSPASSPASSPASSPASS
For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASS
Negative values are allowed for displayItems.amount.value, irrespective of total amountPASSPASSPASSPASSFAIL
it handles high precision currency values without throwingPASSPASSPASSPASSFAIL
For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASS
If there is no selected shipping option, then PaymentRequest.shippingOption remains nullPASSPASSPASSPASSPASS
If there is a selected shipping option, and requestShipping is set, then that option becomes synchronously selectedPASSPASSPASSPASSFAIL
If requestShipping is set, and if there is a multiple selected shipping options, only the last is selected.PASSPASSPASSPASSFAIL
If there are any duplicate shipping option ids, and shipping is requested, then throw a TypeErrorPASSPASSPASSPASSPASS
Throw when there are duplicate shippingOption ids, even if other values are differentPASSPASSPASSPASSPASS
Throw TypeError if modifier.total.amount.value is not a valid decimal monetary valuePASSPASSPASSPASSPASS
If amount.value of additionalDisplayItems is not a valid decimal monetary value, then throw a TypeErrorPASSPASSPASSPASSPASS
Modifier data must be JSON-serializable object (an Array in this case)PASSPASSPASSPASSFAIL
Modifier data must be JSON-serializable object (an Object in this case)PASSPASSPASSPASSPASS
Rethrow any exceptions of JSON-serializing modifier.dataPASSPASSPASSPASSPASS
Shipping type should be validPASSPASSPASSPASSPASS
PaymentRequest.shippingAddress must initially be nullPASSPASSPASSPASSPASS
If options.requestShipping is not set, then request.shippingType attribute is null.PASSPASSPASSPASSPASS
If options.requestShipping is true, request.shippingType will be options.shippingType.PASSPASSPASSPASSPASS
/payment-request/payment-request-ctor-currency-code-checks.https.htmlOKOKOKOKOK
Check and canonicalize valid details.total.amountPASSFAILPASSPASSFAIL
Check and canonicalize invalid details.total.amount and rethrow any exceptions.PASSFAILPASSPASSFAIL
Check and canonicalize valid details.displayItems amountPASSFAILPASSPASSFAIL
Check and canonicalize invalid details.displayItems amount and rethrow RangeError.PASSFAILPASSPASSFAIL
Check and canonicalize valid details.shippingOptions amount.PASSFAILPASSPASSFAIL
Check and canonicalize invalid details.shippingOptions amount and rethrow RangeError.PASSFAILPASSPASSFAIL
Check and canonicalize valid modifiers[n].total amount.PASSFAILPASSPASSFAIL
Check and canonicalize invalid modifiers[n].total amount and rethrow RangeError.PASSFAILPASSPASSFAIL
Check and canonicalize valid modifiers[n].additionaDisplayItem amount.PASSFAILPASSPASSFAIL
Check and canonicalize invalid modifiers[n].additionaDisplayItem amount and rethrow RangeError.PASSFAILPASSPASSFAIL
/payment-request/payment-request-ctor-pmi-handling.https.htmlOKOKOKOKOK
Must support valid standard URL PMIsPASSPASSPASSPASSPASS
Must not throw on syntactically valid standardized payment method identifiers, even if they are not supportedPASSPASSPASSPASSPASS
Must throw on syntactically invalid standardized payment method identifiersPASSFAILPASSPASSFAIL
Constructor MUST throw if given an invalid URL-based payment method identifierPASSFAILPASSPASSFAIL
/payment-request/payment-request-id-attribute.https.htmlOKOKOKOKOK
PaymentRequest's id attribute's value can be set via PaymentDetailsInit dictionaryPASSPASSPASSPASSPASS
PaymentRequest's id attribute must be a UUID when PaymentDetailsInit.id is missingPASSPASSPASSPASSPASS
/payment-request/payment-request-insecure.http.htmlOKOKOKOKOK
PaymentRequest constructor must not be exposed in insecure contextPASSFAILPASSPASSFAIL
/payment-request/payment-request-not-exposed.https.worker.htmlOKOKOKOKOK
PaymentRequest constructor must not be exposed in worker global scopePASSPASSPASSPASSPASS
/payment-request/payment-request-onshippingaddresschange-attribute.https.htmlOKOKOKOKOK
Must have a onshippingaddresschange IDL attributePASSPASSPASSPASSPASS
onshippingaddresschange attribute is a generic handler for "shippingaddresschange"PASSPASSPASSPASSPASS
onshippingaddresschange attribute is a handler for PaymentRequestUpdateEventPASSPASSPASSPASSPASS
onshippingaddresschange attribute and listeners both workPASSPASSPASSPASSPASS
/payment-request/payment-request-onshippingoptionchange-attribute.https.htmlOKOKOKOKOK
Must have a onshippingoptionchange IDL attributePASSPASSPASSPASSPASS
onshippingoptionchange attribute is a generic handler for "shippingoptionchange"PASSPASSPASSPASSPASS
onshippingoptionchange attribute is a handler for PaymentRequestUpdateEventPASSPASSPASSPASSPASS
onshippingoptionchange attribute and listeners both workPASSPASSPASSPASSPASS
/payment-request/payment-request-shippingAddress-attribute.https.htmlOKOKOKOKOK
Must have a .shippingAddress IDL attribute.PASSPASSPASSPASSPASS
.shippingAddress attribute must default to null.PASSPASSPASSPASSPASS
/payment-request/payment-request-shippingOption-attribute.https.htmlOKOKOKOKOK
Must have a .shippingOption IDL attribute.PASSPASSPASSPASSPASS
.shippingOption attribute must default to null.PASSPASSPASSPASSPASS
If there is a single shipping option, but selected is false, then .shippingOption must be null.PASSPASSPASSPASSPASS
If there are multiple shipping options all with `selected` set to false, then .shippingOption is null.PASSPASSPASSPASSPASS
Given multiple shipping options, it must use the selected shipping option for .shippingOption value.PASSPASSPASSPASSPASS
If there are multiple of the shipping options with selected true, then .shippingOption is the last selected shipping option in order.PASSPASSPASSPASSPASS
/payment-request/payment-request-shippingType-attribute.https.htmlOKOKOKOKOK
Must have a shippingType IDL attributePASSPASSPASSPASSFAIL
If options.requestShipping is false, then request.shippingType attribute is null.PASSPASSPASSPASSFAIL
If options.requestShipping is true, request.shippingType will be options.shippingType.PASSPASSPASSPASSFAIL
/payment-request/payment-request-show-method.https.htmlTIMEOUTOKOKOKOK
Calling show() without being triggered by user interaction throwsTIMEOUTFAILPASSPASSFAIL
Throws if the promise [[state]] is not 'created'.NOTRUNFAILFAILFAILFAIL
If the user agent's "payment request is showing" boolean is true, then return a promise rejected with an "AbortError" DOMException.NOTRUNFAILFAILFAILFAIL
If payment method consultation produces no supported method of payment, then return a promise rejected with a "NotSupportedError" DOMException.NOTRUNFAILFAILFAILFAIL
Calling show() multiple times is always a new object.NOTRUNFAILFAILFAIL-
/payment-request/payment-response/onpayerdetailchange-attribute.https.htmlOKOKOKOK-
PaymentResponse inherits from EventTargetPASSFAILPASSPASS-
PaymentResponse has an onpayerdetailchange in the prototype chainFAILFAILPASSPASS-
/payment-request/rejects_if_not_active.https.htmlOKOKTIMEOUTERROROK
PaymentRequest.show() aborts if the document is not activeFAILFAILTIMEOUTFAILFAIL
PaymentRequest.show() aborts if the document is active, but not fully activeFAILFAILNOTRUNFAILFAIL
If a payment request is showing, but its document is navigated away (so no longer fully active), the payment request aborts.FAILFAILNOTRUNFAILPASS