Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/rewire.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ewald <mail@johannesewald.de>2014-10-29 03:01:13 +0300
committerJohannes Ewald <mail@johannesewald.de>2014-10-29 03:01:13 +0300
commit6040c0c5b1fad9700cac59e6e854c2bcda7bf24b (patch)
treee0826e7d47da80d7597d2a8cb34ab52f184a36ee
parent93d3907216f1a0ea4bc24eb0bc83775f84a6063c (diff)
parent7e25ede892de0827d6d2df71690df8cb623bde4a (diff)
Merge pull request #34 from Trott/fix-leak
Fix leak, add test, for #33
-rw-r--r--lib/rewire.js3
-rw-r--r--test/rewire.test.js8
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");
});