diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/payment-request | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/payment-request')
3 files changed, 145 insertions, 0 deletions
diff --git a/testing/web-platform/tests/payment-request/OWNERS b/testing/web-platform/tests/payment-request/OWNERS new file mode 100644 index 000000000..35ae0f6c0 --- /dev/null +++ b/testing/web-platform/tests/payment-request/OWNERS @@ -0,0 +1 @@ +@halindrome diff --git a/testing/web-platform/tests/payment-request/interfaces.https.html b/testing/web-platform/tests/payment-request/interfaces.https.html new file mode 100644 index 000000000..2d0e29ec1 --- /dev/null +++ b/testing/web-platform/tests/payment-request/interfaces.https.html @@ -0,0 +1,126 @@ +<!doctype html> +<meta charset=utf-8> +<title>Payment Request interface IDL tests</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/resources/WebIDLParser.js></script> +<script src=/resources/idlharness.js></script> +<script type=text/plain class=untested> +interface EventHandler {}; +interface Event {}; +interface EventInit {}; +interface EventTarget {}; +</script> +<script type=text/plain> +[Constructor(sequence<PaymentMethodData> methodData, PaymentDetails details, optional PaymentOptions options), SecureContext] +interface PaymentRequest : EventTarget { + Promise<PaymentResponse> show(); + Promise<void> abort(); + + readonly attribute PaymentAddress? shippingAddress; + readonly attribute DOMString? shippingOption; + + // Supports "shippingaddresschange" event + attribute EventHandler onshippingaddresschange; + + // Supports "shippingoptionchange" event + attribute EventHandler onshippingoptionchange; +}; + +dictionary PaymentMethodData { + required sequence<DOMString> supportedMethods; + object data; +}; + +dictionary PaymentCurrencyAmount { + required DOMString currency; + required DOMString value; +}; + +dictionary PaymentDetails { + PaymentItem total; + sequence<PaymentItem> displayItems; + sequence<PaymentShippingOption> shippingOptions; + sequence<PaymentDetailsModifier> modifiers; +}; + +dictionary PaymentDetailsModifier { + required sequence<DOMString> supportedMethods; + PaymentItem total; + sequence<PaymentItem> additionalDisplayItems; +}; + +dictionary PaymentOptions { + boolean requestPayerEmail = false; + boolean requestPayerPhone = false; + boolean requestShipping = false; +}; + +dictionary PaymentItem { + required DOMString label; + required PaymentCurrencyAmount amount; +}; + +interface PaymentAddress { + readonly attribute DOMString country; + readonly attribute FrozenArray<DOMString> addressLine; + readonly attribute DOMString region; + readonly attribute DOMString city; + readonly attribute DOMString dependentLocality; + readonly attribute DOMString postalCode; + readonly attribute DOMString sortingCode; + readonly attribute DOMString languageCode; + readonly attribute DOMString organization; + readonly attribute DOMString recipient; + readonly attribute DOMString careOf; + readonly attribute DOMString phone; +}; + +dictionary PaymentShippingOption { + required DOMString id; + required DOMString label; + required PaymentCurrencyAmount amount; + boolean selected = false; +}; + +enum PaymentComplete { + "success", + "fail", + "" +}; + +interface PaymentResponse { + readonly attribute DOMString methodName; + readonly attribute object details; + readonly attribute PaymentAddress? shippingAddress; + readonly attribute DOMString? shippingOption; + readonly attribute DOMString? payerEmail; + readonly attribute DOMString? payerPhone; + + Promise<void> complete(optional PaymentComplete result = ""); +}; + +[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict)] +interface PaymentRequestUpdateEvent : Event { + void updateWith(Promise<PaymentDetails> d); +}; + +dictionary PaymentRequestUpdateEventInit : EventInit { +}; +</script> + +<script> +"use strict"; +var idlArray = new IdlArray(); +[].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) { + if (node.className == "untested") { + idlArray.add_untested_idls(node.textContent); + } else { + idlArray.add_idls(node.textContent); + } +}); +idlArray.add_objects({ + PaymentRequest: ["new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}})"] +}); +idlArray.test(); +</script> diff --git a/testing/web-platform/tests/payment-request/payment-request-in-iframe.html b/testing/web-platform/tests/payment-request/payment-request-in-iframe.html new file mode 100644 index 000000000..9ca9f4b84 --- /dev/null +++ b/testing/web-platform/tests/payment-request/payment-request-in-iframe.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<!-- Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang). --> +<meta charset="utf-8"> +<title>Test for PaymentRequest in an iframe (see also +https://github.com/w3c/browser-payment-api/issues/2)</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe srcdoc=" +<!DOCTYPE html> +<meta charset='utf-8'> +<script> +window.top.test(function() { + window.top.assert_throws({name: 'SecurityError'}, function() { + new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'label', amount: {currency: 'USD', value: '5.00'}}}); + }, 'If the browsing context of the script calling the constructor is not a top-level browsing context, then throw a SecurityError.'); +}); +</script> +"></iframe> |