| Index: test_wrapper.js |
| diff --git a/test_wrapper.js b/test_wrapper.js |
| index 75e034d995dbb8acd18ebbcac271a2f5f712c83d..c676b2788be101c7c2bd6765d8518ef45a217fc4 100644 |
| --- a/test_wrapper.js |
| +++ b/test_wrapper.js |
| @@ -1,9 +1,42 @@ |
| "use strict"; |
| +let nodeBabel = require("node-babel"); |
| +let nodeunit = require("nodeunit"); |
| +let path = require("path"); |
| + |
| +// The Adblock Plus code assumes some things are present in the global scope. |
| +// We need to stub them out here to get the tests running. |
| GLOBAL.atob = data => new Buffer(data, "base64").toString("binary"); |
| GLOBAL.btoa = data => new Buffer(data, "binary").toString("base64"); |
| +GLOBAL.Ci = {}; |
| +GLOBAL.Cu = { |
| + import: () => { } |
| +}; |
| GLOBAL.navigator = {}; |
| +GLOBAL.onShutdown = { |
| + add: () => { } |
| +}; |
| +GLOBAL.Services = { |
| + obs: { |
| + addObserver: () => { } |
| + } |
| +}; |
| +GLOBAL.XPCOMUtils = { |
| + generateQI: () => { } |
| +}; |
| -require("node-babel")(); |
| +// Force the use of our modules over the Node.js builtin modules when the names |
| +// clash by messing with the module cache. (It's important we load any Node.js |
| +// modules beforehand, otherwise they will might break when given our modules!) |
|
Wladimir Palant
2016/09/26 09:40:58
Messing with the global require function is a bad
kzar
2016/09/29 15:53:10
Done.
|
| +function forceModule(name, relativePath) |
| +{ |
| + let filename = name + ".js"; |
| + let absolutePath = path.join(__dirname, relativePath, filename); |
| + require(absolutePath); |
| + require.cache[name] = require.cache[absolutePath]; |
| +} |
| +forceModule("events", "lib"); |
| +forceModule("io", "test/stub-modules"); |
| -require("./node_modules/.bin/nodeunit"); |
| +nodeBabel(); |
|
Wladimir Palant
2016/09/26 09:40:58
This should no longer be necessary if we require a
kzar
2016/09/29 15:53:10
Done.
|
| +nodeunit.reporters.default.run(["test"]); |