當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript TestScheduler.flush方法代碼示例

本文整理匯總了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']);
  });
開發者ID:jaychsu,項目名稱:RxJS,代碼行數:30,代碼來源:bindCallback-spec.ts

示例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;
 });
開發者ID:DallanQ,項目名稱:rxjs,代碼行數:10,代碼來源:finalize-spec.ts

示例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;
 });
開發者ID:DallanQ,項目名稱:rxjs,代碼行數:10,代碼來源:empty-spec.ts

示例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();
  });
開發者ID:DallanQ,項目名稱:rxjs,代碼行數:13,代碼來源:throttleTime-spec.ts

示例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);
  });
開發者ID:DallanQ,項目名稱:rxjs,代碼行數:17,代碼來源:IteratorObservable-spec.ts

示例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']);
    });
開發者ID:jaychsu,項目名稱:RxJS,代碼行數:18,代碼來源:bindNodeCallback-spec.ts


注:本文中的rxjs/testing.TestScheduler.flush方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。