Extracted a SpyFactory to slim Env down a bit
This commit is contained in:
@@ -70,6 +70,7 @@ var getJasmineRequireObj = (function (jasmineGlobal) {
|
|||||||
j$.ReportDispatcher = jRequire.ReportDispatcher(j$);
|
j$.ReportDispatcher = jRequire.ReportDispatcher(j$);
|
||||||
j$.Spec = jRequire.Spec(j$);
|
j$.Spec = jRequire.Spec(j$);
|
||||||
j$.Spy = jRequire.Spy(j$);
|
j$.Spy = jRequire.Spy(j$);
|
||||||
|
j$.SpyFactory = jRequire.SpyFactory(j$);
|
||||||
j$.SpyRegistry = jRequire.SpyRegistry(j$);
|
j$.SpyRegistry = jRequire.SpyRegistry(j$);
|
||||||
j$.SpyStrategy = jRequire.SpyStrategy(j$);
|
j$.SpyStrategy = jRequire.SpyStrategy(j$);
|
||||||
j$.StringMatching = jRequire.StringMatching(j$);
|
j$.StringMatching = jRequire.StringMatching(j$);
|
||||||
@@ -1081,6 +1082,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|||||||
reporter.clearReporters();
|
reporter.clearReporters();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var spyFactory = new j$.SpyFactory();
|
||||||
|
|
||||||
var spyRegistry = new j$.SpyRegistry({
|
var spyRegistry = new j$.SpyRegistry({
|
||||||
currentSpies: function() {
|
currentSpies: function() {
|
||||||
if(!currentRunnable()) {
|
if(!currentRunnable()) {
|
||||||
@@ -1106,40 +1109,11 @@ getJasmineRequireObj().Env = function(j$) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.createSpy = function(name, originalFn) {
|
this.createSpy = function(name, originalFn) {
|
||||||
return j$.Spy(name, originalFn);
|
return spyFactory.createSpy(name, originalFn);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.createSpyObj = function(baseName, methodNames) {
|
this.createSpyObj = function(baseName, methodNames) {
|
||||||
var baseNameIsCollection = j$.isObject_(baseName) || j$.isArray_(baseName);
|
return spyFactory.createSpyObj(baseName, methodNames);
|
||||||
|
|
||||||
if (baseNameIsCollection && j$.util.isUndefined(methodNames)) {
|
|
||||||
methodNames = baseName;
|
|
||||||
baseName = 'unknown';
|
|
||||||
}
|
|
||||||
|
|
||||||
var obj = {};
|
|
||||||
var spiesWereSet = false;
|
|
||||||
|
|
||||||
if (j$.isArray_(methodNames)) {
|
|
||||||
for (var i = 0; i < methodNames.length; i++) {
|
|
||||||
obj[methodNames[i]] = self.createSpy(baseName + '.' + methodNames[i]);
|
|
||||||
spiesWereSet = true;
|
|
||||||
}
|
|
||||||
} else if (j$.isObject_(methodNames)) {
|
|
||||||
for (var key in methodNames) {
|
|
||||||
if (methodNames.hasOwnProperty(key)) {
|
|
||||||
obj[key] = self.createSpy(baseName + '.' + key);
|
|
||||||
obj[key].and.returnValue(methodNames[key]);
|
|
||||||
spiesWereSet = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!spiesWereSet) {
|
|
||||||
throw 'createSpyObj requires a non-empty array or object of method names to create spies for';
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var ensureIsFunction = function(fn, caller) {
|
var ensureIsFunction = function(fn, caller) {
|
||||||
@@ -5093,6 +5067,52 @@ getJasmineRequireObj().Spy = function (j$) {
|
|||||||
return Spy;
|
return Spy;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
getJasmineRequireObj().SpyFactory = function(j$) {
|
||||||
|
|
||||||
|
function SpyFactory() {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.createSpy = function(name, originalFn) {
|
||||||
|
return j$.Spy(name, originalFn);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.createSpyObj = function(baseName, methodNames) {
|
||||||
|
var baseNameIsCollection = j$.isObject_(baseName) || j$.isArray_(baseName);
|
||||||
|
|
||||||
|
if (baseNameIsCollection && j$.util.isUndefined(methodNames)) {
|
||||||
|
methodNames = baseName;
|
||||||
|
baseName = 'unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
var obj = {};
|
||||||
|
var spiesWereSet = false;
|
||||||
|
|
||||||
|
if (j$.isArray_(methodNames)) {
|
||||||
|
for (var i = 0; i < methodNames.length; i++) {
|
||||||
|
obj[methodNames[i]] = self.createSpy(baseName + '.' + methodNames[i]);
|
||||||
|
spiesWereSet = true;
|
||||||
|
}
|
||||||
|
} else if (j$.isObject_(methodNames)) {
|
||||||
|
for (var key in methodNames) {
|
||||||
|
if (methodNames.hasOwnProperty(key)) {
|
||||||
|
obj[key] = self.createSpy(baseName + '.' + key);
|
||||||
|
obj[key].and.returnValue(methodNames[key]);
|
||||||
|
spiesWereSet = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!spiesWereSet) {
|
||||||
|
throw 'createSpyObj requires a non-empty array or object of method names to create spies for';
|
||||||
|
}
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return SpyFactory;
|
||||||
|
};
|
||||||
|
|
||||||
getJasmineRequireObj().SpyRegistry = function(j$) {
|
getJasmineRequireObj().SpyRegistry = function(j$) {
|
||||||
|
|
||||||
var getErrorMsg = j$.formatErrorMsg('<spyOn>', 'spyOn(<object>, <methodName>)');
|
var getErrorMsg = j$.formatErrorMsg('<spyOn>', 'spyOn(<object>, <methodName>)');
|
||||||
|
|||||||
@@ -393,6 +393,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|||||||
reporter.clearReporters();
|
reporter.clearReporters();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var spyFactory = new j$.SpyFactory();
|
||||||
|
|
||||||
var spyRegistry = new j$.SpyRegistry({
|
var spyRegistry = new j$.SpyRegistry({
|
||||||
currentSpies: function() {
|
currentSpies: function() {
|
||||||
if(!currentRunnable()) {
|
if(!currentRunnable()) {
|
||||||
@@ -418,40 +420,11 @@ getJasmineRequireObj().Env = function(j$) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.createSpy = function(name, originalFn) {
|
this.createSpy = function(name, originalFn) {
|
||||||
return j$.Spy(name, originalFn);
|
return spyFactory.createSpy(name, originalFn);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.createSpyObj = function(baseName, methodNames) {
|
this.createSpyObj = function(baseName, methodNames) {
|
||||||
var baseNameIsCollection = j$.isObject_(baseName) || j$.isArray_(baseName);
|
return spyFactory.createSpyObj(baseName, methodNames);
|
||||||
|
|
||||||
if (baseNameIsCollection && j$.util.isUndefined(methodNames)) {
|
|
||||||
methodNames = baseName;
|
|
||||||
baseName = 'unknown';
|
|
||||||
}
|
|
||||||
|
|
||||||
var obj = {};
|
|
||||||
var spiesWereSet = false;
|
|
||||||
|
|
||||||
if (j$.isArray_(methodNames)) {
|
|
||||||
for (var i = 0; i < methodNames.length; i++) {
|
|
||||||
obj[methodNames[i]] = self.createSpy(baseName + '.' + methodNames[i]);
|
|
||||||
spiesWereSet = true;
|
|
||||||
}
|
|
||||||
} else if (j$.isObject_(methodNames)) {
|
|
||||||
for (var key in methodNames) {
|
|
||||||
if (methodNames.hasOwnProperty(key)) {
|
|
||||||
obj[key] = self.createSpy(baseName + '.' + key);
|
|
||||||
obj[key].and.returnValue(methodNames[key]);
|
|
||||||
spiesWereSet = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!spiesWereSet) {
|
|
||||||
throw 'createSpyObj requires a non-empty array or object of method names to create spies for';
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var ensureIsFunction = function(fn, caller) {
|
var ensureIsFunction = function(fn, caller) {
|
||||||
|
|||||||
45
src/core/SpyFactory.js
Normal file
45
src/core/SpyFactory.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
getJasmineRequireObj().SpyFactory = function(j$) {
|
||||||
|
|
||||||
|
function SpyFactory() {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.createSpy = function(name, originalFn) {
|
||||||
|
return j$.Spy(name, originalFn);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.createSpyObj = function(baseName, methodNames) {
|
||||||
|
var baseNameIsCollection = j$.isObject_(baseName) || j$.isArray_(baseName);
|
||||||
|
|
||||||
|
if (baseNameIsCollection && j$.util.isUndefined(methodNames)) {
|
||||||
|
methodNames = baseName;
|
||||||
|
baseName = 'unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
var obj = {};
|
||||||
|
var spiesWereSet = false;
|
||||||
|
|
||||||
|
if (j$.isArray_(methodNames)) {
|
||||||
|
for (var i = 0; i < methodNames.length; i++) {
|
||||||
|
obj[methodNames[i]] = self.createSpy(baseName + '.' + methodNames[i]);
|
||||||
|
spiesWereSet = true;
|
||||||
|
}
|
||||||
|
} else if (j$.isObject_(methodNames)) {
|
||||||
|
for (var key in methodNames) {
|
||||||
|
if (methodNames.hasOwnProperty(key)) {
|
||||||
|
obj[key] = self.createSpy(baseName + '.' + key);
|
||||||
|
obj[key].and.returnValue(methodNames[key]);
|
||||||
|
spiesWereSet = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!spiesWereSet) {
|
||||||
|
throw 'createSpyObj requires a non-empty array or object of method names to create spies for';
|
||||||
|
}
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return SpyFactory;
|
||||||
|
};
|
||||||
@@ -48,6 +48,7 @@ var getJasmineRequireObj = (function (jasmineGlobal) {
|
|||||||
j$.ReportDispatcher = jRequire.ReportDispatcher(j$);
|
j$.ReportDispatcher = jRequire.ReportDispatcher(j$);
|
||||||
j$.Spec = jRequire.Spec(j$);
|
j$.Spec = jRequire.Spec(j$);
|
||||||
j$.Spy = jRequire.Spy(j$);
|
j$.Spy = jRequire.Spy(j$);
|
||||||
|
j$.SpyFactory = jRequire.SpyFactory(j$);
|
||||||
j$.SpyRegistry = jRequire.SpyRegistry(j$);
|
j$.SpyRegistry = jRequire.SpyRegistry(j$);
|
||||||
j$.SpyStrategy = jRequire.SpyStrategy(j$);
|
j$.SpyStrategy = jRequire.SpyStrategy(j$);
|
||||||
j$.StringMatching = jRequire.StringMatching(j$);
|
j$.StringMatching = jRequire.StringMatching(j$);
|
||||||
|
|||||||
Reference in New Issue
Block a user