function TestCallRecorder() {
  /** @private {!Array<!Argument>} */
  this.calls_ = [];

  /**
   * The recording funciton. Bound in our constructor to ensure we always
   * return the same object. This is necessary as some clients may make use
   * of object equality.
   *
   * @type {function()}
   */
  this.callback = this.recordArguments_.bind(this);
}
/**
 * A class that captures calls to a funtion so that values can be validated.
 * For use in tests only.
 *
 * <p>Example:
 * <pre>
 *   var recorder = new TestCallRecorder();
 *   someClass.addListener(recorder.callback);
 *   // do stuff ...
 *   recorder.assertCallCount(1);
 *   assertEquals(recorder.getListCall()[0], 'hammy');
 * </pre>
 * @constructor
 */
A class that captures calls to a funtion so that values can be validated.
For use in tests only.


A class that captures calls to a funtion so that values can be validated . For use in tests only .
function TestCallRecorder() {
  this.calls_ = [];
  this.callback = this.recordArguments_.bind(this);
}
function TestCallRecorder ( ) { this . calls_ = [ ] ; this . callback = this . recordArguments_ . bind ( this ) ; }
A class that captures calls to a funtion so that values can be validated.
A class that captures calls to a funtion so that values can be validated .
/** @private {!Array<!Argument>} */ /**
   * The recording funciton. Bound in our constructor to ensure we always
   * return the same object. This is necessary as some clients may make use
   * of object equality.
   *
   * @type {function()}
   */