Remove an extra layer of wrapping for matchers/custom matchers

Helps reduce how nested custom matchers have to be for users as well as
Jasmine internal matchers

[#59161378]
This commit is contained in:
Sheel Choksi
2013-10-19 22:46:19 -07:00
parent 5f429fcb37
commit 39d7ebf28e
37 changed files with 437 additions and 494 deletions

View File

@@ -1,26 +1,24 @@
getJasmineRequireObj().toHaveBeenCalled = function(j$) {
function toHaveBeenCalled() {
return {
compare: function(actual) {
var result = {};
return function(actual) {
var result = {};
if (!j$.isSpy(actual)) {
throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.');
}
if (arguments.length > 1) {
throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
}
result.pass = actual.calls.any();
result.message = result.pass ?
"Expected spy " + actual.and.identity() + " not to have been called." :
"Expected spy " + actual.and.identity() + " to have been called.";
return result;
if (!j$.isSpy(actual)) {
throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.');
}
if (arguments.length > 1) {
throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
}
result.pass = actual.calls.any();
result.message = result.pass ?
"Expected spy " + actual.and.identity() + " not to have been called." :
"Expected spy " + actual.and.identity() + " to have been called.";
return result;
};
}