From 6fa1d63d44ddf0aaa64541891de6cba53d28e248 Mon Sep 17 00:00:00 2001 From: Daniel Luxemburg Date: Mon, 3 Feb 2014 20:04:46 -0500 Subject: [PATCH] fix(ngMock): return immediately from mock $interval.cancel() when no promise argument is supplied --- src/ngMock/angular-mocks.js | 1 + test/ngMock/angular-mocksSpec.js | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 19f0ac9d7ed9..e8e446d1e137 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -504,6 +504,7 @@ angular.mock.$IntervalProvider = function() { }; $interval.cancel = function(promise) { + if(!promise) return false; var fnIndex; angular.forEach(repeatFns, function(fn, index) { diff --git a/test/ngMock/angular-mocksSpec.js b/test/ngMock/angular-mocksSpec.js index fb602adc2ace..dc04edcd90d1 100644 --- a/test/ngMock/angular-mocksSpec.js +++ b/test/ngMock/angular-mocksSpec.js @@ -509,6 +509,11 @@ describe('ngMock', function() { it('should not throw a runtime exception when given an undefined promise', inject(function($interval) { + var task1 = jasmine.createSpy('task1'), + promise1; + + promise1 = $interval(task1, 1000, 1); + expect($interval.cancel()).toBe(false); })); });