tor-browser

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

helper-runtime-client-factory-mock.js (2173B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 /**
      7 * Setup the loader to return the provided mock object instead of the regular
      8 * runtime-client-factory module.
      9 *
     10 * @param {object}
     11 *        mock should implement the following methods:
     12 *        - createClientForRuntime(runtime)
     13 */
     14 function enableRuntimeClientFactoryMock(mock) {
     15  const {
     16    setMockedModule,
     17  } = require("resource://devtools/shared/loader/browser-loader-mocks.js");
     18  setMockedModule(
     19    mock,
     20    "devtools/client/aboutdebugging/src/modules/runtime-client-factory"
     21  );
     22 
     23  // When using a mocked client, we should not attempt to check default
     24  // preferences.
     25  mockRuntimeDefaultPreferences();
     26 }
     27 /* exported enableRuntimeClientFactoryMock */
     28 
     29 const mockRuntimeDefaultPreferences = function () {
     30  const {
     31    removeMockedModule,
     32    setMockedModule,
     33  } = require("resource://devtools/shared/loader/browser-loader-mocks.js");
     34 
     35  const mock = {
     36    setDefaultPreferencesIfNeeded: () => {},
     37    DEFAULT_PREFERENCES: [],
     38  };
     39  setMockedModule(
     40    mock,
     41    "devtools/client/aboutdebugging/src/modules/runtime-default-preferences"
     42  );
     43 
     44  registerCleanupFunction(() => {
     45    removeMockedModule(
     46      "devtools/client/aboutdebugging/src/modules/runtime-default-preferences"
     47    );
     48  });
     49 };
     50 
     51 /**
     52 * Update the loader to clear the mock entry for the runtime-client-factory module.
     53 */
     54 function disableRuntimeClientFactoryMock() {
     55  const {
     56    removeMockedModule,
     57  } = require("resource://devtools/shared/loader/browser-loader-mocks.js");
     58  removeMockedModule(
     59    "devtools/client/aboutdebugging/src/modules/runtime-client-factory"
     60  );
     61 }
     62 /* exported disableRuntimeClientFactoryMock */
     63 
     64 /**
     65 * Creates a simple mock version for runtime-client-factory, implementing all the expected
     66 * methods with empty placeholders.
     67 */
     68 function createRuntimeClientFactoryMock() {
     69  const RuntimeClientFactoryMock = {};
     70  RuntimeClientFactoryMock.createClientForRuntime = function () {
     71    console.log("MOCKED METHOD createClientForRuntime");
     72  };
     73 
     74  return RuntimeClientFactoryMock;
     75 }
     76 /* exported createRuntimeClientFactoryMock */