Bug 1554924 - Simplify Mocha test setup to remove disabled eslint complexity. r=nchevobbe

Differential Revision: https://phabricator.services.mozilla.com/D41458

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Arun Kumar Mohan 2019-08-21 05:42:12 +00:00
Родитель d097494bcc
Коммит b4dfe687ff
1 изменённых файлов: 41 добавлений и 55 удалений

Просмотреть файл

@ -85,64 +85,51 @@ global.ChromeUtils = {
// Point to vendored-in files and mocks when needed. // Point to vendored-in files and mocks when needed.
const requireHacker = require("require-hacker"); const requireHacker = require("require-hacker");
/* eslint-disable complexity */
requireHacker.global_hook("default", (path, module) => { requireHacker.global_hook("default", (path, module) => {
switch (path) { const paths = {
// For Enzyme // For Enzyme
case "react-dom": "react-dom": () => getModule("devtools/client/shared/vendor/react-dom"),
return getModule("devtools/client/shared/vendor/react-dom"); "react-dom/server": () =>
case "react-dom/server": getModule("devtools/client/shared/vendor/react-dom-server"),
return getModule("devtools/client/shared/vendor/react-dom-server"); "react-dom/test-utils": () =>
case "react-dom/test-utils": getModule("devtools/client/shared/vendor/react-dom-test-utils-dev"),
return getModule( "react-redux": () => getModule("devtools/client/shared/vendor/react-redux"),
"devtools/client/shared/vendor/react-dom-test-utils-dev"
);
case "react-redux":
return getModule("devtools/client/shared/vendor/react-redux");
// Use react-dev. This would be handled by browserLoader in Firefox. // Use react-dev. This would be handled by browserLoader in Firefox.
case "react": react: () => getModule("devtools/client/shared/vendor/react-dev"),
case "devtools/client/shared/vendor/react": "devtools/client/shared/vendor/react": () =>
return getModule("devtools/client/shared/vendor/react-dev"); getModule("devtools/client/shared/vendor/react-dev"),
case "chrome": chrome: () => `module.exports = { Cc: {}, Ci: {}, Cu: {} }`,
return `module.exports = { Cc: {}, Ci: {}, Cu: {} }`;
}
// Some modules depend on Chrome APIs which don't work in mocha. When such a module // Some modules depend on Chrome APIs which don't work in mocha. When such a module
// is required, replace it with a mock version. // is required, replace it with a mock version.
switch (path) { "devtools/shared/l10n": () =>
case "devtools/shared/l10n": getModule(
return getModule(
"devtools/client/webconsole/test/node/fixtures/LocalizationHelper" "devtools/client/webconsole/test/node/fixtures/LocalizationHelper"
); ),
case "devtools/shared/plural-form": "devtools/shared/plural-form": () =>
return getModule( getModule("devtools/client/webconsole/test/node/fixtures/PluralForm"),
"devtools/client/webconsole/test/node/fixtures/PluralForm" Services: () => `module.exports = require("devtools-modules/src/Services")`,
); "Services.default": () =>
case "Services": `module.exports = require("devtools-modules/src/Services")`,
case "Services.default": "devtools/shared/client/object-client": () => `() => {}`,
return `module.exports = require("devtools-modules/src/Services")`; "devtools/shared/client/long-string-client": () => `() => {}`,
case "devtools/shared/client/object-client": "devtools/client/shared/components/SmartTrace": () => "{}",
case "devtools/shared/client/long-string-client": "devtools/client/netmonitor/src/components/TabboxPanel": () => "{}",
return `() => {}`; "devtools/client/webconsole/utils/context-menu": () => "{}",
case "devtools/client/shared/components/SmartTrace": "devtools/client/shared/telemetry": () => `module.exports = function() {
case "devtools/client/netmonitor/src/components/TabboxPanel":
case "devtools/client/webconsole/utils/context-menu":
return "{}";
case "devtools/client/shared/telemetry":
return `module.exports = function() {
this.recordEvent = () => {}; this.recordEvent = () => {};
this.getKeyedHistogramById = () => ({add: () => {}}); this.getKeyedHistogramById = () => ({add: () => {}});
}`; }`,
case "devtools/shared/event-emitter": "devtools/shared/event-emitter": () =>
return `module.exports = require("devtools-modules/src/utils/event-emitter")`; `module.exports = require("devtools-modules/src/utils/event-emitter")`,
case "devtools/client/shared/unicode-url": "devtools/client/shared/unicode-url": () =>
return `module.exports = require("devtools-modules/src/unicode-url")`; `module.exports = require("devtools-modules/src/unicode-url")`,
case "devtools/shared/DevToolsUtils": "devtools/shared/DevToolsUtils": () => "{}",
return "{}"; "devtools/server/actors/reflow": () => "{}",
case "devtools/server/actors/reflow": "devtools/shared/layout/utils": () => "{getCurrentZoom = () => {}}",
return "{}"; };
case "devtools/shared/layout/utils":
return "{getCurrentZoom = () => {}}"; if (paths.hasOwnProperty(path)) {
return paths[path]();
} }
// We need to rewrite all the modules assuming the root is mozilla-central and give them // We need to rewrite all the modules assuming the root is mozilla-central and give them
@ -153,7 +140,6 @@ requireHacker.global_hook("default", (path, module) => {
return undefined; return undefined;
}); });
/* eslint-enable complexity */
// Configure enzyme with React 16 adapter. This needs to be done after we set the // Configure enzyme with React 16 adapter. This needs to be done after we set the
// requireHack hook so `require()` calls in Enzyme are handled as well. // requireHack hook so `require()` calls in Enzyme are handled as well.