76 lines
2.1 KiB
JavaScript
76 lines
2.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Setup the loader to return the provided mock object instead of the regular
|
|
* runtime-client-factory module.
|
|
*
|
|
* @param {Object}
|
|
* mock should implement the following methods:
|
|
* - createClientForRuntime(runtime)
|
|
*/
|
|
function enableRuntimeClientFactoryMock(mock) {
|
|
const {
|
|
setMockedModule,
|
|
} = require("resource://devtools/shared/loader/browser-loader-mocks.js");
|
|
setMockedModule(
|
|
mock,
|
|
"devtools/client/aboutdebugging/src/modules/runtime-client-factory"
|
|
);
|
|
|
|
// When using a mocked client, we should not attempt to check default
|
|
// preferences.
|
|
mockRuntimeDefaultPreferences();
|
|
}
|
|
/* exported enableRuntimeClientFactoryMock */
|
|
|
|
const mockRuntimeDefaultPreferences = function () {
|
|
const {
|
|
removeMockedModule,
|
|
setMockedModule,
|
|
} = require("resource://devtools/shared/loader/browser-loader-mocks.js");
|
|
|
|
const mock = {
|
|
setDefaultPreferencesIfNeeded: () => {},
|
|
DEFAULT_PREFERENCES: [],
|
|
};
|
|
setMockedModule(
|
|
mock,
|
|
"devtools/client/aboutdebugging/src/modules/runtime-default-preferences"
|
|
);
|
|
|
|
registerCleanupFunction(() => {
|
|
removeMockedModule(
|
|
"devtools/client/aboutdebugging/src/modules/runtime-default-preferences"
|
|
);
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Update the loader to clear the mock entry for the runtime-client-factory module.
|
|
*/
|
|
function disableRuntimeClientFactoryMock() {
|
|
const {
|
|
removeMockedModule,
|
|
} = require("resource://devtools/shared/loader/browser-loader-mocks.js");
|
|
removeMockedModule(
|
|
"devtools/client/aboutdebugging/src/modules/runtime-client-factory"
|
|
);
|
|
}
|
|
/* exported disableRuntimeClientFactoryMock */
|
|
|
|
/**
|
|
* Creates a simple mock version for runtime-client-factory, implementing all the expected
|
|
* methods with empty placeholders.
|
|
*/
|
|
function createRuntimeClientFactoryMock() {
|
|
const RuntimeClientFactoryMock = {};
|
|
RuntimeClientFactoryMock.createClientForRuntime = function () {
|
|
console.log("MOCKED METHOD createClientForRuntime");
|
|
};
|
|
|
|
return RuntimeClientFactoryMock;
|
|
}
|
|
/* exported createRuntimeClientFactoryMock */
|