diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /devtools/client/aboutdebugging/test/browser/mocks/helper-runtime-client-factory-mock.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/aboutdebugging/test/browser/mocks/helper-runtime-client-factory-mock.js')
-rw-r--r-- | devtools/client/aboutdebugging/test/browser/mocks/helper-runtime-client-factory-mock.js | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/test/browser/mocks/helper-runtime-client-factory-mock.js b/devtools/client/aboutdebugging/test/browser/mocks/helper-runtime-client-factory-mock.js new file mode 100644 index 0000000000..b74c229fcf --- /dev/null +++ b/devtools/client/aboutdebugging/test/browser/mocks/helper-runtime-client-factory-mock.js @@ -0,0 +1,76 @@ +/* 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 (runtime) { + console.log("MOCKED METHOD createClientForRuntime"); + }; + + return RuntimeClientFactoryMock; +} +/* exported createRuntimeClientFactoryMock */ |