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


TypeScript resource_loader_mock.MockResourceLoader類代碼示例

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


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

示例1: createSummaries

    function createSummaries() {
      const resourceLoader = new MockResourceLoader();

      setMetadata(resourceLoader);

      TestBed.configureCompiler({providers: [{provide: ResourceLoader, useValue: resourceLoader}]});
      TestBed.configureTestingModule({imports: [SomeModule], providers: [SomeDep]});

      let summariesPromise = TestBed.compileComponents().then(() => {
        const metadataResolver = TestBed.get(CompileMetadataResolver) as CompileMetadataResolver;
        const summaries = [
          metadataResolver.getNgModuleSummary(SomeModule),
          // test nesting via closures, as we use this in the generated code too.
          () =>
              [metadataResolver.getDirectiveSummary(SomePublicComponent),
               metadataResolver.getDirectiveSummary(SomePrivateComponent),
        ],
          metadataResolver.getDirectiveSummary(SomeDirective),
          metadataResolver.getPipeSummary(SomePipe),
          metadataResolver.getInjectableSummary(SomeService)
        ];
        clearMetadata();
        TestBed.resetTestingModule();
        return () => summaries;
      });

      resourceLoader.flush();
      return summariesPromise;
    }
開發者ID:thorn0,項目名稱:angular,代碼行數:29,代碼來源:jit_summaries_integration_spec.ts

示例2: setMetadata

    function setMetadata(resourceLoader: MockResourceLoader) {
      Base.parameters = [[SomeDep]];

      SomeModule.annotations = [new NgModule({
        declarations: [SomePublicComponent, SomePrivateComponent, SomeDirective, SomePipe],
        exports: [SomeDirective, SomePipe, SomePublicComponent],
        providers: [SomeService]
      })];

      SomePublicComponent.annotations = [new Component({templateUrl: 'somePublicUrl.html'})];
      resourceLoader.expect('somePublicUrl.html', `Hello public world!`);

      SomePrivateComponent.annotations = [new Component({templateUrl: 'somePrivateUrl.html'})];
      resourceLoader.expect('somePrivateUrl.html', `Hello private world!`);

      SomeDirective.annotations = [new Directive({selector: '[someDir]'})];

      SomePipe.annotations = [new Pipe({name: 'somePipe'})];

      SomeService.annotations = [new Injectable()];
    }
開發者ID:thorn0,項目名稱:angular,代碼行數:21,代碼來源:jit_summaries_integration_spec.ts

示例3: describe

  describe('MockResourceLoader', () => {
    let resourceLoader: MockResourceLoader;

    beforeEach(() => { resourceLoader = new MockResourceLoader(); });

    function expectResponse(
        request: Promise<string>, url: string, response: string, done: () => void = null) {
      function onResponse(text: string): string {
        if (response === null) {
          throw `Unexpected response ${url} -> ${text}`;
        } else {
          expect(text).toEqual(response);
          if (done != null) done();
        }
        return text;
      }

      function onError(error: string): string {
        if (response !== null) {
          throw `Unexpected error ${url}`;
        } else {
          expect(error).toEqual(`Failed to load ${url}`);
          if (done != null) done();
        }
        return error;
      }

      request.then(onResponse, onError);
    }

    it('should return a response from the definitions',
       inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
         const url = '/foo';
         const response = 'bar';
         resourceLoader.when(url, response);
         expectResponse(resourceLoader.get(url), url, response, () => async.done());
         resourceLoader.flush();
       }));

    it('should return an error from the definitions',
       inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
         const url = '/foo';
         const response: string = null;
         resourceLoader.when(url, response);
         expectResponse(resourceLoader.get(url), url, response, () => async.done());
         resourceLoader.flush();
       }));

    it('should return a response from the expectations',
       inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
         const url = '/foo';
         const response = 'bar';
         resourceLoader.expect(url, response);
         expectResponse(resourceLoader.get(url), url, response, () => async.done());
         resourceLoader.flush();
       }));

    it('should return an error from the expectations',
       inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
         const url = '/foo';
         const response: string = null;
         resourceLoader.expect(url, response);
         expectResponse(resourceLoader.get(url), url, response, () => async.done());
         resourceLoader.flush();
       }));

    it('should not reuse expectations', () => {
      const url = '/foo';
      const response = 'bar';
      resourceLoader.expect(url, response);
      resourceLoader.get(url);
      resourceLoader.get(url);
      expect(() => { resourceLoader.flush(); }).toThrowError('Unexpected request /foo');
    });

    it('should return expectations before definitions',
       inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
         const url = '/foo';
         resourceLoader.when(url, 'when');
         resourceLoader.expect(url, 'expect');
         expectResponse(resourceLoader.get(url), url, 'expect');
         expectResponse(resourceLoader.get(url), url, 'when', () => async.done());
         resourceLoader.flush();
       }));

    it('should throw when there is no definitions or expectations', () => {
      resourceLoader.get('/foo');
      expect(() => { resourceLoader.flush(); }).toThrowError('Unexpected request /foo');
    });

    it('should throw when flush is called without any pending requests', () => {
      expect(() => { resourceLoader.flush(); }).toThrowError('No pending requests to flush');
    });

    it('should throw on unsatisfied expectations', () => {
      resourceLoader.expect('/foo', 'bar');
      resourceLoader.when('/bar', 'foo');
      resourceLoader.get('/bar');
      expect(() => { resourceLoader.flush(); }).toThrowError('Unsatisfied requests: /foo');
    });
//.........這裏部分代碼省略.........
開發者ID:JohnnyQQQQ,項目名稱:angular,代碼行數:101,代碼來源:resource_loader_mock_spec.ts

示例4: inject

 inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
   const url = '/foo';
   const response: string = null;
   resourceLoader.expect(url, response);
   expectResponse(resourceLoader.get(url), url, response, () => async.done());
   resourceLoader.flush();
 }));
開發者ID:JohnnyQQQQ,項目名稱:angular,代碼行數:7,代碼來源:resource_loader_mock_spec.ts

示例5: it

 it('should not reuse expectations', () => {
   const url = '/foo';
   const response = 'bar';
   resourceLoader.expect(url, response);
   resourceLoader.get(url);
   resourceLoader.get(url);
   expect(() => { resourceLoader.flush(); }).toThrowError('Unexpected request /foo');
 });
開發者ID:JohnnyQQQQ,項目名稱:angular,代碼行數:8,代碼來源:resource_loader_mock_spec.ts

示例6: expect

 expect(() => { resourceLoader.flush(); }).toThrowError('Unexpected request /foo');
開發者ID:JohnnyQQQQ,項目名稱:angular,代碼行數:1,代碼來源:resource_loader_mock_spec.ts


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