@angular/core 2.2.0-rc.0 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/core-testing.umd.js +44 -11
- package/bundles/core.umd.js +560 -513
- package/bundles/core.umd.min.js +8 -8
- package/package.json +1 -1
- package/src/animation/animation_group_player.d.ts +3 -1
- package/src/animation/animation_group_player.js +18 -7
- package/src/animation/animation_group_player.js.map +1 -1
- package/src/animation/animation_player.d.ts +1 -1
- package/src/animation/animation_player.js +1 -1
- package/src/animation/animation_player.js.map +1 -1
- package/src/animation/animation_queue.js +8 -0
- package/src/animation/animation_queue.js.map +1 -1
- package/src/animation/animation_sequence_player.d.ts +3 -1
- package/src/animation/animation_sequence_player.js +20 -8
- package/src/animation/animation_sequence_player.js.map +1 -1
- package/src/animation/animation_style_util.js +1 -0
- package/src/animation/animation_style_util.js.map +1 -1
- package/src/animation/animation_style_util.metadata.json +1 -1
- package/src/animation/metadata.js.map +1 -1
- package/src/animation/view_animation_map.js.map +1 -1
- package/src/change_detection/constants.d.ts +1 -1
- package/src/change_detection/constants.js +1 -1
- package/src/change_detection/constants.js.map +1 -1
- package/src/change_detection/differs/default_iterable_differ.js +2 -2
- package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
- package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
- package/src/change_detection/differs/iterable_differs.js.map +1 -1
- package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
- package/src/core_private_export.d.ts +8 -3
- package/src/core_private_export.js +6 -2
- package/src/core_private_export.js.map +1 -1
- package/src/core_private_export.metadata.json +1 -1
- package/src/debug/debug_node.js +12 -24
- package/src/debug/debug_node.js.map +1 -1
- package/src/debug/debug_node.metadata.json +1 -1
- package/src/debug/debug_renderer.d.ts +2 -2
- package/src/debug/debug_renderer.js +7 -5
- package/src/debug/debug_renderer.js.map +1 -1
- package/src/di/reflective_errors.js.map +1 -1
- package/src/di/reflective_injector.js.map +1 -1
- package/src/di/reflective_key.js.map +1 -1
- package/src/di/reflective_provider.js +13 -14
- package/src/di/reflective_provider.js.map +1 -1
- package/src/facade/collection.d.ts +2 -10
- package/src/facade/collection.js +8 -73
- package/src/facade/collection.js.map +1 -1
- package/src/facade/lang.d.ts +0 -1
- package/src/facade/lang.js +5 -24
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/linker/animation_view_context.d.ts +1 -1
- package/src/linker/animation_view_context.js +16 -5
- package/src/linker/animation_view_context.js.map +1 -1
- package/src/linker/component_factory.d.ts +8 -6
- package/src/linker/component_factory.js +17 -23
- package/src/linker/component_factory.js.map +1 -1
- package/src/linker/component_factory_resolver.js.map +1 -1
- package/src/linker/debug_context.js +6 -9
- package/src/linker/debug_context.js.map +1 -1
- package/src/linker/element_injector.js +1 -8
- package/src/linker/element_injector.js.map +1 -1
- package/src/linker/ng_module_factory.js.map +1 -1
- package/src/linker/ng_module_factory_loader.js.map +1 -1
- package/src/linker/system_js_ng_module_factory_loader.js +2 -1
- package/src/linker/system_js_ng_module_factory_loader.js.map +1 -1
- package/src/linker/template_ref.d.ts +5 -4
- package/src/linker/template_ref.js +8 -6
- package/src/linker/template_ref.js.map +1 -1
- package/src/linker/view.d.ts +29 -17
- package/src/linker/view.js +143 -51
- package/src/linker/view.js.map +1 -1
- package/src/linker/{element.d.ts → view_container.d.ts} +4 -7
- package/src/linker/{element.js → view_container.js} +45 -50
- package/src/linker/view_container.js.map +1 -0
- package/src/linker/view_container_ref.d.ts +2 -2
- package/src/linker/view_container_ref.js.map +1 -1
- package/src/linker/view_utils.d.ts +6 -10
- package/src/linker/view_utils.js +17 -14
- package/src/linker/view_utils.js.map +1 -1
- package/src/linker/view_utils.metadata.json +1 -1
- package/src/profile/wtf_impl.js.map +1 -1
- package/src/reflection/reflection_capabilities.js +5 -2
- package/src/reflection/reflection_capabilities.js.map +1 -1
- package/src/render/api.d.ts +8 -1
- package/src/render/api.js.map +1 -1
- package/src/testability/testability.js +2 -3
- package/src/testability/testability.js.map +1 -1
- package/src/util/decorators.js.map +1 -1
- package/testing/async.js.map +1 -1
- package/testing/facade/lang.d.ts +0 -1
- package/testing/facade/lang.js +5 -24
- package/testing/facade/lang.js.map +1 -1
- package/testing/facade/lang.metadata.json +1 -1
- package/testing/fake_async.js.map +1 -1
- package/testing/mock_animation_player.d.ts +16 -1
- package/testing/mock_animation_player.js +43 -14
- package/testing/mock_animation_player.js.map +1 -1
- package/testing/test_bed.js.map +1 -1
- package/testing/testing.js.map +1 -1
- package/src/linker/element.js.map +0 -1
package/testing/test_bed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_bed.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/test_bed.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CompilerOptions, Component, Directive, Injector, ModuleWithComponentFactories, NgModule, NgModuleRef, NgZone, OpaqueToken, Pipe, PlatformRef, Provider, SchemaMetadata, Type} from '@angular/core';\nimport {AsyncTestCompleter} from './async_test_completer';\nimport {ComponentFixture} from './component_fixture';\nimport {stringify} from './facade/lang';\nimport {MetadataOverride} from './metadata_override';\nimport {TestingCompiler, TestingCompilerFactory} from './test_compiler';\n\nconst UNDEFINED = new Object();\n\n/**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nexport class TestComponentRenderer {\n insertRootElement(rootElementId: string) {}\n}\n\nlet _nextRootElementId = 0;\n\n/**\n * @experimental\n */\nexport const ComponentFixtureAutoDetect = new OpaqueToken('ComponentFixtureAutoDetect');\n\n/**\n * @experimental\n */\nexport const ComponentFixtureNoNgZone = new OpaqueToken('ComponentFixtureNoNgZone');\n\n/**\n * @experimental\n */\nexport type TestModuleMetadata = {\n providers?: any[],\n declarations?: any[],\n imports?: any[],\n schemas?: Array<SchemaMetadata|any[]>,\n};\n\n/**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nexport class TestBed implements Injector {\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n static initTestEnvironment(ngModule: Type<any>, platform: PlatformRef): TestBed {\n const testBed = getTestBed();\n testBed.initTestEnvironment(ngModule, platform);\n return testBed;\n }\n\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n static resetTestEnvironment() { getTestBed().resetTestEnvironment(); }\n\n static resetTestingModule(): typeof TestBed {\n getTestBed().resetTestingModule();\n return TestBed;\n }\n\n /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n static configureCompiler(config: {providers?: any[]; useJit?: boolean;}): typeof TestBed {\n getTestBed().configureCompiler(config);\n return TestBed;\n }\n\n /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n static configureTestingModule(moduleDef: TestModuleMetadata): typeof TestBed {\n getTestBed().configureTestingModule(moduleDef);\n return TestBed;\n }\n\n /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n static compileComponents(): Promise<any> { return getTestBed().compileComponents(); }\n\n static overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): typeof TestBed {\n getTestBed().overrideModule(ngModule, override);\n return TestBed;\n }\n\n static overrideComponent(component: Type<any>, override: MetadataOverride<Component>):\n typeof TestBed {\n getTestBed().overrideComponent(component, override);\n return TestBed;\n }\n\n static overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>):\n typeof TestBed {\n getTestBed().overrideDirective(directive, override);\n return TestBed;\n }\n\n static overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): typeof TestBed {\n getTestBed().overridePipe(pipe, override);\n return TestBed;\n }\n\n static get(token: any, notFoundValue: any = Injector.THROW_IF_NOT_FOUND) {\n return getTestBed().get(token, notFoundValue);\n }\n\n static createComponent<T>(component: Type<T>): ComponentFixture<T> {\n return getTestBed().createComponent(component);\n }\n\n private _instantiated: boolean = false;\n\n private _compiler: TestingCompiler = null;\n private _moduleRef: NgModuleRef<any> = null;\n private _moduleWithComponentFactories: ModuleWithComponentFactories<any> = null;\n\n private _compilerOptions: CompilerOptions[] = [];\n\n private _moduleOverrides: [Type<any>, MetadataOverride<NgModule>][] = [];\n private _componentOverrides: [Type<any>, MetadataOverride<Component>][] = [];\n private _directiveOverrides: [Type<any>, MetadataOverride<Directive>][] = [];\n private _pipeOverrides: [Type<any>, MetadataOverride<Pipe>][] = [];\n\n private _providers: Provider[] = [];\n private _declarations: Array<Type<any>|any[]|any> = [];\n private _imports: Array<Type<any>|any[]|any> = [];\n private _schemas: Array<SchemaMetadata|any[]> = [];\n private _activeFixtures: ComponentFixture<any>[] = [];\n\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n initTestEnvironment(ngModule: Type<any>, platform: PlatformRef) {\n if (this.platform || this.ngModule) {\n throw new Error('Cannot set base providers because it has already been called');\n }\n this.platform = platform;\n this.ngModule = ngModule;\n }\n\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n resetTestEnvironment() {\n this.resetTestingModule();\n this.platform = null;\n this.ngModule = null;\n }\n\n resetTestingModule() {\n this._compiler = null;\n this._moduleOverrides = [];\n this._componentOverrides = [];\n this._directiveOverrides = [];\n this._pipeOverrides = [];\n\n this._moduleRef = null;\n this._moduleWithComponentFactories = null;\n this._compilerOptions = [];\n this._providers = [];\n this._declarations = [];\n this._imports = [];\n this._schemas = [];\n this._instantiated = false;\n this._activeFixtures.forEach((fixture) => fixture.destroy());\n this._activeFixtures = [];\n }\n\n platform: PlatformRef = null;\n\n ngModule: Type<any> = null;\n\n configureCompiler(config: {providers?: any[], useJit?: boolean}) {\n this._assertNotInstantiated('TestBed.configureCompiler', 'configure the compiler');\n this._compilerOptions.push(config);\n }\n\n configureTestingModule(moduleDef: TestModuleMetadata) {\n this._assertNotInstantiated('TestBed.configureTestingModule', 'configure the test module');\n if (moduleDef.providers) {\n this._providers.push(...moduleDef.providers);\n }\n if (moduleDef.declarations) {\n this._declarations.push(...moduleDef.declarations);\n }\n if (moduleDef.imports) {\n this._imports.push(...moduleDef.imports);\n }\n if (moduleDef.schemas) {\n this._schemas.push(...moduleDef.schemas);\n }\n }\n\n compileComponents(): Promise<any> {\n if (this._moduleWithComponentFactories || this._instantiated) {\n return Promise.resolve(null);\n }\n\n const moduleType = this._createCompilerAndModule();\n return this._compiler.compileModuleAndAllComponentsAsync(moduleType)\n .then((moduleAndComponentFactories) => {\n this._moduleWithComponentFactories = moduleAndComponentFactories;\n });\n }\n\n private _initIfNeeded() {\n if (this._instantiated) {\n return;\n }\n if (!this._moduleWithComponentFactories) {\n try {\n let moduleType = this._createCompilerAndModule();\n this._moduleWithComponentFactories =\n this._compiler.compileModuleAndAllComponentsSync(moduleType);\n } catch (e) {\n if (e.compType) {\n throw new Error(\n `This test module uses the component ${stringify(e.compType)} which is using a \"templateUrl\", but they were never compiled. ` +\n `Please call \"TestBed.compileComponents\" before your test.`);\n } else {\n throw e;\n }\n }\n }\n this._moduleRef =\n this._moduleWithComponentFactories.ngModuleFactory.create(this.platform.injector);\n this._instantiated = true;\n }\n\n private _createCompilerAndModule(): Type<any> {\n const providers = this._providers.concat([{provide: TestBed, useValue: this}]);\n const declarations = this._declarations;\n const imports = [this.ngModule, this._imports];\n const schemas = this._schemas;\n\n \n class DynamicTestModule {\n static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{providers: providers, declarations: declarations, imports: imports, schemas: schemas}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n];\n}\n\n const compilerFactory: TestingCompilerFactory =\n this.platform.injector.get(TestingCompilerFactory);\n this._compiler =\n compilerFactory.createTestingCompiler(this._compilerOptions.concat([{useDebug: true}]));\n this._moduleOverrides.forEach((entry) => this._compiler.overrideModule(entry[0], entry[1]));\n this._componentOverrides.forEach(\n (entry) => this._compiler.overrideComponent(entry[0], entry[1]));\n this._directiveOverrides.forEach(\n (entry) => this._compiler.overrideDirective(entry[0], entry[1]));\n this._pipeOverrides.forEach((entry) => this._compiler.overridePipe(entry[0], entry[1]));\n return DynamicTestModule;\n }\n\n private _assertNotInstantiated(methodName: string, methodDescription: string) {\n if (this._instantiated) {\n throw new Error(\n `Cannot ${methodDescription} when the test module has already been instantiated. ` +\n `Make sure you are not using \\`inject\\` before \\`${methodName}\\`.`);\n }\n }\n\n get(token: any, notFoundValue: any = Injector.THROW_IF_NOT_FOUND) {\n this._initIfNeeded();\n if (token === TestBed) {\n return this;\n }\n // Tests can inject things from the ng module and from the compiler,\n // but the ng module can't inject things from the compiler and vice versa.\n const result = this._moduleRef.injector.get(token, UNDEFINED);\n return result === UNDEFINED ? this._compiler.injector.get(token, notFoundValue) : result;\n }\n\n execute(tokens: any[], fn: Function): any {\n this._initIfNeeded();\n const params = tokens.map(t => this.get(t));\n return fn(...params);\n }\n\n overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void {\n this._assertNotInstantiated('overrideModule', 'override module metadata');\n this._moduleOverrides.push([ngModule, override]);\n }\n\n overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void {\n this._assertNotInstantiated('overrideComponent', 'override component metadata');\n this._componentOverrides.push([component, override]);\n }\n\n overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void {\n this._assertNotInstantiated('overrideDirective', 'override directive metadata');\n this._directiveOverrides.push([directive, override]);\n }\n\n overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void {\n this._assertNotInstantiated('overridePipe', 'override pipe metadata');\n this._pipeOverrides.push([pipe, override]);\n }\n\n createComponent<T>(component: Type<T>): ComponentFixture<T> {\n this._initIfNeeded();\n const componentFactory = this._moduleWithComponentFactories.componentFactories.find(\n (compFactory) => compFactory.componentType === component);\n if (!componentFactory) {\n throw new Error(\n `Cannot create the component ${stringify(component)} as it was not imported into the testing module!`);\n }\n const noNgZone = this.get(ComponentFixtureNoNgZone, false);\n const autoDetect: boolean = this.get(ComponentFixtureAutoDetect, false);\n const ngZone: NgZone = noNgZone ? null : this.get(NgZone, null);\n const testComponentRenderer: TestComponentRenderer = this.get(TestComponentRenderer);\n const rootElId = `root${_nextRootElementId++}`;\n testComponentRenderer.insertRootElement(rootElId);\n\n const initComponent = () => {\n const componentRef = componentFactory.create(this, [], `#${rootElId}`);\n return new ComponentFixture<T>(componentRef, ngZone, autoDetect);\n };\n\n const fixture = !ngZone ? initComponent() : ngZone.run(initComponent);\n this._activeFixtures.push(fixture);\n return fixture;\n }\n}\n\nlet _testBed: TestBed = null;\n\n/**\n * @experimental\n */\nexport function getTestBed() {\n return _testBed = _testBed || new TestBed();\n}\n\n/**\n * Allows injecting dependencies in `beforeEach()` and `it()`.\n *\n * Example:\n *\n * ```\n * beforeEach(inject([Dependency, AClass], (dep, object) => {\n * // some code that uses `dep` and `object`\n * // ...\n * }));\n *\n * it('...', inject([AClass], (object) => {\n * object.doSomething();\n * expect(...);\n * })\n * ```\n *\n * Notes:\n * - inject is currently a function because of some Traceur limitation the syntax should\n * eventually\n * becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`\n *\n * @stable\n */\nexport function inject(tokens: any[], fn: Function): () => any {\n const testBed = getTestBed();\n if (tokens.indexOf(AsyncTestCompleter) >= 0) {\n return () =>\n // Return an async test method that returns a Promise if AsyncTestCompleter is one of\n // the\n // injected tokens.\n testBed.compileComponents().then(() => {\n const completer: AsyncTestCompleter = testBed.get(AsyncTestCompleter);\n testBed.execute(tokens, fn);\n return completer.promise;\n });\n } else {\n return () => testBed.execute(tokens, fn);\n }\n}\n\n/**\n * @experimental\n */\nexport class InjectSetupWrapper {\n constructor(private _moduleDef: () => TestModuleMetadata) {}\n\n private _addModule() {\n const moduleDef = this._moduleDef();\n if (moduleDef) {\n getTestBed().configureTestingModule(moduleDef);\n }\n }\n\n inject(tokens: any[], fn: Function): () => any {\n return () => {\n this._addModule();\n return inject(tokens, fn)();\n };\n }\n}\n\n/**\n * @experimental\n */\nexport function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper;\nexport function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any;\nexport function withModule(moduleDef: TestModuleMetadata, fn: Function = null): (() => any)|\n InjectSetupWrapper {\n if (fn) {\n return () => {\n const testBed = getTestBed();\n if (moduleDef) {\n testBed.configureTestingModule(moduleDef);\n }\n return fn();\n };\n }\n return new InjectSetupWrapper(() => moduleDef);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"test_bed.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/test_bed.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CompilerOptions, Component, Directive, Injector, ModuleWithComponentFactories, NgModule, NgModuleRef, NgZone, OpaqueToken, Pipe, PlatformRef, Provider, SchemaMetadata, Type} from '@angular/core';\nimport {AsyncTestCompleter} from './async_test_completer';\nimport {ComponentFixture} from './component_fixture';\nimport {stringify} from './facade/lang';\nimport {MetadataOverride} from './metadata_override';\nimport {TestingCompiler, TestingCompilerFactory} from './test_compiler';\n\nconst UNDEFINED = new Object();\n\n/**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nexport class TestComponentRenderer {\n insertRootElement(rootElementId: string) {}\n}\n\nlet _nextRootElementId = 0;\n\n/**\n * @experimental\n */\nexport const ComponentFixtureAutoDetect = new OpaqueToken('ComponentFixtureAutoDetect');\n\n/**\n * @experimental\n */\nexport const ComponentFixtureNoNgZone = new OpaqueToken('ComponentFixtureNoNgZone');\n\n/**\n * @experimental\n */\nexport type TestModuleMetadata = {\n providers?: any[],\n declarations?: any[],\n imports?: any[],\n schemas?: Array<SchemaMetadata|any[]>,\n};\n\n/**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nexport class TestBed implements Injector {\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n static initTestEnvironment(ngModule: Type<any>, platform: PlatformRef): TestBed {\n const testBed = getTestBed();\n testBed.initTestEnvironment(ngModule, platform);\n return testBed;\n }\n\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n static resetTestEnvironment() { getTestBed().resetTestEnvironment(); }\n\n static resetTestingModule(): typeof TestBed {\n getTestBed().resetTestingModule();\n return TestBed;\n }\n\n /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n static configureCompiler(config: {providers?: any[]; useJit?: boolean;}): typeof TestBed {\n getTestBed().configureCompiler(config);\n return TestBed;\n }\n\n /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n static configureTestingModule(moduleDef: TestModuleMetadata): typeof TestBed {\n getTestBed().configureTestingModule(moduleDef);\n return TestBed;\n }\n\n /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n static compileComponents(): Promise<any> { return getTestBed().compileComponents(); }\n\n static overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): typeof TestBed {\n getTestBed().overrideModule(ngModule, override);\n return TestBed;\n }\n\n static overrideComponent(component: Type<any>, override: MetadataOverride<Component>):\n typeof TestBed {\n getTestBed().overrideComponent(component, override);\n return TestBed;\n }\n\n static overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>):\n typeof TestBed {\n getTestBed().overrideDirective(directive, override);\n return TestBed;\n }\n\n static overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): typeof TestBed {\n getTestBed().overridePipe(pipe, override);\n return TestBed;\n }\n\n static get(token: any, notFoundValue: any = Injector.THROW_IF_NOT_FOUND) {\n return getTestBed().get(token, notFoundValue);\n }\n\n static createComponent<T>(component: Type<T>): ComponentFixture<T> {\n return getTestBed().createComponent(component);\n }\n\n private _instantiated: boolean = false;\n\n private _compiler: TestingCompiler = null;\n private _moduleRef: NgModuleRef<any> = null;\n private _moduleWithComponentFactories: ModuleWithComponentFactories<any> = null;\n\n private _compilerOptions: CompilerOptions[] = [];\n\n private _moduleOverrides: [Type<any>, MetadataOverride<NgModule>][] = [];\n private _componentOverrides: [Type<any>, MetadataOverride<Component>][] = [];\n private _directiveOverrides: [Type<any>, MetadataOverride<Directive>][] = [];\n private _pipeOverrides: [Type<any>, MetadataOverride<Pipe>][] = [];\n\n private _providers: Provider[] = [];\n private _declarations: Array<Type<any>|any[]|any> = [];\n private _imports: Array<Type<any>|any[]|any> = [];\n private _schemas: Array<SchemaMetadata|any[]> = [];\n private _activeFixtures: ComponentFixture<any>[] = [];\n\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n initTestEnvironment(ngModule: Type<any>, platform: PlatformRef) {\n if (this.platform || this.ngModule) {\n throw new Error('Cannot set base providers because it has already been called');\n }\n this.platform = platform;\n this.ngModule = ngModule;\n }\n\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n resetTestEnvironment() {\n this.resetTestingModule();\n this.platform = null;\n this.ngModule = null;\n }\n\n resetTestingModule() {\n this._compiler = null;\n this._moduleOverrides = [];\n this._componentOverrides = [];\n this._directiveOverrides = [];\n this._pipeOverrides = [];\n\n this._moduleRef = null;\n this._moduleWithComponentFactories = null;\n this._compilerOptions = [];\n this._providers = [];\n this._declarations = [];\n this._imports = [];\n this._schemas = [];\n this._instantiated = false;\n this._activeFixtures.forEach((fixture) => fixture.destroy());\n this._activeFixtures = [];\n }\n\n platform: PlatformRef = null;\n\n ngModule: Type<any> = null;\n\n configureCompiler(config: {providers?: any[], useJit?: boolean}) {\n this._assertNotInstantiated('TestBed.configureCompiler', 'configure the compiler');\n this._compilerOptions.push(config);\n }\n\n configureTestingModule(moduleDef: TestModuleMetadata) {\n this._assertNotInstantiated('TestBed.configureTestingModule', 'configure the test module');\n if (moduleDef.providers) {\n this._providers.push(...moduleDef.providers);\n }\n if (moduleDef.declarations) {\n this._declarations.push(...moduleDef.declarations);\n }\n if (moduleDef.imports) {\n this._imports.push(...moduleDef.imports);\n }\n if (moduleDef.schemas) {\n this._schemas.push(...moduleDef.schemas);\n }\n }\n\n compileComponents(): Promise<any> {\n if (this._moduleWithComponentFactories || this._instantiated) {\n return Promise.resolve(null);\n }\n\n const moduleType = this._createCompilerAndModule();\n return this._compiler.compileModuleAndAllComponentsAsync(moduleType)\n .then((moduleAndComponentFactories) => {\n this._moduleWithComponentFactories = moduleAndComponentFactories;\n });\n }\n\n private _initIfNeeded() {\n if (this._instantiated) {\n return;\n }\n if (!this._moduleWithComponentFactories) {\n try {\n const moduleType = this._createCompilerAndModule();\n this._moduleWithComponentFactories =\n this._compiler.compileModuleAndAllComponentsSync(moduleType);\n } catch (e) {\n if (e.compType) {\n throw new Error(\n `This test module uses the component ${stringify(e.compType)} which is using a \"templateUrl\", but they were never compiled. ` +\n `Please call \"TestBed.compileComponents\" before your test.`);\n } else {\n throw e;\n }\n }\n }\n this._moduleRef =\n this._moduleWithComponentFactories.ngModuleFactory.create(this.platform.injector);\n this._instantiated = true;\n }\n\n private _createCompilerAndModule(): Type<any> {\n const providers = this._providers.concat([{provide: TestBed, useValue: this}]);\n const declarations = this._declarations;\n const imports = [this.ngModule, this._imports];\n const schemas = this._schemas;\n\n \n class DynamicTestModule {\n static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{providers: providers, declarations: declarations, imports: imports, schemas: schemas}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n];\n}\n\n const compilerFactory: TestingCompilerFactory =\n this.platform.injector.get(TestingCompilerFactory);\n this._compiler =\n compilerFactory.createTestingCompiler(this._compilerOptions.concat([{useDebug: true}]));\n this._moduleOverrides.forEach((entry) => this._compiler.overrideModule(entry[0], entry[1]));\n this._componentOverrides.forEach(\n (entry) => this._compiler.overrideComponent(entry[0], entry[1]));\n this._directiveOverrides.forEach(\n (entry) => this._compiler.overrideDirective(entry[0], entry[1]));\n this._pipeOverrides.forEach((entry) => this._compiler.overridePipe(entry[0], entry[1]));\n return DynamicTestModule;\n }\n\n private _assertNotInstantiated(methodName: string, methodDescription: string) {\n if (this._instantiated) {\n throw new Error(\n `Cannot ${methodDescription} when the test module has already been instantiated. ` +\n `Make sure you are not using \\`inject\\` before \\`${methodName}\\`.`);\n }\n }\n\n get(token: any, notFoundValue: any = Injector.THROW_IF_NOT_FOUND) {\n this._initIfNeeded();\n if (token === TestBed) {\n return this;\n }\n // Tests can inject things from the ng module and from the compiler,\n // but the ng module can't inject things from the compiler and vice versa.\n const result = this._moduleRef.injector.get(token, UNDEFINED);\n return result === UNDEFINED ? this._compiler.injector.get(token, notFoundValue) : result;\n }\n\n execute(tokens: any[], fn: Function): any {\n this._initIfNeeded();\n const params = tokens.map(t => this.get(t));\n return fn(...params);\n }\n\n overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void {\n this._assertNotInstantiated('overrideModule', 'override module metadata');\n this._moduleOverrides.push([ngModule, override]);\n }\n\n overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void {\n this._assertNotInstantiated('overrideComponent', 'override component metadata');\n this._componentOverrides.push([component, override]);\n }\n\n overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void {\n this._assertNotInstantiated('overrideDirective', 'override directive metadata');\n this._directiveOverrides.push([directive, override]);\n }\n\n overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void {\n this._assertNotInstantiated('overridePipe', 'override pipe metadata');\n this._pipeOverrides.push([pipe, override]);\n }\n\n createComponent<T>(component: Type<T>): ComponentFixture<T> {\n this._initIfNeeded();\n const componentFactory = this._moduleWithComponentFactories.componentFactories.find(\n (compFactory) => compFactory.componentType === component);\n if (!componentFactory) {\n throw new Error(\n `Cannot create the component ${stringify(component)} as it was not imported into the testing module!`);\n }\n const noNgZone = this.get(ComponentFixtureNoNgZone, false);\n const autoDetect: boolean = this.get(ComponentFixtureAutoDetect, false);\n const ngZone: NgZone = noNgZone ? null : this.get(NgZone, null);\n const testComponentRenderer: TestComponentRenderer = this.get(TestComponentRenderer);\n const rootElId = `root${_nextRootElementId++}`;\n testComponentRenderer.insertRootElement(rootElId);\n\n const initComponent = () => {\n const componentRef = componentFactory.create(this, [], `#${rootElId}`);\n return new ComponentFixture<T>(componentRef, ngZone, autoDetect);\n };\n\n const fixture = !ngZone ? initComponent() : ngZone.run(initComponent);\n this._activeFixtures.push(fixture);\n return fixture;\n }\n}\n\nlet _testBed: TestBed = null;\n\n/**\n * @experimental\n */\nexport function getTestBed() {\n return _testBed = _testBed || new TestBed();\n}\n\n/**\n * Allows injecting dependencies in `beforeEach()` and `it()`.\n *\n * Example:\n *\n * ```\n * beforeEach(inject([Dependency, AClass], (dep, object) => {\n * // some code that uses `dep` and `object`\n * // ...\n * }));\n *\n * it('...', inject([AClass], (object) => {\n * object.doSomething();\n * expect(...);\n * })\n * ```\n *\n * Notes:\n * - inject is currently a function because of some Traceur limitation the syntax should\n * eventually\n * becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`\n *\n * @stable\n */\nexport function inject(tokens: any[], fn: Function): () => any {\n const testBed = getTestBed();\n if (tokens.indexOf(AsyncTestCompleter) >= 0) {\n return () =>\n // Return an async test method that returns a Promise if AsyncTestCompleter is one of\n // the\n // injected tokens.\n testBed.compileComponents().then(() => {\n const completer: AsyncTestCompleter = testBed.get(AsyncTestCompleter);\n testBed.execute(tokens, fn);\n return completer.promise;\n });\n } else {\n return () => testBed.execute(tokens, fn);\n }\n}\n\n/**\n * @experimental\n */\nexport class InjectSetupWrapper {\n constructor(private _moduleDef: () => TestModuleMetadata) {}\n\n private _addModule() {\n const moduleDef = this._moduleDef();\n if (moduleDef) {\n getTestBed().configureTestingModule(moduleDef);\n }\n }\n\n inject(tokens: any[], fn: Function): () => any {\n return () => {\n this._addModule();\n return inject(tokens, fn)();\n };\n }\n}\n\n/**\n * @experimental\n */\nexport function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper;\nexport function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any;\nexport function withModule(moduleDef: TestModuleMetadata, fn: Function = null): (() => any)|\n InjectSetupWrapper {\n if (fn) {\n return () => {\n const testBed = getTestBed();\n if (moduleDef) {\n testBed.configureTestingModule(moduleDef);\n }\n return fn();\n };\n }\n return new InjectSetupWrapper(() => moduleDef);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/testing/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/testing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAQI,EAAC,kBAAkB,EAAC,MAAM,cAAc;OACxC,EAAC,OAAO,EAAC,MAAM,YAAY;AAIlC,
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/testing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAQI,EAAC,kBAAkB,EAAC,MAAM,cAAc;OACxC,EAAC,OAAO,EAAC,MAAM,YAAY;AAIlC,IAAM,OAAO,GAAQ,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEvE,qEAAqE;AACrE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,UAAU,CAAC;QACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7B,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gGAAgG;AAChG,QAAQ;AACR,OAAO,IAAI,oCAAoC,GAAG,EAAE,CAAC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Public Test Library for unit testing Angular2 Applications. Assumes that you are running\n * with Jasmine, Mocha, or a similar framework which exports a beforeEach function and\n * allows tests to be asynchronous by either returning a promise or using a 'done' parameter.\n */\n\nimport {resetFakeAsyncZone} from './fake_async';\nimport {TestBed} from './test_bed';\n\ndeclare var global: any;\n\nconst _global = <any>(typeof window === 'undefined' ? global : window);\n\n// Reset the test providers and the fake async zone before each test.\nif (_global.beforeEach) {\n _global.beforeEach(() => {\n TestBed.resetTestingModule();\n resetFakeAsyncZone();\n });\n}\n\n// TODO(juliemr): remove this, only used because we need to export something to have compilation\n// work.\nexport var __core_private_testing_placeholder__ = '';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/element.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '../di/injector';\nimport {isPresent} from '../facade/lang';\n\nimport {ElementRef} from './element_ref';\nimport {QueryList} from './query_list';\nimport {AppView} from './view';\nimport {ViewContainerRef_} from './view_container_ref';\nimport {ViewType} from './view_type';\n\n\n/**\n * An AppElement is created for elements that have a ViewContainerRef,\n * a nested component or a <template> element to keep data around\n * that is needed for later instantiations.\n */\nexport class AppElement {\n public nestedViews: AppView<any>[];\n public componentView: AppView<any>;\n\n public component: any;\n\n constructor(\n public index: number, public parentIndex: number, public parentView: AppView<any>,\n public nativeElement: any) {}\n\n get elementRef(): ElementRef { return new ElementRef(this.nativeElement); }\n\n get vcRef(): ViewContainerRef_ { return new ViewContainerRef_(this); }\n\n initComponent(component: any, view: AppView<any>) {\n this.component = component;\n this.componentView = view;\n }\n\n get parentInjector(): Injector { return this.parentView.injector(this.parentIndex); }\n get injector(): Injector { return this.parentView.injector(this.index); }\n\n detectChangesInNestedViews(throwOnChange: boolean): void {\n if (this.nestedViews) {\n for (var i = 0; i < this.nestedViews.length; i++) {\n this.nestedViews[i].detectChanges(throwOnChange);\n }\n }\n }\n\n destroyNestedViews(): void {\n if (this.nestedViews) {\n for (var i = 0; i < this.nestedViews.length; i++) {\n this.nestedViews[i].destroy();\n }\n }\n }\n\n visitNestedViewRootNodes<C>(cb: (node: any, ctx: C) => void, c: C): void {\n if (this.nestedViews) {\n for (var i = 0; i < this.nestedViews.length; i++) {\n this.nestedViews[i].visitRootNodesInternal(cb, c);\n }\n }\n }\n\n mapNestedViews(nestedViewClass: any, callback: Function): any[] {\n var result: any[] /** TODO #9100 */ = [];\n if (isPresent(this.nestedViews)) {\n this.nestedViews.forEach((nestedView) => {\n if (nestedView.clazz === nestedViewClass) {\n result.push(callback(nestedView));\n }\n });\n }\n return result;\n }\n\n moveView(view: AppView<any>, currentIndex: number) {\n var previousIndex = this.nestedViews.indexOf(view);\n if (view.type === ViewType.COMPONENT) {\n throw new Error(`Component views can't be moved!`);\n }\n var nestedViews = this.nestedViews;\n if (nestedViews == null) {\n nestedViews = [];\n this.nestedViews = nestedViews;\n }\n nestedViews.splice(previousIndex, 1);\n nestedViews.splice(currentIndex, 0, view);\n var refRenderNode: any /** TODO #9100 */;\n if (currentIndex > 0) {\n var prevView = nestedViews[currentIndex - 1];\n refRenderNode = prevView.lastRootNode;\n } else {\n refRenderNode = this.nativeElement;\n }\n if (isPresent(refRenderNode)) {\n view.renderer.attachViewAfter(refRenderNode, view.flatRootNodes);\n }\n view.markContentChildAsMoved(this);\n }\n\n attachView(view: AppView<any>, viewIndex: number) {\n if (view.type === ViewType.COMPONENT) {\n throw new Error(`Component views can't be moved!`);\n }\n var nestedViews = this.nestedViews;\n if (nestedViews == null) {\n nestedViews = [];\n this.nestedViews = nestedViews;\n }\n nestedViews.splice(viewIndex, 0, view);\n var refRenderNode: any /** TODO #9100 */;\n if (viewIndex > 0) {\n var prevView = nestedViews[viewIndex - 1];\n refRenderNode = prevView.lastRootNode;\n } else {\n refRenderNode = this.nativeElement;\n }\n if (isPresent(refRenderNode)) {\n view.renderer.attachViewAfter(refRenderNode, view.flatRootNodes);\n }\n view.addToContentChildren(this);\n }\n\n detachView(viewIndex: number): AppView<any> {\n const view = this.nestedViews.splice(viewIndex, 1)[0];\n if (view.type === ViewType.COMPONENT) {\n throw new Error(`Component views can't be moved!`);\n }\n view.detach();\n\n view.removeFromContentChildren(this);\n return view;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|