browser_reportGeneration.js (1371B)
1 /* Any copyright is dedicated to the Public Domain. 2 https://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 add_task(async function () { 5 await SpecialPowers.pushPrefEnv({ 6 set: [ 7 ["dom.reporting.enabled", true], 8 ["dom.reporting.header.enabled", true], 9 ["dom.reporting.testing.enabled", true], 10 ], 11 }); 12 }); 13 14 add_task(async function () { 15 let o = new ReportingObserver(() => {}); 16 o.observe(); 17 18 await window.TestReportGenerator.generateReport({ 19 message: "test", 20 group: "test", 21 }); 22 23 let r = o.takeRecords(); 24 is(r.length, 1, "Report delivery was observed"); 25 is(r[0].body.message, "test", "Message is correct"); 26 27 await window.TestReportGenerator.generateReport({ message: "test" }); 28 29 r = o.takeRecords(); 30 is(r.length, 1, "Report delivery was observed when no group was provided"); 31 32 await Assert.rejects( 33 window.TestReportGenerator.generateReport(), 34 /TypeError/, 35 "generateReport emits a TypeError when message isn't provided" 36 ); 37 }); 38 39 // test serialization of message as null property 40 add_task(async function () { 41 let o = new ReportingObserver(() => {}); 42 o.observe(); 43 44 await window.TestReportGenerator.generateReport({ 45 message: null, 46 group: "test", 47 }); 48 49 let r = o.takeRecords(); 50 is(r.length, 1, "Report delivery was observed"); 51 is(r[0].body.message, "null", "Message is correct"); 52 });