From 63cca9afbcf7a772086eb4582d2f409c39e0ed12 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Tue, 27 Dec 2011 15:52:57 -0800 Subject: [PATCH] feat(browser.defer): flush should throw exception when queue is empty --- src/angular-mocks.js | 2 ++ test/angular-mocksSpec.js | 4 ++++ test/service/deferSpec.js | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 42b44c2fa2c8..16be70386bdb 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -125,6 +125,8 @@ angular.module.ngMock.$Browser = function() { } else { if (self.deferredFns.length) { self.defer.now = self.deferredFns[self.deferredFns.length-1].time; + } else { + throw Error('No deferred tasks to be flushed'); } } diff --git a/test/angular-mocksSpec.js b/test/angular-mocksSpec.js index 5d0be7adbe68..a8328f41266c 100644 --- a/test/angular-mocksSpec.js +++ b/test/angular-mocksSpec.js @@ -291,6 +291,10 @@ describe('mocks', function() { expect(browser.defer.now).toEqual(3); expect(log).toEqual('A;B;C;'); }); + + it('should throw an exception if there is nothing to be flushed', function() { + expect(function() {browser.defer.flush();}).toThrow('No deferred tasks to be flushed'); + }); }); diff --git a/test/service/deferSpec.js b/test/service/deferSpec.js index 2468512d404e..e45546013a2a 100644 --- a/test/service/deferSpec.js +++ b/test/service/deferSpec.js @@ -17,7 +17,7 @@ describe('$defer', function() { $browser.defer.flush(); expect(counter).toBe(1); - $browser.defer.flush(); //does nothing + expect(function() {$browser.defer.flush();}).toThrow('No deferred tasks to be flushed'); expect(counter).toBe(1); expect($exceptionHandler).not.toHaveBeenCalled();