diff options
| -rw-r--r-- | src/angular-mocks.js | 11 | ||||
| -rw-r--r-- | test/angular-mocksSpec.js | 10 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 887d3520..916005a5 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -169,8 +169,15 @@ function MockBrowser() { self.defer.now = 0; - self.defer.flush = function(time) { - self.defer.now += (time || 0); + self.defer.flush = function(delay) { + if (angular.isDefined(delay)) { + self.defer.now += delay; + } else { + if (self.deferredFns.length) { + self.defer.now = self.deferredFns[self.deferredFns.length-1].time; + } + } + while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) { self.deferredFns.shift().fn(); } diff --git a/test/angular-mocksSpec.js b/test/angular-mocksSpec.js index 5463f3a0..dac691b0 100644 --- a/test/angular-mocksSpec.js +++ b/test/angular-mocksSpec.js @@ -190,16 +190,10 @@ describe('mocks', function(){ expect(log).toEqual(''); expect(browser.defer.now).toEqual(0); - browser.defer.flush(); - browser.defer.flush(); + browser.defer.flush(0); expect(log).toEqual('A;'); - browser.defer.flush(10); - expect(browser.defer.now).toEqual(10); - expect(log).toEqual('A;B;'); - - browser.defer.flush(10); - expect(browser.defer.now).toEqual(20); + browser.defer.flush(); expect(log).toEqual('A;B;C;'); }); |
