forked from firefox-devtools/debugger
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests-setup.js
More file actions
87 lines (72 loc) · 2.43 KB
/
tests-setup.js
File metadata and controls
87 lines (72 loc) · 2.43 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
global.Worker = require("workerjs");
import path from "path";
import getConfig from "../../bin/getConfig";
import { readFileSync } from "fs";
import Enzyme from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import { setupHelper } from "../utils/dbg";
import { prefs } from "../utils/prefs";
import { startSourceMapWorker, stopSourceMapWorker } from "devtools-source-map";
import {
start as startPrettyPrintWorker,
stop as stopPrettyPrintWorker
} from "../workers/pretty-print";
import {
start as startParserWorker,
stop as stopParserWorker,
clearSymbols,
clearASTs
} from "../workers/parser";
import {
start as startSearchWorker,
stop as stopSearchWorker
} from "../workers/search";
import { clearDocuments } from "../utils/editor";
import { clearHistory } from "./utils/history";
import env from "devtools-environment/test-flag";
env.testing = true;
const rootPath = path.join(__dirname, "../../");
global.DebuggerConfig = getConfig();
global.L10N = require("devtools-launchpad").L10N;
global.L10N.setBundle(
readFileSync(path.join(__dirname, "../../assets/panel/debugger.properties"))
);
global.jasmine.DEFAULT_TIMEOUT_INTERVAL = 20000;
global.performance = { now: () => 0 };
const { URL } = require("url");
global.URL = URL;
Enzyme.configure({ adapter: new Adapter() });
function formatException(reason, p) {
console && console.log("Unhandled Rejection at:", p, "reason:", reason);
}
beforeAll(() => {
startSourceMapWorker(
path.join(rootPath, "node_modules/devtools-source-map/src/worker.js")
);
startPrettyPrintWorker(
path.join(rootPath, "src/workers/pretty-print/worker.js")
);
startParserWorker(path.join(rootPath, "src/workers/parser/worker.js"));
startSearchWorker(path.join(rootPath, "src/workers/search/worker.js"));
process.on("unhandledRejection", formatException);
});
afterAll(() => {
stopSourceMapWorker();
stopPrettyPrintWorker();
stopParserWorker();
stopSearchWorker();
process.removeListener("unhandledRejection", formatException);
});
afterEach(() => {});
beforeEach(async () => {
clearASTs();
await clearSymbols();
clearHistory();
clearDocuments();
prefs.projectDirectoryRoot = "";
// Ensures window.dbg is there to track telemetry
setupHelper({ selectors: {} });
});