tor-browser

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

browser_webconsole_telemetry_persist_toggle_changed.js (1646B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 // Tests the log persistence telemetry event
      5 
      6 "use strict";
      7 
      8 const { TelemetryTestUtils } = ChromeUtils.importESModule(
      9  "resource://testing-common/TelemetryTestUtils.sys.mjs"
     10 );
     11 
     12 const TEST_URI = `data:text/html,<!DOCTYPE html><meta charset=utf8><script>
     13  console.log("test message");
     14 </script>`;
     15 
     16 add_task(async function () {
     17  // Let's reset the counts.
     18  Services.telemetry.clearEvents();
     19 
     20  // Ensure no events have been logged
     21  TelemetryTestUtils.assertNumberOfEvents(0);
     22 
     23  const hud = await openNewTabAndConsole(TEST_URI);
     24 
     25  // Toggle persistent logs - "true"
     26  await toggleConsoleSetting(
     27    hud,
     28    ".webconsole-console-settings-menu-item-persistentLogs"
     29  );
     30  await waitUntil(
     31    () => hud.ui.wrapper.getStore().getState().ui.persistLogs === true
     32  );
     33 
     34  // Toggle persistent logs - "false"
     35  await toggleConsoleSetting(
     36    hud,
     37    ".webconsole-console-settings-menu-item-persistentLogs"
     38  );
     39  await waitUntil(
     40    () => hud.ui.wrapper.getStore().getState().ui.persistLogs === false
     41  );
     42 
     43  const expectedEvents = [
     44    {
     45      category: "devtools.main",
     46      method: "persist_changed",
     47      object: "webconsole",
     48      value: "true",
     49    },
     50    {
     51      category: "devtools.main",
     52      method: "persist_changed",
     53      object: "webconsole",
     54      value: "false",
     55    },
     56  ];
     57 
     58  const filter = {
     59    category: "devtools.main",
     60    method: "persist_changed",
     61    object: "webconsole",
     62  };
     63 
     64  // Will compare filtered events to event list above
     65  await TelemetryTestUtils.assertEvents(expectedEvents, filter);
     66 });