| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src='/resources/testharness.js'></script> |
| <script src='/resources/testharnessreport.js'></script> |
| </head> |
| <body> |
| <script> |
| var check_report_format = ([reports, observer]) => { |
| let report = reports[0]; |
| assert_equals(report.type, "feature-policy"); |
| assert_equals(report.body.feature, "payment"); |
| assert_equals(report.body.disposition, "report"); |
| }; |
| |
| promise_test(async t => { |
| const report = new Promise(resolve => { |
| new ReportingObserver((reports, observer) => resolve([reports, observer]), |
| {types: ['feature-policy']}).observe(); |
| }); |
| try { |
| const request = new PaymentRequest( |
| [{ supportedMethods: 'basic-card' }], |
| { total: { label: 'Total', amount: { currency: 'USD', value: 0 }}}, |
| {}); |
| await request.show() |
| check_report_format(await report); |
| } catch (err) { |
| // In case the show call was rejected, the report should be generated |
| // anyway. Wait for it and check the format before failing this test. |
| check_report_format(await report); |
| throw err; |
| } |
| }, "PaymentRequest report only mode"); |
| </script> |
| </body> |
| </html> |