32 lines
787 B
JavaScript
32 lines
787 B
JavaScript
describe("Timer", function() {
|
|
it("reports the time elapsed", function() {
|
|
var fakeNow = jasmine.createSpy('fake Date.now'),
|
|
timer = new j$.Timer({now: fakeNow});
|
|
|
|
fakeNow.and.returnValue(100);
|
|
timer.start();
|
|
|
|
fakeNow.and.returnValue(200);
|
|
|
|
expect(timer.elapsed()).toEqual(100);
|
|
});
|
|
|
|
describe("when date is stubbed, perhaps by other testing helpers", function() {
|
|
var origDate = Date;
|
|
beforeEach(function() {
|
|
Date = jasmine.createSpy('date spy');
|
|
});
|
|
|
|
afterEach(function() {
|
|
Date = origDate;
|
|
});
|
|
|
|
it("does not throw even though Date was taken away", function() {
|
|
var timer = new j$.Timer();
|
|
|
|
expect(timer.start).not.toThrow();
|
|
expect(timer.elapsed()).toEqual(jasmine.any(Number));
|
|
});
|
|
});
|
|
});
|