| <!DOCTYPE html> |
| <meta charset="utf-8" /> |
| <title>Reporting: Generate Test Report</title> |
| <link rel="author" title="Paul Meyer" href="paulmeyer@chromium.org"> |
| <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> |
| // Test that the "generate_test_report" API works. |
| 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.html")); |
| assert_equals(reports[0].body.message, "Test message."); |
| // Ensure that the toJSON() call of the report are valid. |
| const reportJSON = reports[0].toJSON(); |
| assert_equals(reports[0].type, reportJSON.type); |
| assert_equals(reports[0].url, reportJSON.url); |
| assert_equals(reports[0].body.message, reportJSON.body.message); |
| // Ensure that report can be successfully JSON serialized. |
| assert_equals(JSON.stringify(reports[0]), JSON.stringify(reportJSON)); |
| }); |
| 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"); |
| </script> |