diff options
Diffstat (limited to 'src/angular-mocks.js')
| -rw-r--r-- | src/angular-mocks.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/angular-mocks.js b/src/angular-mocks.js index a4941288..20423f05 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -281,15 +281,32 @@ function MockBrowser() { self.cookieHash = {}; self.lastCookieHash = {}; self.deferredFns = []; + self.deferredNextId = 0; self.defer = function(fn, delay) { delay = delay || 0; - self.deferredFns.push({time:(self.defer.now + delay), fn:fn}); + self.deferredFns.push({time:(self.defer.now + delay), fn:fn, id: self.deferredNextId}); self.deferredFns.sort(function(a,b){ return a.time - b.time;}); + return self.deferredNextId++; }; + self.defer.now = 0; + + self.defer.cancel = function(deferId) { + var fnIndex; + + forEach(self.deferredFns, function(fn, index) { + if (fn.id === deferId) fnIndex = index; + }); + + if (fnIndex) { + self.deferredFns.splice(fnIndex, 1); + } + } + + self.defer.flush = function(delay) { if (angular.isDefined(delay)) { self.defer.now += delay; |
