Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.

Commit 3f5dbcd

Browse files
committed
deal in Dates in observableTimerDateAndPeriod - Fixes #941
1 parent 985f1eb commit 3f5dbcd

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

src/core/linq/observable/_observabletimerdateandperiod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
return scheduler.scheduleRecursiveFuture(0, d, function (count, self) {
55
if (p > 0) {
66
var now = scheduler.now();
7-
d = d + p;
8-
d <= now && (d = now + p);
7+
d = new Date(d.getTime() + p);
8+
d.getTime() <= now && (d = new Date(now + p));
99
}
1010
observer.onNext(count);
1111
self(count + 1, new Date(d));

tests/observable/timer.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,19 @@
7070
raises(function () { scheduler2.start(); });
7171
});
7272

73+
test('timer relative start and periodically repeat', function() {
74+
var scheduler = new TestScheduler();
75+
76+
var results = scheduler.startScheduler(function() {
77+
return Rx.Observable.timer(300, 100, scheduler);
78+
});
79+
80+
results.messages.assertEqual(
81+
onNext(500, 0),
82+
onNext(600, 1),
83+
onNext(700, 2),
84+
onNext(800, 3),
85+
onNext(900, 4)
86+
);
87+
});
7388
}());

0 commit comments

Comments
 (0)