. , , RxJs . , , RxJs5, .
RxJs5 RxJs4
RxJs4 5, , , , , TestScheduler . RxJs contributor kwonoj , RxJs5. npm npm install @kwonoj/rxjs-testscheduler-compat. TestScheduler , .startScheduler.
const TestScheduler = require('@kwonoj/rxjs-testscheduler-compat').TestScheduler;
const next = require('@kwonoj/rxjs-testscheduler-compat').next;
const complete = require('@kwonoj/rxjs-testscheduler-compat').complete;
it('works in RxJs5 with the compat package', () => {
const scheduler = new TestScheduler();
const results = scheduler.startScheduler(
() => Rx.Observable.interval(100, scheduler).take(3),
{ created: 100, subscribed: 200, unsubscribed: 1000 }
);
collectionAssert.assertEqual(res.messages, [
next(200 + 100, 0),
next(200 + 200, 1),
next(200 + 300, 2),
complete(200 + 300)
]);
});
RxJs5 Marble
RxJs , , .
var e1 = hot('----a--^--b-------c--|');
var e2 = hot( '---d-^--e---------f-----|');
var expected = '---(be)----c-f-----|';
expectObservable(e1.merge(e2)).toBe(expected);
RxJs5. , , . codebase RxJs5, , , . RxJs5. .