summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/new-console-output/test/requireHelper.js
blob: ac6205808204edd0ea29b3e2d4919a8633a9a657 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

const requireHacker = require("require-hacker");

requireHacker.global_hook("default", path => {
  switch (path) {
    // For Enzyme
    case "react-dom/server":
      return `const React = require('react-dev'); module.exports = React`;
    case "react-addons-test-utils":
      return `const React = require('react-dev'); module.exports = React.addons.TestUtils`;
    // Use react-dev. This would be handled by browserLoader in Firefox.
    case "react":
    case "devtools/client/shared/vendor/react":
      return `const React = require('react-dev'); module.exports = React`;
    // For Rep's use of AMD
    case "devtools/client/shared/vendor/react.default":
      return `const React = require('react-dev'); module.exports = React`;
  }

  // Some modules depend on Chrome APIs which don't work in mocha. When such a module
  // is required, replace it with a mock version.
  switch (path) {
    case "devtools/client/webconsole/utils":
      return `module.exports = require("devtools/client/webconsole/new-console-output/test/fixtures/WebConsoleUtils")`;
    case "devtools/shared/l10n":
      return `module.exports = require("devtools/client/webconsole/new-console-output/test/fixtures/LocalizationHelper")`;
    case "devtools/shared/plural-form":
      return `module.exports = require("devtools/client/webconsole/new-console-output/test/fixtures/PluralForm")`;
    case "Services":
    case "Services.default":
      return `module.exports = require("devtools/client/webconsole/new-console-output/test/fixtures/Services")`;
    case "devtools/shared/client/main":
      return `module.exports = require("devtools/client/webconsole/new-console-output/test/fixtures/ObjectClient")`;
  }
});