diff --git a/spec/core/DelayedFunctionSchedulerSpec.js b/spec/core/DelayedFunctionSchedulerSpec.js index 0615f493..8370ace2 100644 --- a/spec/core/DelayedFunctionSchedulerSpec.js +++ b/spec/core/DelayedFunctionSchedulerSpec.js @@ -12,6 +12,19 @@ describe("DelayedFunctionScheduler", function() { expect(fn).toHaveBeenCalled(); }); + it("defaults delay to 0", function() { + var scheduler = new jasmine.DelayedFunctionScheduler(), + fn = jasmine.createSpy('fn'); + + scheduler.scheduleFunction(fn); + + expect(fn).not.toHaveBeenCalled(); + + scheduler.tick(0); + + expect(fn).toHaveBeenCalled(); + }); + it("optionally passes params to scheduled functions", function() { var scheduler = new jasmine.DelayedFunctionScheduler(), fn = jasmine.createSpy('fn'); diff --git a/src/core/DelayedFunctionScheduler.js b/src/core/DelayedFunctionScheduler.js index 15cb3f37..0f9cb399 100644 --- a/src/core/DelayedFunctionScheduler.js +++ b/src/core/DelayedFunctionScheduler.js @@ -5,11 +5,13 @@ jasmine.DelayedFunctionScheduler = function() { var delayedFnCount = 0; self.tick = function(millis) { + millis = millis || 0; runFunctionsWithinRange(currentTime, currentTime + millis); currentTime = currentTime + millis; }; self.scheduleFunction = function(funcToCall, millis, params, recurring, timeoutKey, runAtMillis) { + millis = millis || 0; timeoutKey = timeoutKey || ++delayedFnCount; runAtMillis = runAtMillis || (currentTime + millis); scheduledFunctions[timeoutKey] = {