Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var test = function(spec) {
- spec.timers = spec.timers || {};
- var that = {};
- var addTimers = function(name, seconds, func) {
- spec.timers[name] = {"seconds":seconds, "func":func};
- };
- that.addTimers = addTimers;
- var startTimers = function() {
- var name, row;
- for(name in spec.timers) {
- row = spec.timers[name];
- row.timer = setTimeout(row.func, row.seconds*1000, name);
- }
- };
- that.startTimers = startTimers;
- return that;
- };
- var say = function(msg) {
- console.log(msg);
- };
- var my = test({});
- my.addTimers('bob', 5, say);
- my.startTimers();
- describe("timers", function() {
- var t, timerCallback;
- beforeEach(function() {
- t = test({});
- timerCallback = jasmine.createSpy("timerCallback");
- jasmine.clock().install();
- };
- afterEach(function() {
- jasmine.clock().uninstall();
- };
- it("should start all queued timers", function() {
- t.addTimers('bob', 100, timerCallback);
- t.startTimers();
- expect(timerCallback).not.toHaveBeenCalled();
- jasmine.clock().tick(101*1000);
- expect(timerCallback).toHaveBeenCalled();
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement