All Results

Test files: 23; Total subtests: 167

Test Files

  1. /payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html
  2. /payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html
  3. /payment-request/PaymentRequestUpdateEvent/constructor.http.html
  4. /payment-request/PaymentRequestUpdateEvent/constructor.https.html
  5. /payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
  6. /payment-request/constructor_convert_method_data.https.html
  7. /payment-request/historical.https.html
  8. /payment-request/idlharness.https.window.html
  9. /payment-request/onpaymentmethodchange-attribute.https.html
  10. /payment-request/payment-is-showing.https.html
  11. /payment-request/payment-request-abort-method.https.html
  12. /payment-request/payment-request-canmakepayment-method.https.html
  13. /payment-request/payment-request-constructor.https.sub.html
  14. /payment-request/payment-request-ctor-currency-code-checks.https.sub.html
  15. /payment-request/payment-request-ctor-pmi-handling.https.sub.html
  16. /payment-request/payment-request-id-attribute.https.html
  17. /payment-request/payment-request-insecure.http.html
  18. /payment-request/payment-request-not-exposed.https.worker.html
  19. /payment-request/payment-request-show-method.https.html
  20. /payment-request/payment-response/onpayerdetailchange-attribute.https.html
  21. /payment-request/rejects_if_not_active.https.html
  22. /payment-request/show-consume-activation.https.html
  23. /payment-request/show-method-optional-promise-rejects.https.html
