This commit is contained in:
Davis W. Frank
2013-04-20 08:27:38 -07:00
parent 9c4467bac0
commit dd8d3f9788
3 changed files with 28 additions and 8 deletions

View File

@@ -896,7 +896,7 @@ jasmine.Clock = function(global, delayedFunctionScheduler) {
}
return timer.setTimeout(fn, delay);
}
return timer.setTimeout.apply(null, arguments);
return timer.setTimeout.apply(global, arguments);
};
self.setInterval = function(fn, delay, params) {
@@ -906,15 +906,15 @@ jasmine.Clock = function(global, delayedFunctionScheduler) {
}
return timer.setInterval(fn, delay);
}
return timer.setInterval.apply(null, arguments);
return timer.setInterval.apply(global, arguments);
};
self.clearTimeout = function(id) {
return timer.clearTimeout(id);
return timer.clearTimeout.call(global, id);
};
self.clearInterval = function(id) {
return timer.clearInterval(id);
return timer.clearInterval.call(global, id);
};
self.tick = function(millis) {

View File

@@ -291,4 +291,24 @@ describe("Clock (acceptance)", function() {
clock.tick(5);
expect(delayedFn1).toHaveBeenCalled();
});
it("calls the global clearTimeout correctly when not installed", function () {
var delayedFunctionScheduler = jasmine.createSpyObj('delayedFunctionScheduler', ['clearTimeout']),
global = originalJasmine.getGlobal(),
clock = new jasmine.Clock(global, delayedFunctionScheduler);
expect(function() {
clock.clearTimeout(123)
}).not.toThrow();
});
it("calls the global clearTimeout correctly when not installed", function () {
var delayedFunctionScheduler = jasmine.createSpyObj('delayedFunctionScheduler', ['clearTimeout']),
global = originalJasmine.getGlobal(),
clock = new jasmine.Clock(global, delayedFunctionScheduler);
expect(function() {
clock.clearInterval(123)
}).not.toThrow();
});
});

View File

@@ -33,7 +33,7 @@ jasmine.Clock = function(global, delayedFunctionScheduler) {
}
return timer.setTimeout(fn, delay);
}
return timer.setTimeout.apply(null, arguments);
return timer.setTimeout.apply(global, arguments);
};
self.setInterval = function(fn, delay, params) {
@@ -43,15 +43,15 @@ jasmine.Clock = function(global, delayedFunctionScheduler) {
}
return timer.setInterval(fn, delay);
}
return timer.setInterval.apply(null, arguments);
return timer.setInterval.apply(global, arguments);
};
self.clearTimeout = function(id) {
return timer.clearTimeout(id);
return timer.clearTimeout.call(global, id);
};
self.clearInterval = function(id) {
return timer.clearInterval(id);
return timer.clearInterval.call(global, id);
};
self.tick = function(millis) {