function wrapFn(mocker, fn) {
  return function() {
    //Copy the arguments this function was called with
    var args = Array.prototype.slice.call(arguments);
    
    //Save the arguments to the log
    mocker.history.push(args);
    
    return fn.apply(this, arguments);
  };
}
function wrapFn(mocker, fn) {
  return function() {
    
    var args = Array.prototype.slice.call(arguments);
    
    
    mocker.history.push(args);
    
    return fn.apply(this, arguments);
  };
}
function wrapFn ( mocker , fn ) { return function ( ) { //Copy the arguments this function was called with var args = Array . prototype . slice . call ( arguments ) ; //Save the arguments to the log mocker . history . push ( args ) ; return fn . apply ( this , arguments ) ; } ; }
Wraps the given function so that the history log is saved when it is called, and then the given function
is run

@param {Mocker} mocker     The mocker object
@param {Function} fn       The function to run
@return {Function}         The wrapped function
@api public
Wraps the given function so that the history log is saved when it is called and then the given function is run