Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!doctype html>
<html>
<head>
<title>Test that the reporting-api generate_test_report feature honors endpoints</title>
<link rel="author" title="Brent Fulgham" href="bfulgham@apple.com">
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src='resources/report-helper.js'></script>
</head>
<body>
<script>
const base_url = `${location.protocol}//${location.host}`;
const endpoint = `${base_url}/reporting/resources/report.py`;
const id = '41534b09-65b2-498a-9fd3-104281ed63ce';
function checkReportIsValid(reports, type, url) {
for (const report of reports) {
if (report.type !== type) continue;
if (report.url.endsWith("reporting/generateTestReport-honors-endpoint.https.sub.html"))
return true;
}
assert_unreached(`A report of ${type} from ${url} was not found.`);
}
async_test(function(test) {
var observer = new ReportingObserver(function(reports) {
test.step(function() {
assert_equals(reports.length, 1);
// Ensure that the contents of the report are valid.
assert_equals(reports[0].type, "test");
assert_true(reports[0].url.endsWith("reporting/generateTestReport-honors-endpoint.https.sub.html"));
assert_equals(reports[0].body.message, "Test message.");
});
test.done();
});
observer.observe();
// This should result in a "test" type report being generated and observed.
test_driver.generate_test_report("Test message.")
.catch(test.unreached_func('generate test report failed'));
}, "Generate Test Report");
promise_test(async t => {
const reports = await pollReports(endpoint, id);
checkReportIsValid(reports, 'test', location.href);
}, "Reporting-Endpoints target received the test report.");
</script>
</body>
</html>