Bug 1473870 [wpt PR 10912] - PaymentRequest "paymentmethodchanged" event, a=testonly

Automatic update from web-platform-testsPaymentRequest "paymentmethodchanged" event (#10912)

--

wpt-commits: cf687632a6e6aa2f9249412570935af3b2df1309
wpt-pr: 10912
This commit is contained in:
Marcos Cáceres 2018-07-06 16:42:31 +00:00 коммит произвёл James Graham
Родитель dd2e26b975
Коммит c9b903546d
4 изменённых файлов: 137 добавлений и 0 удалений

Просмотреть файл

@ -363311,6 +363311,18 @@
{}
]
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
[
"/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html",
{}
]
],
"payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html": [
[
"/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html",
{}
]
],
"payment-request/PaymentRequestUpdateEvent/constructor.http.html": [
[
"/payment-request/PaymentRequestUpdateEvent/constructor.http.html",
@ -363401,6 +363413,12 @@
{}
]
],
"payment-request/onpaymentmenthodchange-attribute.https.html": [
[
"/payment-request/onpaymentmenthodchange-attribute.https.html",
{}
]
],
"payment-request/payment-request-abort-method.https.html": [
[
"/payment-request/payment-request-abort-method.https.html",
@ -599598,6 +599616,14 @@
"5568f96eac7b0ebf1d91d468bb30b9eaa8b1a9f0",
"testharness"
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
"be817481f663888d8ee58f40906caf0744746d04",
"testharness"
],
"payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html": [
"891494d8f44efe3f741e809bd6e7ac7e07ec786e",
"testharness"
],
"payment-request/PaymentRequestUpdateEvent/constructor.http.html": [
"017f1f1aca43171083833ddb27ff66e39902e85d",
"testharness"
@ -599698,6 +599724,10 @@
"2280f0ef821cdc3093e10c2162d3756f5eeb78de",
"testharness"
],
"payment-request/onpaymentmenthodchange-attribute.https.html": [
"094ea66cbec44422155a4a62fa955ed7f342f96c",
"testharness"
],
"payment-request/payment-request-abort-method.https.html": [
"a9d811dc41487ba7a8e5d55319574364b93362aa",
"testharness"

Просмотреть файл

@ -0,0 +1,21 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test for PaymentMethodChangeEvent.methodDetails attribute</title>
<link rel="help" href="https://w3c.github.io/browser-payment-api/#dom-paymentmethodchangeevent-methoddetails">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";
test(() => {
const methodDetails = {
test: "pass"
}
const event = new PaymentMethodChangeEvent("test", {
methodName: "wpt-test",
methodDetails
});
assert_idl_attribute(event, "methodDetails");
const { test } = event.methodDetails;
assert_equals(test, "pass");
assert_equals(event.methodDetails, methodDetails);
}, "Must have a methodDetails IDL attribute, which is initialized with to the methodName dictionary value");

Просмотреть файл

@ -0,0 +1,16 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test for PaymentMethodChangeEvent.methodName attribute</title>
<link rel="help" href="https://w3c.github.io/browser-payment-api/#dom-paymentmethodchangeevent-src">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";
test(() => {
const event = new PaymentMethodChangeEvent("test", {
methodName: "wpt-test",
});
assert_idl_attribute(event, "methodName");
const { methodName } = event;
assert_equals(methodName, "wpt-test");
}, "Must have a methodName IDL attribute, which is initialized with to the methodName dictionary value");

Просмотреть файл

@ -0,0 +1,70 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test for onpaymentmethodchange attribute</title>
<link rel="help" href="https://w3c.github.io/browser-payment-api/#onpaymentmethodchange-attribute">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";
const testMethod = Object.freeze({ supportedMethods: "not-a-real-method" });
const applePay = Object.freeze({ supportedMethods: "https://apple.com/apple-pay" });
const defaultMethods = Object.freeze([testMethod, applePay]);
const defaultDetails = Object.freeze({
total: {
label: "Total",
amount: {
currency: "USD",
value: "1.00",
},
},
});
test(() => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
assert_idl_attribute(request, "onpaymentmethodchange");
}, "Must have a onpaymentmethodchange IDL attribute");
test(() => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const ev = new Event("paymentmethodchange");
let didHandle = false;
request.onpaymentmethodchange = evt => {
assert_equals(ev, evt, "must be same event");
didHandle = true;
};
request.dispatchEvent(ev);
assert_true(didHandle, "event did not fire");
}, `onpaymentmethodchange attribute is a generic handler for "paymentmethodchange"`);
test(() => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const ev = new PaymentMethodChangeEvent("paymentmethodchange");
let didHandle = false;
request.onpaymentmethodchange = evt => {
assert_equals(ev, evt, "must be same event");
didHandle = true;
};
request.dispatchEvent(ev);
assert_true(didHandle, "event did not fire");
}, `onpaymentmethodchange attribute is a handler for PaymentMethodChangeEvent`);
test(() => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const ev = new PaymentMethodChangeEvent("paymentmethodchange", {
methodName: "test"
});
let didHandle = false;
let didListen = false;
request.onpaymentmethodchange = evt => {
assert_equals(ev, evt, "must be same event");
didHandle = true;
};
request.addEventListener("paymentmethodchange", evt => {
assert_equals(ev, evt, "must be same event");
didListen = true;
});
request.dispatchEvent(ev);
assert_true(didHandle, "onpaymentmethodchange did not receive the event");
assert_true(didListen, "addEventListener did not receive the event");
}, `onpaymentmethodchange attribute and listeners both work`);
</script>