diff options
author | Johannes Ewald <mail@johannesewald.de> | 2014-10-29 03:01:13 +0300 |
---|---|---|
committer | Johannes Ewald <mail@johannesewald.de> | 2014-10-29 03:01:13 +0300 |
commit | 6040c0c5b1fad9700cac59e6e854c2bcda7bf24b (patch) | |
tree | e0826e7d47da80d7597d2a8cb34ab52f184a36ee | |
parent | 93d3907216f1a0ea4bc24eb0bc83775f84a6063c (diff) | |
parent | 7e25ede892de0827d6d2df71690df8cb623bde4a (diff) |
Merge pull request #34 from Trott/fix-leak
Fix leak, add test, for #33
-rw-r--r-- | lib/rewire.js | 3 | ||||
-rw-r--r-- | test/rewire.test.js | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/rewire.js b/lib/rewire.js index e0b56f1..167d7b3 100644 --- a/lib/rewire.js +++ b/lib/rewire.js @@ -19,7 +19,8 @@ var srcs = { function internalRewire(parentModulePath, targetPath) { var targetModule, prelude, - appendix; + appendix, + src; // Checking params if (typeof targetPath !== "string") { diff --git a/test/rewire.test.js b/test/rewire.test.js index 1ac0129..0524a36 100644 --- a/test/rewire.test.js +++ b/test/rewire.test.js @@ -16,6 +16,14 @@ describe("rewire", function () { fs.renameSync(fakeNodeModules, path.resolve(__dirname, "testModules/node_modules")); } }); + it("should keep not leak globals", function () { + // This test should run first, as the global space may be already polluted if + // require("../") is run before this test. + var originalGlobalKeys = Object.keys(global), + rewire = require("../"), + emptyModule = rewire("./testModules/emptyModule.js"); + expect(Object.keys(global)).to.eql(originalGlobalKeys); + }); it("should pass all shared test cases", function () { require("./testModules/sharedTestCases.js"); }); |