diff options
| author | Matias Niemelä | 2014-02-24 19:21:20 -0500 | 
|---|---|---|
| committer | Matias Niemelä | 2014-02-24 21:23:10 -0500 | 
| commit | 62761428eff3a53e69367449eb81869e59e75e39 (patch) | |
| tree | 40ce8ffa232cc38c821c78c29b0b811c45e406db /test | |
| parent | 04d7317cdd95ba00783389f89f6e9a7e1fc418f8 (diff) | |
| download | angular.js-62761428eff3a53e69367449eb81869e59e75e39.tar.bz2 | |
chore(core): create a wrapper to manage async callbacks
Diffstat (limited to 'test')
| -rw-r--r-- | test/ng/asyncCallbackSpec.js | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/test/ng/asyncCallbackSpec.js b/test/ng/asyncCallbackSpec.js new file mode 100644 index 00000000..f9bbe781 --- /dev/null +++ b/test/ng/asyncCallbackSpec.js @@ -0,0 +1,33 @@ +'use strict'; +describe('$$asyncCallback', function() { +  it('should perform a callback asynchronously', inject(function($$asyncCallback) { +    var message = 'hello there '; +    $$asyncCallback(function() { +      message += 'Angular'; +    }); + +    expect(message).toBe('hello there '); +    $$asyncCallback.flush(); +    expect(message).toBe('hello there Angular'); +  })); + +  describe('mocks', function() { +    it('should queue up all async callbacks', inject(function($$asyncCallback) { +      var callback = jasmine.createSpy('callback'); +      $$asyncCallback(callback); +      $$asyncCallback(callback); +      $$asyncCallback(callback); +      expect(callback.callCount).toBe(0); + +      $$asyncCallback.flush(); +      expect(callback.callCount).toBe(3); + +      $$asyncCallback(callback); +      $$asyncCallback(callback); +      expect(callback.callCount).toBe(3); + +      $$asyncCallback.flush(); +      expect(callback.callCount).toBe(5); +    })); +  }); +}); | 
