tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 });