From 4f2f3c9cbf345301ca8feac308878b7ac0d0a597 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Tue, 17 May 2011 13:13:16 -0700 Subject: Added support for deferring callbacks in time --- src/angular-mocks.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 5cf7ff7c..0f806917 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -161,12 +161,19 @@ function MockBrowser() { self.lastCookieHash = {}; self.deferredFns = []; - self.defer = function(fn) { - self.deferredFns.push(fn); + self.defer = function(fn, delay) { + delay = delay || 0; + self.deferredFns.push({time:(self.defer.now + delay), fn:fn}); + self.deferredFns.sort(function(a,b){ return a.time - b.time;}); }; - self.defer.flush = function() { - while (self.deferredFns.length) self.deferredFns.shift()(); + self.defer.now = 0; + + self.defer.flush = function(time) { + self.defer.now += (time || 0); + while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) { + self.deferredFns.shift().fn(); + } }; } MockBrowser.prototype = { -- cgit v1.2.3