Breaking out Spies into their own source file
This commit is contained in:
@@ -48,6 +48,7 @@ getJasmineRequireObj().core = function(jRequire) {
|
|||||||
j$.QueueRunner = jRequire.QueueRunner();
|
j$.QueueRunner = jRequire.QueueRunner();
|
||||||
j$.ReportDispatcher = jRequire.ReportDispatcher();
|
j$.ReportDispatcher = jRequire.ReportDispatcher();
|
||||||
j$.Spec = jRequire.Spec();
|
j$.Spec = jRequire.Spec();
|
||||||
|
j$.Spy = jRequire.Spy(j$);
|
||||||
j$.Suite = jRequire.Suite();
|
j$.Suite = jRequire.Suite();
|
||||||
j$.version = jRequire.version();
|
j$.version = jRequire.version();
|
||||||
|
|
||||||
@@ -141,89 +142,7 @@ getJasmineRequireObj().base = function(j$) {
|
|||||||
j$.objectContaining = function(sample) {
|
j$.objectContaining = function(sample) {
|
||||||
return new j$.ObjectContaining(sample);
|
return new j$.ObjectContaining(sample);
|
||||||
};
|
};
|
||||||
|
};
|
||||||
j$.Spy = function(name) {
|
|
||||||
this.identity = name || 'unknown';
|
|
||||||
this.isSpy = true;
|
|
||||||
this.plan = function() {
|
|
||||||
};
|
|
||||||
this.mostRecentCall = {};
|
|
||||||
|
|
||||||
this.argsForCall = [];
|
|
||||||
this.calls = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andCallThrough = function() {
|
|
||||||
this.plan = this.originalValue;
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andReturn = function(value) {
|
|
||||||
this.plan = function() {
|
|
||||||
return value;
|
|
||||||
};
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andThrow = function(exceptionMsg) {
|
|
||||||
this.plan = function() {
|
|
||||||
throw exceptionMsg;
|
|
||||||
};
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andCallFake = function(fakeFunc) {
|
|
||||||
this.plan = fakeFunc;
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.reset = function() {
|
|
||||||
this.wasCalled = false;
|
|
||||||
this.callCount = 0;
|
|
||||||
this.argsForCall = [];
|
|
||||||
this.calls = [];
|
|
||||||
this.mostRecentCall = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.createSpy = function(name) {
|
|
||||||
|
|
||||||
var spyObj = function() {
|
|
||||||
spyObj.wasCalled = true;
|
|
||||||
spyObj.callCount++;
|
|
||||||
var args = j$.util.argsToArray(arguments);
|
|
||||||
spyObj.mostRecentCall.object = this;
|
|
||||||
spyObj.mostRecentCall.args = args;
|
|
||||||
spyObj.argsForCall.push(args);
|
|
||||||
spyObj.calls.push({object: this, args: args});
|
|
||||||
return spyObj.plan.apply(this, arguments);
|
|
||||||
};
|
|
||||||
|
|
||||||
var spy = new j$.Spy(name);
|
|
||||||
|
|
||||||
for (var prop in spy) {
|
|
||||||
spyObj[prop] = spy[prop];
|
|
||||||
}
|
|
||||||
|
|
||||||
spyObj.reset();
|
|
||||||
|
|
||||||
return spyObj;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.isSpy = function(putativeSpy) {
|
|
||||||
return putativeSpy && putativeSpy.isSpy;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.createSpyObj = function(baseName, methodNames) {
|
|
||||||
if (!j$.isArray_(methodNames) || methodNames.length === 0) {
|
|
||||||
throw "createSpyObj requires a non-empty array of method names to create spies for";
|
|
||||||
}
|
|
||||||
var obj = {};
|
|
||||||
for (var i = 0; i < methodNames.length; i++) {
|
|
||||||
obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]);
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
getJasmineRequireObj().util = function() {
|
getJasmineRequireObj().util = function() {
|
||||||
|
|
||||||
@@ -1458,6 +1377,93 @@ getJasmineRequireObj().ReportDispatcher = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
getJasmineRequireObj().Spy = function(j$) {
|
||||||
|
|
||||||
|
function Spy(name) {
|
||||||
|
this.identity = name || 'unknown';
|
||||||
|
this.isSpy = true;
|
||||||
|
this.plan = function() {
|
||||||
|
};
|
||||||
|
this.mostRecentCall = {};
|
||||||
|
|
||||||
|
this.argsForCall = [];
|
||||||
|
this.calls = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
Spy.prototype.andCallThrough = function() {
|
||||||
|
this.plan = this.originalValue;
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.andReturn = function(value) {
|
||||||
|
this.plan = function() {
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.andThrow = function(exceptionMsg) {
|
||||||
|
this.plan = function() {
|
||||||
|
throw exceptionMsg;
|
||||||
|
};
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.andCallFake = function(fakeFunc) {
|
||||||
|
this.plan = fakeFunc;
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.reset = function() {
|
||||||
|
this.wasCalled = false;
|
||||||
|
this.callCount = 0;
|
||||||
|
this.argsForCall = [];
|
||||||
|
this.calls = [];
|
||||||
|
this.mostRecentCall = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
j$.createSpy = function(name) {
|
||||||
|
|
||||||
|
var spyObj = function() {
|
||||||
|
spyObj.wasCalled = true;
|
||||||
|
spyObj.callCount++;
|
||||||
|
var args = j$.util.argsToArray(arguments);
|
||||||
|
spyObj.mostRecentCall.object = this;
|
||||||
|
spyObj.mostRecentCall.args = args;
|
||||||
|
spyObj.argsForCall.push(args);
|
||||||
|
spyObj.calls.push({object: this, args: args});
|
||||||
|
return spyObj.plan.apply(this, arguments);
|
||||||
|
};
|
||||||
|
|
||||||
|
var spy = new Spy(name);
|
||||||
|
|
||||||
|
for (var prop in spy) {
|
||||||
|
spyObj[prop] = spy[prop];
|
||||||
|
}
|
||||||
|
|
||||||
|
spyObj.reset();
|
||||||
|
|
||||||
|
return spyObj;
|
||||||
|
};
|
||||||
|
|
||||||
|
j$.isSpy = function(putativeSpy) {
|
||||||
|
return putativeSpy && putativeSpy.isSpy;
|
||||||
|
};
|
||||||
|
|
||||||
|
j$.createSpyObj = function(baseName, methodNames) {
|
||||||
|
if (!j$.isArray_(methodNames) || methodNames.length === 0) {
|
||||||
|
throw "createSpyObj requires a non-empty array of method names to create spies for";
|
||||||
|
}
|
||||||
|
var obj = {};
|
||||||
|
for (var i = 0; i < methodNames.length; i++) {
|
||||||
|
obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]);
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
|
||||||
|
return Spy;
|
||||||
|
};
|
||||||
|
|
||||||
getJasmineRequireObj().Suite = function() {
|
getJasmineRequireObj().Suite = function() {
|
||||||
function Suite(attrs) {
|
function Suite(attrs) {
|
||||||
this.env = attrs.env;
|
this.env = attrs.env;
|
||||||
|
|||||||
86
src/core/Spy.js
Normal file
86
src/core/Spy.js
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
getJasmineRequireObj().Spy = function(j$) {
|
||||||
|
|
||||||
|
function Spy(name) {
|
||||||
|
this.identity = name || 'unknown';
|
||||||
|
this.isSpy = true;
|
||||||
|
this.plan = function() {
|
||||||
|
};
|
||||||
|
this.mostRecentCall = {};
|
||||||
|
|
||||||
|
this.argsForCall = [];
|
||||||
|
this.calls = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
Spy.prototype.andCallThrough = function() {
|
||||||
|
this.plan = this.originalValue;
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.andReturn = function(value) {
|
||||||
|
this.plan = function() {
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.andThrow = function(exceptionMsg) {
|
||||||
|
this.plan = function() {
|
||||||
|
throw exceptionMsg;
|
||||||
|
};
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.andCallFake = function(fakeFunc) {
|
||||||
|
this.plan = fakeFunc;
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
Spy.prototype.reset = function() {
|
||||||
|
this.wasCalled = false;
|
||||||
|
this.callCount = 0;
|
||||||
|
this.argsForCall = [];
|
||||||
|
this.calls = [];
|
||||||
|
this.mostRecentCall = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
j$.createSpy = function(name) {
|
||||||
|
|
||||||
|
var spyObj = function() {
|
||||||
|
spyObj.wasCalled = true;
|
||||||
|
spyObj.callCount++;
|
||||||
|
var args = j$.util.argsToArray(arguments);
|
||||||
|
spyObj.mostRecentCall.object = this;
|
||||||
|
spyObj.mostRecentCall.args = args;
|
||||||
|
spyObj.argsForCall.push(args);
|
||||||
|
spyObj.calls.push({object: this, args: args});
|
||||||
|
return spyObj.plan.apply(this, arguments);
|
||||||
|
};
|
||||||
|
|
||||||
|
var spy = new Spy(name);
|
||||||
|
|
||||||
|
for (var prop in spy) {
|
||||||
|
spyObj[prop] = spy[prop];
|
||||||
|
}
|
||||||
|
|
||||||
|
spyObj.reset();
|
||||||
|
|
||||||
|
return spyObj;
|
||||||
|
};
|
||||||
|
|
||||||
|
j$.isSpy = function(putativeSpy) {
|
||||||
|
return putativeSpy && putativeSpy.isSpy;
|
||||||
|
};
|
||||||
|
|
||||||
|
j$.createSpyObj = function(baseName, methodNames) {
|
||||||
|
if (!j$.isArray_(methodNames) || methodNames.length === 0) {
|
||||||
|
throw "createSpyObj requires a non-empty array of method names to create spies for";
|
||||||
|
}
|
||||||
|
var obj = {};
|
||||||
|
for (var i = 0; i < methodNames.length; i++) {
|
||||||
|
obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]);
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
|
||||||
|
return Spy;
|
||||||
|
};
|
||||||
@@ -54,86 +54,4 @@ getJasmineRequireObj().base = function(j$) {
|
|||||||
j$.objectContaining = function(sample) {
|
j$.objectContaining = function(sample) {
|
||||||
return new j$.ObjectContaining(sample);
|
return new j$.ObjectContaining(sample);
|
||||||
};
|
};
|
||||||
|
};
|
||||||
j$.Spy = function(name) {
|
|
||||||
this.identity = name || 'unknown';
|
|
||||||
this.isSpy = true;
|
|
||||||
this.plan = function() {
|
|
||||||
};
|
|
||||||
this.mostRecentCall = {};
|
|
||||||
|
|
||||||
this.argsForCall = [];
|
|
||||||
this.calls = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andCallThrough = function() {
|
|
||||||
this.plan = this.originalValue;
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andReturn = function(value) {
|
|
||||||
this.plan = function() {
|
|
||||||
return value;
|
|
||||||
};
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andThrow = function(exceptionMsg) {
|
|
||||||
this.plan = function() {
|
|
||||||
throw exceptionMsg;
|
|
||||||
};
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.andCallFake = function(fakeFunc) {
|
|
||||||
this.plan = fakeFunc;
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.Spy.prototype.reset = function() {
|
|
||||||
this.wasCalled = false;
|
|
||||||
this.callCount = 0;
|
|
||||||
this.argsForCall = [];
|
|
||||||
this.calls = [];
|
|
||||||
this.mostRecentCall = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.createSpy = function(name) {
|
|
||||||
|
|
||||||
var spyObj = function() {
|
|
||||||
spyObj.wasCalled = true;
|
|
||||||
spyObj.callCount++;
|
|
||||||
var args = j$.util.argsToArray(arguments);
|
|
||||||
spyObj.mostRecentCall.object = this;
|
|
||||||
spyObj.mostRecentCall.args = args;
|
|
||||||
spyObj.argsForCall.push(args);
|
|
||||||
spyObj.calls.push({object: this, args: args});
|
|
||||||
return spyObj.plan.apply(this, arguments);
|
|
||||||
};
|
|
||||||
|
|
||||||
var spy = new j$.Spy(name);
|
|
||||||
|
|
||||||
for (var prop in spy) {
|
|
||||||
spyObj[prop] = spy[prop];
|
|
||||||
}
|
|
||||||
|
|
||||||
spyObj.reset();
|
|
||||||
|
|
||||||
return spyObj;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.isSpy = function(putativeSpy) {
|
|
||||||
return putativeSpy && putativeSpy.isSpy;
|
|
||||||
};
|
|
||||||
|
|
||||||
j$.createSpyObj = function(baseName, methodNames) {
|
|
||||||
if (!j$.isArray_(methodNames) || methodNames.length === 0) {
|
|
||||||
throw "createSpyObj requires a non-empty array of method names to create spies for";
|
|
||||||
}
|
|
||||||
var obj = {};
|
|
||||||
for (var i = 0; i < methodNames.length; i++) {
|
|
||||||
obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]);
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ getJasmineRequireObj().core = function(jRequire) {
|
|||||||
j$.QueueRunner = jRequire.QueueRunner();
|
j$.QueueRunner = jRequire.QueueRunner();
|
||||||
j$.ReportDispatcher = jRequire.ReportDispatcher();
|
j$.ReportDispatcher = jRequire.ReportDispatcher();
|
||||||
j$.Spec = jRequire.Spec();
|
j$.Spec = jRequire.Spec();
|
||||||
|
j$.Spy = jRequire.Spy(j$);
|
||||||
j$.Suite = jRequire.Suite();
|
j$.Suite = jRequire.Suite();
|
||||||
j$.version = jRequire.version();
|
j$.version = jRequire.version();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user