Summary

Harness status: OK

Found 10 tests

Details

ResultTest NameMessage
PassValid payment method data does not throw exceptions.
Asserts runNo asserts ran
PassThe timeout field is optional.
Asserts runNo asserts ran
FailExtra 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 run
Fail
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)
FailExtra 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 run
Fail
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)
FailThe 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 run
Fail
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)
FailThe 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 run
Fail
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)
FailInstrument 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 run
Fail
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)
FailInstrument 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 run
Fail
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)
FailInstrument 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 run
Fail
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)
FailrpId 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 run
Fail
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)