Test Show/Hide MessagesCH95SF15
/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.htmlOKOK
Must have a methodDetails IDL attribute, which is initialized with to the methodName dictionary valuePASSPASS
The methodDetails member defaults to nullPASSPASS
/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.htmlOKOK
Must have a methodName IDL attribute, which is initialized with to the methodName dictionary valuePASSPASS
When no dictionary is passed, the methodName member defaults to the empty stringPASSPASS
/payment-request/PaymentRequestUpdateEvent/constructor.http.htmlOKOK
PaymentRequestUpdateEvent constructor must not be exposed in insecure contextPASSPASS
/payment-request/PaymentRequestUpdateEvent/constructor.https.htmlOKOK
PaymentRequestUpdateEvent can be constructed in secure-contextPASSPASS
PaymentRequestUpdateEvent can be constructed with an EventInitDict, even if not trustedPASSPASS
PaymentRequestUpdateEvent can be dispatched, even if not trustedPASSPASS
/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.htmlOKOK
Calling .updateWith() with a dispatched, untrusted event, throws "InvalidStateError"PASSPASS
Calling .updateWith() with an undispatched untrusted event throws "InvalidStateError"PASSPASS
Let target be the request which is dispatching the event.PASSPASS
/payment-request/constructor_convert_method_data.https.htmlOKOK
Converts PaymentMethodData's data to mandated IDL type during PaymentRequest construction.PASSPASS
Smoke test.PASSPASS
Tries to convert data member during Payment Request construction, irrespective of PMI.PASSPASS
/payment-request/historical.https.htmlOKOK
careOf in PaymentAddressPASSPASS
languageCode in PaymentAddressPASSPASS
paymentRequestID in PaymentRequestPASSPASS
paymentRequestID in PaymentResponsePASSPASS
paymentRequestId in PaymentRequestPASSPASS
paymentRequestId in PaymentResponsePASSPASS
supportedMethods must not support sequence<DOMString>PASSPASS
totalAmount in PaymentResponsePASSPASS
/payment-request/idlharness.https.window.htmlOKOK
PaymentAddress interface object lengthPASSPASS
PaymentAddress interface object namePASSPASS
PaymentAddress interface: attribute addressLinePASSPASS
PaymentAddress interface: attribute cityPASSPASS
PaymentAddress interface: attribute countryPASSPASS
PaymentAddress interface: attribute dependentLocalityPASSPASS
PaymentAddress interface: attribute organizationPASSPASS
PaymentAddress interface: attribute phonePASSPASS
PaymentAddress interface: attribute postalCodePASSPASS
PaymentAddress interface: attribute recipientPASSPASS
PaymentAddress interface: attribute regionPASSPASS
PaymentAddress interface: attribute sortingCodePASSPASS
PaymentAddress interface: existence and properties of interface objectPASSPASS
PaymentAddress interface: existence and properties of interface prototype objectPASSPASS
PaymentAddress interface: existence and properties of interface prototype object's "constructor" propertyPASSPASS
PaymentAddress interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASS
PaymentAddress interface: operation toJSON()PASSPASS
PaymentMethodChangeEvent interface object lengthPASSPASS
PaymentMethodChangeEvent interface object namePASSPASS
PaymentMethodChangeEvent interface: attribute methodDetailsPASSPASS
PaymentMethodChangeEvent interface: attribute methodNamePASSPASS
PaymentMethodChangeEvent interface: existence and properties of interface objectPASSPASS
PaymentMethodChangeEvent interface: existence and properties of interface prototype objectPASSPASS
PaymentMethodChangeEvent interface: existence and properties of interface prototype object's "constructor" propertyPASSPASS
PaymentMethodChangeEvent interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASS
PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodDetails" with the proper typePASSPASS
PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodName" with the proper typePASSPASS
PaymentMethodChangeEvent must be primary interface of new PaymentMethodChangeEvent("paymentmethodchange")PASSPASS
PaymentRequest interface object namePASSPASS
PaymentRequest interface: attribute idPASSPASS
PaymentRequest interface: attribute onpaymentmethodchangePASSPASS
PaymentRequest interface: calling show(optional Promise<PaymentDetailsUpdate>) on paymentRequest with too few arguments must throw TypeErrorPASSPASS
PaymentRequest interface: existence and properties of interface objectPASSPASS
PaymentRequest interface: existence and properties of interface prototype objectPASSPASS
PaymentRequest interface: existence and properties of interface prototype object's "constructor" propertyPASSPASS
PaymentRequest interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASS
PaymentRequest interface: operation abort()PASSPASS
PaymentRequest interface: operation canMakePayment()PASSPASS
PaymentRequest interface: operation show(optional Promise<PaymentDetailsUpdate>)PASSPASS
PaymentRequest interface: paymentRequest must inherit property "abort()" with the proper typePASSPASS
PaymentRequest interface: paymentRequest must inherit property "canMakePayment()" with the proper typePASSPASS
PaymentRequest interface: paymentRequest must inherit property "id" with the proper typePASSPASS
PaymentRequest interface: paymentRequest must inherit property "onpaymentmethodchange" with the proper typePASSPASS
PaymentRequest interface: paymentRequest must inherit property "show(optional Promise<PaymentDetailsUpdate>)" with the proper typePASSPASS
PaymentRequest must be primary interface of paymentRequestPASSPASS
PaymentRequestUpdateEvent interface object lengthPASSPASS
PaymentRequestUpdateEvent interface object namePASSPASS
PaymentRequestUpdateEvent interface: calling updateWith(Promise<PaymentDetailsUpdate>) on new PaymentMethodChangeEvent("paymentmethodchange") with too few arguments must throw TypeErrorPASSPASS
PaymentRequestUpdateEvent interface: calling updateWith(Promise<PaymentDetailsUpdate>) on new PaymentRequestUpdateEvent("paymentrequestupdate") with too few arguments must throw TypeErrorPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface objectPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype objectPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's "constructor" propertyPASSPASS
PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASS
PaymentRequestUpdateEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "updateWith(Promise<PaymentDetailsUpdate>)" with the proper typePASSPASS
PaymentRequestUpdateEvent interface: new PaymentRequestUpdateEvent("paymentrequestupdate") must inherit property "updateWith(Promise<PaymentDetailsUpdate>)" with the proper typePASSPASS
PaymentRequestUpdateEvent interface: operation updateWith(Promise<PaymentDetailsUpdate>)PASSPASS
PaymentRequestUpdateEvent must be primary interface of new PaymentRequestUpdateEvent("paymentrequestupdate")PASSPASS
PaymentResponse interface object lengthPASSPASS
PaymentResponse interface object namePASSPASS
PaymentResponse interface: attribute detailsPASSPASS
PaymentResponse interface: attribute methodNamePASSPASS
PaymentResponse interface: attribute requestIdPASSPASS
PaymentResponse interface: existence and properties of interface objectPASSPASS
PaymentResponse interface: existence and properties of interface prototype objectPASSPASS
PaymentResponse interface: existence and properties of interface prototype object's "constructor" propertyPASSPASS
PaymentResponse interface: existence and properties of interface prototype object's @@unscopables propertyPASSPASS
PaymentResponse interface: operation complete(optional PaymentComplete)PASSPASS
PaymentResponse interface: operation retry(optional PaymentValidationErrors)PASSPASS
PaymentResponse interface: operation toJSON()PASSPASS
Stringification of new PaymentMethodChangeEvent("paymentmethodchange")PASSPASS
Stringification of new PaymentRequestUpdateEvent("paymentrequestupdate")PASSPASS
Stringification of paymentRequestPASSPASS
idl_test setupPASSPASS
idl_test validationPASSPASS
/payment-request/onpaymentmethodchange-attribute.https.htmlOKOK
Must have a onpaymentmethodchange IDL attributePASSPASS
onpaymentmethodchange attribute and listeners both workPASSPASS
onpaymentmethodchange attribute is a generic handler for "paymentmethodchange"PASSPASS
onpaymentmethodchange attribute is a handler for PaymentMethodChangeEventPASSPASS
/payment-request/payment-is-showing.https.htmlOKOK
If an iframe shows a payment request, the top-level browsing context can't also show one.PASSPASS
Navigating an iframe as a nested browsing context sets 'payment request is showing boolean' to false.PASSPASS
The top browsing context can only show one payment sheet at a time.PASSPASS
/payment-request/payment-request-abort-method.https.htmlOKOK
Aborting a request before it is shown doesn't prevent it from being shown later.PASSPASS
Calling abort() multiple times is always a new object.PASSPASS
The same request cannot be shown multiple times.PASSPASS
Throws if the promise [[state]] is not "interactive"PASSPASS
/payment-request/payment-request-canmakepayment-method.https.htmlOKOK
All methods are unsupportedPASSPASS
If payment method identifier are supported, resolve promise with true.PASSPASS
If request.[[state]] is "closed", then return a promise rejected with an "InvalidStateError" DOMException.PASSPASS
If request.[[state]] is "created", then return a promise that resolves to true for known method.PASSPASS
If request.[[state]] is "interactive", then return a promise rejected with an "InvalidStateError" DOMException.PASSPASS
Mix of supported and unsupported methods, at least one method is supported.PASSPASS
/payment-request/payment-request-constructor.https.sub.htmlOKOK
For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASS
If amount.value of additionalDisplayItems is not a valid decimal monetary value, then throw a TypeErrorPASSPASS
If details.id is missing, assign a unique identifierPASSPASS
If details.id is missing, assign an identifierPASSPASS
If details.total.amount.value is not a valid decimal monetary value, then throw a TypeErrorPASSPASS
If payment method is duplicate, then throw a RangeErrorPASSPASS
If the first character of details.total.amount.value is U+002D HYPHEN-MINUS, then throw a TypeErrorPASSPASS
If the length of the methodData sequence is zero, then throw a TypeErrorPASSPASS
If the same id is provided, then use itPASSPASS
Modifier data must be JSON-serializable object (an Array in this case)PASSPASS
Modifier data must be JSON-serializable object (an Object in this case)PASSPASS
Modifier method data must be JSON-serializable objectPASSPASS
Negative values are allowed for displayItems.amount.value, irrespective of total amountPASSPASS
PaymentDetailsBase members can be 0 lengthPASSPASS
Rethrow any exceptions of JSON-serializing modifier.dataPASSPASS
Rethrow any exceptions of JSON-serializing paymentMethod.data into a stringPASSPASS
Throw TypeError if modifier.total.amount.value is not a valid decimal monetary valuePASSPASS
Use ids even if they are strangePASSPASS
Use provided request IDPASSPASS
it handles high precision currency values without throwingPASSPASS
/payment-request/payment-request-ctor-currency-code-checks.https.sub.htmlOKOK
Check and canonicalize invalid details.displayItems amount and rethrow RangeError.PASSPASS
Check and canonicalize invalid details.total.amount and rethrow any exceptions.PASSPASS
Check and canonicalize invalid modifiers[n].additionaDisplayItem amount and rethrow RangeError.PASSPASS
Check and canonicalize invalid modifiers[n].total amount and rethrow RangeError.PASSPASS
Check and canonicalize valid details.displayItems amountPASSPASS
Check and canonicalize valid details.total.amountPASSPASS
Check and canonicalize valid modifiers[n].additionaDisplayItem amount.PASSPASS
Check and canonicalize valid modifiers[n].total amount.PASSPASS
/payment-request/payment-request-ctor-pmi-handling.https.sub.htmlOKOK
Constructor MUST throw if given an invalid URL-based payment method identifierPASSPASS
Must not throw on syntactically valid standardized payment method identifiers, even if they are not supportedPASSPASS
Must support valid standard URL PMIsPASSPASS
Must throw on syntactically invalid standardized payment method identifiersPASSPASS
/payment-request/payment-request-id-attribute.https.htmlOKOK
PaymentRequest's id attribute must be a UUID when PaymentDetailsInit.id is missingPASSPASS
PaymentRequest's id attribute's value can be set via PaymentDetailsInit dictionaryPASSPASS
/payment-request/payment-request-insecure.http.htmlOKOK
PaymentRequest constructor must not be exposed in insecure contextPASSPASS
/payment-request/payment-request-not-exposed.https.worker.htmlOKOK
PaymentRequest constructor must not be exposed in worker global scopePASSPASS
/payment-request/payment-request-show-method.https.htmlOKOK
Calling show() multiple times always returns a new promise.PASSPASS
Calling show() without being triggered by user interaction throwsPASSPASS
If payment method consultation produces no supported method of payment, then return a promise rejected with a "NotSupportedError" DOMException.PASSPASS
If the user agent's "payment request is showing" boolean is true, then return a promise rejected with an "AbortError" DOMException.PASSPASS
Throws if the promise [[state]] is not 'created'.PASSPASS
/payment-request/payment-response/onpayerdetailchange-attribute.https.htmlOKOK
PaymentResponse has an onpayerdetailchange in the prototype chainPASSPASS
PaymentResponse inherits from EventTargetPASSPASS
/payment-request/rejects_if_not_active.https.htmlOKOK
PaymentRequest.show() aborts if the document is active, but not fully active.PASSPASS
PaymentRequest.show() aborts if the document is not active.PASSPASS
/payment-request/show-consume-activation.https.htmlOKOK
Calling share consumes user activationPASSPASS
/payment-request/show-method-optional-promise-rejects.https.htmlOKOK
Must throw a RangeError when a modifier display item has an invalid currency.PASSPASS
Must throw a RangeError when a modifier's total item has an invalid currency.PASSPASS
Must throw as Modifier has a recursive dictionary.PASSPASS
Rejection of detailsPromise must abort the update with an 'AbortError' DOMException.PASSPASS
Total in the update is a string, so converting to IDL must abort the update with a TypeError.PASSPASS
Total is recursive, so converting to IDL must abort the update with a TypeError.PASSPASS
Updating with a displayItem with an invalid currency results in RangeError.PASSPASS
Updating with a negative total results in a TypeError.PASSPASS