diff options
| author | Matias Niemelä | 2013-07-23 23:45:21 -0400 |
|---|---|---|
| committer | Igor Minar | 2013-07-26 08:56:41 -0700 |
| commit | b7fdabc4bf2a9dd11a57f98c5229d834c4589bab (patch) | |
| tree | cda74760e8142e60b515afe4e395e8ff8e84b79c | |
| parent | 258cae83dc1a03b6b878a7b4236c499288cd2624 (diff) | |
| download | angular.js-b7fdabc4bf2a9dd11a57f98c5229d834c4589bab.tar.bz2 | |
feat(ngMock): support delay limit for $timeout.flush
| -rw-r--r-- | src/ngMock/angular-mocks.js | 6 | ||||
| -rw-r--r-- | test/ngMock/angular-mocksSpec.js | 14 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 3024a4c9..aed67c29 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -1487,9 +1487,11 @@ angular.mock.$TimeoutDecorator = function($delegate, $browser) { * @description * * Flushes the queue of pending tasks. + * + * @param {number=} delay maximum timeout amount to flush up until */ - $delegate.flush = function() { - $browser.defer.flush(); + $delegate.flush = function(delay) { + $browser.defer.flush(delay); }; /** diff --git a/test/ngMock/angular-mocksSpec.js b/test/ngMock/angular-mocksSpec.js index 4e17dfb2..37bf001a 100644 --- a/test/ngMock/angular-mocksSpec.js +++ b/test/ngMock/angular-mocksSpec.js @@ -351,6 +351,20 @@ describe('ngMock', function() { $timeout.flush(); expect(function() {$timeout.verifyNoPendingTasks();}).not.toThrow(); })); + + + it('should check against the delay if provided within timeout', inject(function($timeout) { + $timeout(noop, 100); + $timeout.flush(100); + expect(function() {$timeout.verifyNoPendingTasks();}).not.toThrow(); + + $timeout(noop, 1000); + $timeout.flush(100); + expect(function() {$timeout.verifyNoPendingTasks();}).toThrow(); + + $timeout.flush(900); + expect(function() {$timeout.verifyNoPendingTasks();}).not.toThrow(); + })); }); |
