• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript static_reflector.StaticReflectorHost类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中angular2/src/compiler/static_reflector.StaticReflectorHost的典型用法代码示例。如果您正苦于以下问题:TypeScript StaticReflectorHost类的具体用法?TypeScript StaticReflectorHost怎么用?TypeScript StaticReflectorHost使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了StaticReflectorHost类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: describe

  describe('StaticReflector', () => {
    let host: StaticReflectorHost;
    let reflector: StaticReflector;

    beforeEach(() => {
      host = new MockReflectorHost();
      reflector = new StaticReflector(host);
    });

    function singleModuleSimplify(moduleContext: string, value: any) {
      return reflector.simplify(moduleContext, value, false);
    }

    function crossModuleSimplify(moduleContext: string, value: any) {
      return reflector.simplify(moduleContext, value, true);
    }

    it('should get annotations for NgFor', () => {
      let NgFor = reflector.getStaticType(
          host.resolveModule('angular2/src/common/directives/ng_for'), 'NgFor');
      let annotations = reflector.annotations(NgFor);
      expect(annotations.length).toEqual(1);
      let annotation = annotations[0];
      expect(annotation.selector).toEqual('[ngFor][ngForOf]');
      expect(annotation.inputs).toEqual(['ngForTrackBy', 'ngForOf', 'ngForTemplate']);

    });

    it('should get constructor for NgFor', () => {
      let NgFor = reflector.getStaticType(
          host.resolveModule('angular2/src/common/directives/ng_for'), 'NgFor');
      let ViewContainerRef = reflector.getStaticType(
          host.resolveModule('angular2/src/core/linker/view_container_ref'), 'ViewContainerRef');
      let TemplateRef = reflector.getStaticType(
          host.resolveModule('angular2/src/core/linker/template_ref'), 'TemplateRef');
      let IterableDiffers = reflector.getStaticType(
          host.resolveModule('angular2/src/core/change_detection/differs/iterable_differs'),
          'IterableDiffers');
      let ChangeDetectorRef = reflector.getStaticType(
          host.resolveModule('angular2/src/core/change_detection/change_detector_ref'),
          'ChangeDetectorRef');

      let parameters = reflector.parameters(NgFor);
      expect(parameters)
          .toEqual([[ViewContainerRef], [TemplateRef], [IterableDiffers], [ChangeDetectorRef]]);
    });

    it('should get annotations for HeroDetailComponent', () => {
      let HeroDetailComponent =
          reflector.getStaticType('/src/app/hero-detail.component.ts', 'HeroDetailComponent');
      let annotations = reflector.annotations(HeroDetailComponent);
      expect(annotations.length).toEqual(1);
      let annotation = annotations[0];
      expect(annotation.selector).toEqual('my-hero-detail');
      expect(annotation.directives)
          .toEqual([
            [
              reflector.getStaticType(host.resolveModule('angular2/src/common/directives/ng_for'),
                                      'NgFor')
            ]
          ]);
    });

    it('should get and empty annotation list for an unknown class', () => {
      let UnknownClass = reflector.getStaticType('/src/app/app.component.ts', 'UnknownClass');
      let annotations = reflector.annotations(UnknownClass);
      expect(annotations).toEqual([]);
    });

    it('should get propMetadata for HeroDetailComponent', () => {
      let HeroDetailComponent =
          reflector.getStaticType('/src/app/hero-detail.component.ts', 'HeroDetailComponent');
      let props = reflector.propMetadata(HeroDetailComponent);
      expect(props['hero']).toBeTruthy();
    });

    it('should get an empty object from propMetadata for an unknown class', () => {
      let UnknownClass = reflector.getStaticType('/src/app/app.component.ts', 'UnknownClass');
      let properties = reflector.propMetadata(UnknownClass);
      expect(properties).toEqual({});
    });

    it('should get empty parameters list for an unknown class ', () => {
      let UnknownClass = reflector.getStaticType('/src/app/app.component.ts', 'UnknownClass');
      let parameters = reflector.parameters(UnknownClass);
      expect(parameters).toEqual([]);
    });

    it('should simplify primitive into itself', () => {
      expect(singleModuleSimplify('', 1)).toBe(1);
      expect(singleModuleSimplify('', true)).toBe(true);
      expect(singleModuleSimplify('', "some value")).toBe("some value");
    });

    it('should simplify an array into a copy of the array',
       () => { expect(singleModuleSimplify('', [1, 2, 3])).toEqual([1, 2, 3]); });

    it('should simplify an object to a copy of the object', () => {
      let expr = {a: 1, b: 2, c: 3};
      expect(singleModuleSimplify('', expr)).toEqual(expr);
//.........这里部分代码省略.........
开发者ID:Zbonger,项目名称:angular,代码行数:101,代码来源:static_reflector_spec.ts


示例2: it

    it('should get constructor for NgFor', () => {
      let NgFor = reflector.getStaticType(
          host.resolveModule('angular2/src/common/directives/ng_for'), 'NgFor');
      let ViewContainerRef = reflector.getStaticType(
          host.resolveModule('angular2/src/core/linker/view_container_ref'), 'ViewContainerRef');
      let TemplateRef = reflector.getStaticType(
          host.resolveModule('angular2/src/core/linker/template_ref'), 'TemplateRef');
      let IterableDiffers = reflector.getStaticType(
          host.resolveModule('angular2/src/core/change_detection/differs/iterable_differs'),
          'IterableDiffers');
      let ChangeDetectorRef = reflector.getStaticType(
          host.resolveModule('angular2/src/core/change_detection/change_detector_ref'),
          'ChangeDetectorRef');

      let parameters = reflector.parameters(NgFor);
      expect(parameters)
          .toEqual([[ViewContainerRef], [TemplateRef], [IterableDiffers], [ChangeDetectorRef]]);
    });
开发者ID:Zbonger,项目名称:angular,代码行数:18,代码来源:static_reflector_spec.ts



注:本文中的angular2/src/compiler/static_reflector.StaticReflectorHost类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap