| <!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> |