Merge pull request #584 from spicyj/mock

Mock modules properly in test runner.
This commit is contained in:
Ben Newman
2013-11-21 10:31:59 -08:00
2 changed files with 31 additions and 1 deletions
+9 -1
View File
@@ -10,7 +10,15 @@ require("mock-modules");
require("./mock-timers");
exports.enableTest = function(testID) {
require("../" + testID);
describe(testID, function() {
beforeEach(function() {
require("mock-modules").setMockMap(mockMap);
});
require("mock-modules").clearMockMap();
require("../" + testID);
var mockMap = require("mock-modules").getMockMap();
});
};
exports.removeNextSiblings = function(node) {
+22
View File
@@ -73,6 +73,28 @@ exports.dumpCache = function() {
return exports;
};
exports.getMockMap = function() {
return explicitMockMap;
};
exports.clearMockMap = function() {
explicitMockMap = {};
};
exports.setMockMap = function(mockMap) {
exports.dumpCache();
exports.clearMockMap();
for (var id in mockMap) {
if (mockMap[id]) {
doMock(id);
} else {
doNotMock(id);
}
}
return exports;
};
// Call this function to ensure that require(id) returns the actual
// exports object created by the module.
function doNotMock(id) {