diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngMock/angular-mocks.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 125a42a6..05fdc4ed 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -104,19 +104,28 @@ angular.mock.$Browser = function() { * @param {number=} number of milliseconds to flush. See {@link #defer.now} */ self.defer.flush = function(delay) { + var flushedSomething = false; + if (angular.isDefined(delay)) { self.defer.now += delay; } else { if (self.deferredFns.length) { self.defer.now = self.deferredFns[self.deferredFns.length-1].time; - } else { - throw Error('No deferred tasks to be flushed'); } } while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) { + flushedSomething = true; self.deferredFns.shift().fn(); } + + if (!flushedSomething) { + if (angular.isUndefined(delay)) { + throw Error('No deferred tasks to be flushed!'); + } else { + throw Error('No deferred tasks with delay up to ' + delay + 'ms to be flushed!') + } + } }; /** |
