title: Reset call on Jasmine spy does not return
body: <p>I'm using a Jasmine (2.2.0) spy to see if a certain callback is called.</p>
  
  <p>Test code:</p>
  
  <pre><code>it('tests', function(done) {
    var spy = jasmine.createSpy('mySpy');
    objectUnderTest.someFunction(spy).then(function() {
      expect(spy).toHaveBeenCalled();
      done();
    });
  });
  </code></pre>
  
  <p>This works as expected. But now, I'm adding a second level:</p>
  
  <pre><code>it('tests deeper', function(done) {
    var spy = jasmine.createSpy('mySpy');
    objectUnderTest.someFunction(spy).then(function() {
      expect(spy).toHaveBeenCalled();
      spy.reset();
      return objectUnderTest.someFunction(spy);
    }).then(function() {
      expect(spy.toHaveBeenCalled());
      expect(spy.callCount).toBe(1);
      done();
    });
  });
  </code></pre>
  
  <p>This test never returns, because apparently the <code>done</code> callback is never called. If I remove the line <code>spy.reset()</code>, the test does finish, but obviously fails on the last expectation. However, the <code>callCount</code> field seems to be <code>undefined</code>, rather than <code>2</code>.</p>