diff options
Diffstat (limited to 'test/ng/asyncCallbackSpec.js')
| -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); + })); + }); +}); |
