Quick test spy function.
;(function IIFE(global){
function noop(){}
return function iSpyCreator(prevs, id){
prevs = prevs || {}
id = id || Date.now().toString()
prevs[id] = prevs[id] || {}
return function iSpy(ject, fnName, fn){
fn = fn || noop;
prevs[id][fnName] = ject[fnName]
ject[fnName] = function(){
ject[fnName].callinfo.calls += 1
ject[fnName].callinfo.arguments.push[arguments]
return fn()
}
ject[fnName].callinfo = {}
ject[fnName].callinfo.calls = 0
ject[fnName].callinfo.arguments = []
ject[fnName].restore = function(){
ject[fnName] = prevs[id][fnName]
}
}
}
global.iSpy = iSpyCreator()
global.iSpy.noop = noop
}(this))