Pass | Valid payment method data does not throw exceptions. | Asserts runNo asserts ran |
Pass | The timeout field is optional. | Asserts runNo asserts ran |
Fail | Extra payment method not allowed afterward. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
displayName: 'X',
icon: 'https://example.test/icon.png',
},
rpId: 'relying-party.example',
},
}, {supportedMethods: 'https://example.com/pay'}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:54:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:53:1 Asserts runFail | assert_throws_js(function "function RangeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, instrument: { displayName: 'X', icon: 'https://example.test/icon.png', }, rpId: 'relying-party.example', }, }, {supportedMethods: 'https://example.com/pay'}], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:54:3) |
|
Fail | Extra payment method not allowed beforehand. | assert_throws_js: function "() => {
new PaymentRequest([{supportedMethods: 'https://example.com/pay'}, {
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
displayName: 'X',
icon: 'https://example.test/icon.png',
},
rpId: 'relying-party.example',
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:73:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:72:1 Asserts runFail | assert_throws_js(function "function RangeError() { [native code] }", function "() => { new PaymentRequest([{supportedMethods: 'https://example.com/pay'}, { supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, instrument: { displayName: 'X', icon: 'https://example.test/icon.png', }, rpId: 'relying-party.example', }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:73:3) |
|
Fail | The credentialIds field is required. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
// Omitted credentialIds field.
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
displayName: 'X',
icon: 'https://example.test/icon.png',
},
rpId: 'relying-party.example',
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:92:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:91:1 Asserts runFail | assert_throws_js(function "function TypeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { // Omitted credentialIds field. challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, instrument: { displayName: 'X', icon: 'https://example.test/icon.png', }, rpId: 'relying-party.example', }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:92:3) |
|
Fail | The challenge field is required. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
// Omitted challenge field.
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
displayName: 'X',
icon: 'https://example.test/icon.png',
},
rpId: 'relying-party.example',
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:111:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:110:1 Asserts runFail | assert_throws_js(function "function TypeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], // Omitted challenge field. payeeOrigin: window.location.origin, timeout: 60000, instrument: { displayName: 'X', icon: 'https://example.test/icon.png', }, rpId: 'relying-party.example', }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:111:3) |
|
Fail | Instrument field is required. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
rpId: 'relying-party.example',
// Omitted instrument field.
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:130:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:129:1 Asserts runFail | assert_throws_js(function "function TypeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, rpId: 'relying-party.example', // Omitted instrument field. }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:130:3) |
|
Fail | Instrument display name is required. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
// Ommitted instrument display name.
icon: 'https://example.test/icon.png',
},
rpId: 'relying-party.example',
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:146:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:145:1 Asserts runFail | assert_throws_js(function "function TypeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, instrument: { // Ommitted instrument display name. icon: 'https://example.test/icon.png', }, rpId: 'relying-party.example', }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:146:3) |
|
Fail | Instrument icon is required. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
displayName: 'X',
// Ommitted instrument icon.
},
rpId: 'relying-party.example',
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:165:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:164:1 Asserts runFail | assert_throws_js(function "function TypeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, instrument: { displayName: 'X', // Ommitted instrument icon. }, rpId: 'relying-party.example', }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:165:3) |
|
Fail | rpId is required. | assert_throws_js: function "() => {
new PaymentRequest([{
supportedMethods: 'secure-payment-confirmation',
data: {
credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))],
challenge: Uint8Array.from('x', c => c.charCodeAt(0)),
payeeOrigin: window.location.origin,
timeout: 60000,
instrument: {
displayName: 'X',
icon: 'https://example.test/icon.png',
},
// Omitted rpId.
},
}], details);
}" did not throw at Test.<anonymous> (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:184:3)
at Test.step (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:2642:25)
at test (https://xn--n8j6ds53lwwkrqhv28a.wpt.live/resources/testharness.js:633:30)
at https://xn--n8j6ds53lwwkrqhv28a.wpt.live/secure-payment-confirmation/constructor.https.html:183:1 Asserts runFail | assert_throws_js(function "function TypeError() { [native code] }", function "() => { new PaymentRequest([{ supportedMethods: 'secure-payment-confirmation', data: { credentialIds: [Uint8Array.from('x', c => c.charCodeAt(0))], challenge: Uint8Array.from('x', c => c.charCodeAt(0)), payeeOrigin: window.location.origin, timeout: 60000, instrument: { displayName: 'X', icon: 'https://example.test/icon.png', }, // Omitted rpId. }, }], details); }")
at Test.<anonymous> ( /secure-payment-confirmation/constructor.https.html:184:3) |
|