diff options
| author | Julie | 2013-09-13 12:47:05 -0700 |
|---|---|---|
| committer | Vojta Jina | 2013-10-07 13:45:40 -0700 |
| commit | 2b5ce84fca7b41fca24707e163ec6af84bc12e83 (patch) | |
| tree | d3fbcfd3c7e2e62fe60df6faa9823abda57b9bd7 /test/ng/timeoutSpec.js | |
| parent | a80e96cea184b392505f0a292785a5c66d45e165 (diff) | |
| download | angular.js-2b5ce84fca7b41fca24707e163ec6af84bc12e83.tar.bz2 | |
feat($interval): add a service wrapping setInterval
The $interval service simplifies creating and testing recurring tasks.
This service does not increment $browser's outstanding request count,
which means that scenario tests and Protractor tests will not timeout
when a site uses a polling function registered by $interval. Provides
a workaround for #2402.
For unit tests, repeated tasks can be controlled using ngMock$interval's
tick(), tickNext(), and tickAll() functions.
Diffstat (limited to 'test/ng/timeoutSpec.js')
| -rw-r--r-- | test/ng/timeoutSpec.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ng/timeoutSpec.js b/test/ng/timeoutSpec.js index 8de63bec..97c8448e 100644 --- a/test/ng/timeoutSpec.js +++ b/test/ng/timeoutSpec.js @@ -165,6 +165,20 @@ describe('$timeout', function() { })); + it('should cancel the promise', inject(function($timeout, log) { + var promise = $timeout(noop); + promise.then(function(value) { log('promise success: ' + value); }, + function(err) { log('promise error: ' + err); }, + function(note) { log('promise update: ' + note); }); + expect(log).toEqual([]); + + $timeout.cancel(promise); + $timeout.flush(); + + expect(log).toEqual(['promise error: canceled']); + })); + + it('should return true if a task was successfully canceled', inject(function($timeout) { var task1 = jasmine.createSpy('task1'), task2 = jasmine.createSpy('task2'), |
