本文整理汇总了TypeScript中rxjs/testing.TestScheduler.flush方法的典型用法代码示例。如果您正苦于以下问题:TypeScript TestScheduler.flush方法的具体用法?TypeScript TestScheduler.flush怎么用?TypeScript TestScheduler.flush使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rxjs/testing.TestScheduler
的用法示例。
在下文中一共展示了TestScheduler.flush方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should cache value for next subscription and not call callbackFunc again', () => {
let calls = 0;
function callback(datum: number, cb: (x: number) => void) {
calls++;
cb(datum);
}
const boundCallback = bindCallback(callback, rxTestScheduler);
const results1: Array<number|string> = [];
const results2: Array<number|string> = [];
const source = boundCallback(42);
source.subscribe(x => {
results1.push(x);
}, null, () => {
results1.push('done');
});
source.subscribe(x => {
results2.push(x);
}, null, () => {
results2.push('done');
});
rxTestScheduler.flush();
expect(calls).to.equal(1);
expect(results1).to.deep.equal([42, 'done']);
expect(results2).to.deep.equal([42, 'done']);
});
示例2: it
it('should handle never', () => {
let executed = false;
let s1 = hot('-');
let result = s1.pipe(finalize(() => executed = true));
let expected = '-';
expectObservable(result).toBe(expected);
// manually flush so `finalize()` has chance to execute before the test is over.
rxTestScheduler.flush();
expect(executed).to.be.false;
});
示例3: it
it('should take a scheduler', () => {
const source = empty(rxTestScheduler);
let hit = false;
source.subscribe({
complete() { hit = true; }
});
expect(hit).to.be.false;
rxTestScheduler.flush();
expect(hit).to.be.true;
});
示例4: it
it('should throttle events multiple times', () => {
const expected = ['1-0', '2-0'];
concat(
timer(0, 10, rxTestScheduler).pipe(take(3), map((x: number) => '1-' + x)),
timer(80, 10, rxTestScheduler).pipe(take(5), map((x: number) => '2-' + x))
).pipe(
throttleTime(50, rxTestScheduler)
).subscribe((x: string) => {
expect(x).to.equal(expected.shift());
});
rxTestScheduler.flush();
});
示例5: it
it('should get new iterator for each subscription', () => {
const expected = [
Notification.createNext(10),
Notification.createNext(20),
Notification.createComplete()
];
const e1 = fromIterable<number>(new Int32Array([10, 20]), undefined).pipe(observeOn(rxTestScheduler));
let v1, v2: Array<Notification<any>>;
e1.pipe(materialize()).toArray().subscribe((x) => v1 = x);
e1.pipe(materialize()).toArray().subscribe((x) => v2 = x);
rxTestScheduler.flush();
expect(v1).to.deep.equal(expected);
expect(v2).to.deep.equal(expected);
});
示例6: it
it('should set context of callback to context of boundCallback', () => {
function callback(this: { datum: number }, cb: (err: any, n: number) => void) {
cb(null, this.datum);
}
const boundCallback = bindNodeCallback(callback, rxTestScheduler);
const results: Array<number | string> = [];
boundCallback.call({datum: 42})
.subscribe(
(x: number) => results.push(x),
null,
() => results.push('done')
);
rxTestScheduler.flush();
expect(results).to.deep.equal([42, 'done']);
});