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


TypeScript testing.TestScheduler類代碼示例

本文整理匯總了TypeScript中rxjs/testing.TestScheduler的典型用法代碼示例。如果您正苦於以下問題:TypeScript TestScheduler類的具體用法?TypeScript TestScheduler怎麽用?TypeScript TestScheduler使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了TestScheduler類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: it

  it('should clear out meesages array after 3 sec', () => {
    const testScheduler = new TestScheduler((actual, expected) => {
      expect(component.messages.length).toBe(0);
    });

    testScheduler.run(({ cold, expectObservable }) => {
      const input = cold('-a--|');
      input.pipe(tap(v => component.message$.next({} as any)));
      const expected = '-- 2999ms a ---|';
      expectObservable(component.remover$).toBe(expected);
    });
  });
開發者ID:chgc,項目名稱:stream-tools,代碼行數:12,代碼來源:display.component.spec.ts

示例2: 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

示例3: it

  it('should schedule a value at a specified Date', () => {
    const offset = time('----|');
    const expected =    '----(a|)';

    const dueTime = new Date(rxTestScheduler.now() + offset);
    const source = timer(dueTime, null, rxTestScheduler);
    expectObservable(source).toBe(expected, {a: 0});
  });
開發者ID:deanius,項目名稱:RxJS,代碼行數:8,代碼來源:timer-spec.ts

示例4: 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

示例5: 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

示例6: it

  it('should delay by absolute time period after subscription', () => {
    const e1 =   hot('---^--a--b--|  ');
    const t =   time(      '---|     ');
    const expected =    '------a--b--|';
    const subs =        '^           !';

    const absoluteDelay = new Date(rxTestScheduler.now() + t);
    const result = e1.delay(absoluteDelay, rxTestScheduler);

    expectObservable(result).toBe(expected);
    expectSubscriptions(e1.subscriptions).toBe(subs);
  });
開發者ID:tomastrajan,項目名稱:rxjs,代碼行數:12,代碼來源:delay-spec.ts

示例7:

		it('should skip entries with existing values', () => {
			const scheme = {
				src: '^--1--1--2|',
				sub: '^---------!',
				res: '0--1-----2-',
			};
			type Entity = {
				key: string;
				value: string;
			};
			const values = {
				1: {
					key: 'foo',
					value: 'fooValue',
				},
				2: {
					key: 'bar',
					value: 'barValue',
				},
			};
			const expected = {
				0: [],
				1: [[values[1].key, values[1].value]],
				2: [[values[1].key, values[1].value], [values[2].key, values[2].value]],
			};
			scheduler
				.createHotObservable<Entity>(scheme.src, values)
				.pipe(tap(value => map.set(value.key, value.value)))
				.subscribe();
			scheduler.expectObservable(map.entries$).toBe(scheme.res, expected);
		});
開發者ID:sutarmin,項目名稱:dx-platform,代碼行數:31,代碼來源:observable-map.utils.test.ts


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