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/ng | |
| parent | 04d7317cdd95ba00783389f89f6e9a7e1fc418f8 (diff) | |
| download | angular.js-62761428eff3a53e69367449eb81869e59e75e39.tar.bz2 | |
chore(core): create a wrapper to manage async callbacks
Diffstat (limited to 'test/ng')
| -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); + })); + }); +}); |
