diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/payment-request/show-consume-activation.https.html | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/payment-request/show-consume-activation.https.html')
-rw-r--r-- | testing/web-platform/tests/payment-request/show-consume-activation.https.html | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/web-platform/tests/payment-request/show-consume-activation.https.html b/testing/web-platform/tests/payment-request/show-consume-activation.https.html new file mode 100644 index 0000000000..044fca5d40 --- /dev/null +++ b/testing/web-platform/tests/payment-request/show-consume-activation.https.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8" /> + <title>show() consumes user activation</title> + <link rel="help" href="https://w3c.github.io/payment-request/#show-method" /> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + </head> + <body> + <script> + const defaultMethods = [ + { supportedMethods: "basic-card" }, + { + supportedMethods: "https://apple.com/apple-pay", + data: { + version: 3, + merchantIdentifier: "merchant.com.example", + countryCode: "US", + merchantCapabilities: ["supports3DS"], + supportedNetworks: ["visa"], + }, + }, + ]; + + const defaultDetails = { + total: { + label: "Total", + amount: { + currency: "USD", + value: "1.00", + }, + }, + }; + promise_test(async t => { + const pr = new PaymentRequest(defaultMethods, defaultDetails); + + // Not activated by user gesture, so not allowed! + await promise_rejects_dom(t, "SecurityError", pr.show()); + + await test_driver.bless("Calls show() method"); + + // Activated by user gesture, so all good. + const showPromise = pr.show(); + + // The activation has been consumed, so calling show() again would require + // a new gesture. + await promise_rejects_dom(t, "InvalidStateError", pr.show()); + + // Abort the payment request + pr.abort() + await promise_rejects_dom(t, "AbortError", showPromise); + }, "Calling share consumes user activation"); + </script> + </body> +</html> |