Add toHaveBeenCalledBefore matcher

This matcher makes sure the 'actual' spy is called before the
'expected' spy.

This code has been written in cooperation with Benjamin Van Ryseghem.
This commit is contained in:
Damien Cassou
2016-12-12 10:28:40 +01:00
parent 43f96d3ecd
commit 4cfdd06700
4 changed files with 119 additions and 0 deletions

View File

@@ -1,5 +1,13 @@
getJasmineRequireObj().Spy = function (j$) {
var nextOrder = (function() {
var order = 0;
return function() {
return order++;
};
})();
function Spy(name, originalFn) {
var args = buildArgs(),
/*`eval` is the only option to preserve both this and context:
@@ -21,6 +29,7 @@ getJasmineRequireObj().Spy = function (j$) {
spy = function () {
var callData = {
object: this,
invocationOrder: nextOrder(),
args: Array.prototype.slice.apply(arguments)
};