Add combined file for inherited spies

This commit is contained in:
Gregg Van Hove
2016-02-25 14:25:40 -08:00
parent ebbefafc26
commit db8e636021

View File

@@ -2059,25 +2059,34 @@ getJasmineRequireObj().SpyRegistry = function(j$) {
throw new Error(methodName + ' is not declared writable or has no setter');
}
var spy = j$.createSpy(methodName, obj[methodName]);
var originalMethod = obj[methodName],
spiedMethod = j$.createSpy(methodName, originalMethod),
restoreStrategy;
if (Object.prototype.hasOwnProperty.call(obj, methodName)) {
restoreStrategy = function() {
obj[methodName] = originalMethod;
};
} else {
restoreStrategy = function() {
delete obj[methodName];
};
}
currentSpies().push({
spy: spy,
baseObj: obj,
methodName: methodName,
originalValue: obj[methodName]
restoreObjectToOriginalState: restoreStrategy
});
obj[methodName] = spy;
obj[methodName] = spiedMethod;
return spy;
return spiedMethod;
};
this.clearSpies = function() {
var spies = currentSpies();
for (var i = spies.length - 1; i >= 0; i--) {
var spyEntry = spies[i];
spyEntry.baseObj[spyEntry.methodName] = spyEntry.originalValue;
spyEntry.restoreObjectToOriginalState();
}
};
}