tor-browser

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

test_cleanup.js (2256B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 async function checkMessages(expectedResult) {
      7  let onBeforeAddons = false;
      8  let onProfileAfterChange = false;
      9  let onBeforeUIStartup = false;
     10  let onAllWindowsRestored = false;
     11 
     12  let errorListener = {
     13    observe(subject) {
     14      let message = subject.wrappedJSObject.arguments[0];
     15      if (message.includes("_cleanup from onBeforeAddons")) {
     16        onBeforeAddons = true;
     17      } else if (message.includes("_cleanup from onProfileAfterChange")) {
     18        onProfileAfterChange = true;
     19      } else if (message.includes("_cleanup from onBeforeUIStartup")) {
     20        onBeforeUIStartup = true;
     21      } else if (message.includes("_cleanup from onAllWindowsRestored")) {
     22        onAllWindowsRestored = true;
     23      }
     24    },
     25  };
     26 
     27  Services.console.registerListener(errorListener);
     28 
     29  const ConsoleAPIStorage = Cc["@mozilla.org/consoleAPI-storage;1"].getService(
     30    Ci.nsIConsoleAPIStorage
     31  );
     32  ConsoleAPIStorage.addLogEventListener(
     33    errorListener.observe,
     34    Cc["@mozilla.org/systemprincipal;1"].createInstance(Ci.nsIPrincipal)
     35  );
     36 
     37  await setupPolicyEngineWithJson({
     38    policies: {},
     39  });
     40 
     41  equal(
     42    onBeforeAddons,
     43    expectedResult,
     44    "onBeforeAddons should be " + expectedResult
     45  );
     46  equal(
     47    onProfileAfterChange,
     48    expectedResult,
     49    "onProfileAfterChange should be" + expectedResult
     50  );
     51  equal(
     52    onBeforeUIStartup,
     53    expectedResult,
     54    "onBeforeUIStartup should be" + expectedResult
     55  );
     56  equal(
     57    onAllWindowsRestored,
     58    expectedResult,
     59    "onAllWindowsRestored should be" + expectedResult
     60  );
     61 }
     62 
     63 /* If there is no existing policy, cleanup should not run. */
     64 add_task(async function test_cleanup_no_policy() {
     65  await checkMessages(false);
     66 });
     67 
     68 add_task(async function setup_policy() {
     69  await setupPolicyEngineWithJson({
     70    policies: {
     71      BlockAboutConfig: true,
     72    },
     73  });
     74 });
     75 
     76 /* Since there was a policy, cleanup should run. */
     77 add_task(async function test_cleanup_with_policy() {
     78  await checkMessages(true);
     79 });
     80 
     81 /* Since cleanup was already done, cleanup should not run again. */
     82 add_task(async function test_cleanup_after_policy() {
     83  await checkMessages(false);
     84 });