Adding jasmine-sinon #1

Merged
baphled merged 2 commits from master into master 2011-12-15 13:20:55 +00:00
Showing only changes of commit 1d46a198ed - Show all commits

View File

@ -0,0 +1,44 @@
/**
jasmine-sinon.js 0.1.0
**/
(function(global) {
var spyMatchers = "called calledOnce calledTwice calledThrice calledBefore calledAfter calledOn alwaysCalledOn calledWith alwaysCalledWith calledWithExactly alwaysCalledWithExactly".split(" "),
i = spyMatchers.length,
spyMatcherHash = {},
unusualMatchers = {
"returned": "toHaveReturned",
"alwaysReturned": "toHaveAlwaysReturned"
},
getMatcherFunction = function(sinonName) {
return function() {
var sinonProperty = this.actual[sinonName];
return (typeof sinonProperty === 'function') ? sinonProperty.apply(this.actual, arguments) : sinonProperty;
};
};
while(i--) {
var sinonName = spyMatchers[i],
matcherName = "toHaveBeen" + sinonName.charAt(0).toUpperCase() + sinonName.slice(1);
spyMatcherHash[matcherName] = getMatcherFunction(sinonName);
};
for (var j in unusualMatchers) {
spyMatcherHash[unusualMatchers[j]] = getMatcherFunction(j);
}
global.sinonJasmine = {
getMatchers: function() {
return spyMatcherHash;
}
};
})(window);
beforeEach(function() {
this.addMatchers(sinonJasmine.getMatchers());
});