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 */