TypeScript @angular-compiler-src-output-dart_imports.DartImportGenerator类(方法)实例源码

下面列出了TypeScript @angular-compiler-src-output-dart_imports.DartImportGenerator 类(方法)源码代码实例,从而了解它的用法。

作者:BharatBhatiy    项目:tes   
describe('getImportPath', () => {
      var generator: DartImportGenerator;
      beforeEach(() => { generator = new DartImportGenerator(); });

      it('should calculate relative paths Dart', () => {
        expect(generator.getImportPath('asset:somePkg/lib/modPath', 'asset:somePkg/lib/impPath'))
            .toEqual('impPath');
      });

      it('should calculate relative paths for different constellations', () => {
        expect(generator.getImportPath('asset:somePkg/test/modPath', 'asset:somePkg/test/impPath'))
            .toEqual('impPath');
        expect(
            generator.getImportPath('asset:somePkg/lib/modPath', 'asset:somePkg/lib/dir2/impPath'))
            .toEqual('dir2/impPath');
        expect(
            generator.getImportPath('asset:somePkg/lib/dir1/modPath', 'asset:somePkg/lib/impPath'))
            .toEqual('../impPath');
        expect(generator.getImportPath(
                   'asset:somePkg/lib/dir1/modPath', 'asset:somePkg/lib/dir2/impPath'))
            .toEqual('../dir2/impPath');
      });

      it('should calculate absolute paths', () => {
        expect(
            generator.getImportPath('asset:somePkg/lib/modPath', 'asset:someOtherPkg/lib/impPath'))
            .toEqual('package:someOtherPkg/impPath');
      });

      it('should not allow absolute imports of non lib modules', () => {
        expect(
            () =>
                generator.getImportPath('asset:somePkg/lib/modPath', 'asset:somePkg/test/impPath'))
            .toThrowError(
                `Can't import url asset:somePkg/test/impPath from asset:somePkg/lib/modPath`);
      });

      it('should not allow non asset urls as base url', () => {
        expect(
            () => generator.getImportPath('http:somePkg/lib/modPath', 'asset:somePkg/test/impPath'))
            .toThrowError(`Url http:somePkg/lib/modPath is not a valid asset: url`);
      });

      it('should allow non asset urls as import urls and pass them through', () => {
        expect(generator.getImportPath('asset:somePkg/lib/modPath', 'dart:html'))
            .toEqual('dart:html');
      });
    });

作者:0xJoK    项目:angula   
it('should calculate relative paths for different constellations', () => {
   expect(generator.getImportPath('asset:somePkg/test/modPath', 'asset:somePkg/test/impPath'))
       .toEqual('impPath');
   expect(
       generator.getImportPath('asset:somePkg/lib/modPath', 'asset:somePkg/lib/dir2/impPath'))
       .toEqual('dir2/impPath');
   expect(
       generator.getImportPath('asset:somePkg/lib/dir1/modPath', 'asset:somePkg/lib/impPath'))
       .toEqual('../impPath');
   expect(generator.getImportPath('asset:somePkg/lib/dir1/modPath',
                                  'asset:somePkg/lib/dir2/impPath'))
       .toEqual('../dir2/impPath');
 });

作者:0xJoK    项目:angula   
() => generator.getImportPath('http:somePkg/lib/modPath', 'asset:somePkg/test/impPath'))


问题


面经


文章

微信
公众号

扫码关注公众号