blob: 8e713dae820a44e48e0084e73ca04d08e8f56707 [file] [log] [blame]
{"version":3,"file":"testing.js","sources":["../testing/src/dom_test_component_renderer.ts","../testing/src/compiler_factory.ts","../testing/src/platform_core_dynamic_testing.ts","../testing/src/testing.ts","../testing/testing.ts"],"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 {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\nimport {ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n/**\n * A DOM based implementation of the TestComponentRenderer.\n */\n@Injectable()\nexport class DOMTestComponentRenderer extends TestComponentRenderer {\n constructor(@Inject(DOCUMENT) private _doc: any) { super(); }\n\n insertRootElement(rootElId: string) {\n const rootEl = <HTMLElement>getDOM().firstChild(\n getDOM().content(getDOM().createTemplate(`<div id=\"${rootElId}\"></div>`)));\n\n // TODO(juliemr): can/should this be optional?\n const oldRoots = getDOM().querySelectorAll(this._doc, '[id^=root]');\n for (let i = 0; i < oldRoots.length; i++) {\n getDOM().remove(oldRoots[i]);\n }\n getDOM().appendChild(this._doc.body, rootEl);\n }\n}\n","/**\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 {CompileReflector, DirectiveResolver, ERROR_COMPONENT_TYPE, NgModuleResolver, PipeResolver} from '@angular/compiler';\nimport {MockDirectiveResolver, MockNgModuleResolver, MockPipeResolver} from '@angular/compiler/testing';\nimport {CompilerFactory, CompilerOptions, Component, ComponentFactory, Directive, Injector, ModuleWithComponentFactories, NgModule, NgModuleFactory, Pipe, StaticProvider, Type, ɵstringify as stringify} from '@angular/core';\nimport {MetadataOverride, ɵTestingCompiler as TestingCompiler, ɵTestingCompilerFactory as TestingCompilerFactory} from '@angular/core/testing';\nimport {ɵCompilerImpl as CompilerImpl} from '@angular/platform-browser-dynamic';\n\nimport {MetadataOverrider} from './metadata_overrider';\n\nexport const COMPILER_PROVIDERS: StaticProvider[] = [\n {provide: MockPipeResolver, deps: [CompileReflector]},\n {provide: PipeResolver, useExisting: MockPipeResolver},\n {provide: MockDirectiveResolver, deps: [CompileReflector]},\n {provide: DirectiveResolver, useExisting: MockDirectiveResolver},\n {provide: MockNgModuleResolver, deps: [CompileReflector]},\n {provide: NgModuleResolver, useExisting: MockNgModuleResolver},\n];\n\nexport class TestingCompilerFactoryImpl implements TestingCompilerFactory {\n constructor(private _injector: Injector, private _compilerFactory: CompilerFactory) {}\n\n createTestingCompiler(options: CompilerOptions[]): TestingCompiler {\n const compiler = <CompilerImpl>this._compilerFactory.createCompiler(options);\n return new TestingCompilerImpl(\n compiler, compiler.injector.get(MockDirectiveResolver),\n compiler.injector.get(MockPipeResolver), compiler.injector.get(MockNgModuleResolver));\n }\n}\n\nexport class TestingCompilerImpl implements TestingCompiler {\n private _overrider = new MetadataOverrider();\n constructor(\n private _compiler: CompilerImpl, private _directiveResolver: MockDirectiveResolver,\n private _pipeResolver: MockPipeResolver, private _moduleResolver: MockNgModuleResolver) {}\n get injector(): Injector { return this._compiler.injector; }\n\n compileModuleSync<T>(moduleType: Type<T>): NgModuleFactory<T> {\n return this._compiler.compileModuleSync(moduleType);\n }\n\n compileModuleAsync<T>(moduleType: Type<T>): Promise<NgModuleFactory<T>> {\n return this._compiler.compileModuleAsync(moduleType);\n }\n compileModuleAndAllComponentsSync<T>(moduleType: Type<T>): ModuleWithComponentFactories<T> {\n return this._compiler.compileModuleAndAllComponentsSync(moduleType);\n }\n\n compileModuleAndAllComponentsAsync<T>(moduleType: Type<T>):\n Promise<ModuleWithComponentFactories<T>> {\n return this._compiler.compileModuleAndAllComponentsAsync(moduleType);\n }\n\n getComponentFactory<T>(component: Type<T>): ComponentFactory<T> {\n return this._compiler.getComponentFactory(component);\n }\n\n checkOverrideAllowed(type: Type<any>) {\n if (this._compiler.hasAotSummary(type)) {\n throw new Error(`${stringify(type)} was AOT compiled, so its metadata cannot be changed.`);\n }\n }\n\n overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void {\n this.checkOverrideAllowed(ngModule);\n const oldMetadata = this._moduleResolver.resolve(ngModule, false);\n this._moduleResolver.setNgModule(\n ngModule, this._overrider.overrideMetadata(NgModule, oldMetadata, override));\n this.clearCacheFor(ngModule);\n }\n overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void {\n this.checkOverrideAllowed(directive);\n const oldMetadata = this._directiveResolver.resolve(directive, false);\n this._directiveResolver.setDirective(\n directive, this._overrider.overrideMetadata(Directive, oldMetadata !, override));\n this.clearCacheFor(directive);\n }\n overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void {\n this.checkOverrideAllowed(component);\n const oldMetadata = this._directiveResolver.resolve(component, false);\n this._directiveResolver.setDirective(\n component, this._overrider.overrideMetadata(Component, oldMetadata !, override));\n this.clearCacheFor(component);\n }\n overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void {\n this.checkOverrideAllowed(pipe);\n const oldMetadata = this._pipeResolver.resolve(pipe, false);\n this._pipeResolver.setPipe(pipe, this._overrider.overrideMetadata(Pipe, oldMetadata, override));\n this.clearCacheFor(pipe);\n }\n loadAotSummaries(summaries: () => any[]) { this._compiler.loadAotSummaries(summaries); }\n clearCache(): void { this._compiler.clearCache(); }\n clearCacheFor(type: Type<any>) { this._compiler.clearCacheFor(type); }\n\n getComponentFromError(error: Error) { return (error as any)[ERROR_COMPONENT_TYPE] || null; }\n\n getModuleId(moduleType: Type<any>): string|undefined {\n return this._moduleResolver.resolve(moduleType, true).id;\n }\n}\n","/**\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 {COMPILER_OPTIONS, CompilerFactory, Injector, PlatformRef, createPlatformFactory} from '@angular/core';\nimport {ɵTestingCompilerFactory as TestingCompilerFactory} from '@angular/core/testing';\nimport {ɵplatformCoreDynamic as platformCoreDynamic} from '@angular/platform-browser-dynamic';\n\nimport {COMPILER_PROVIDERS, TestingCompilerFactoryImpl} from './compiler_factory';\n\n/**\n * Platform for dynamic tests\n *\n * @publicApi\n */\nexport const platformCoreDynamicTesting: (extraProviders?: any[]) => PlatformRef =\n createPlatformFactory(platformCoreDynamic, 'coreDynamicTesting', [\n {provide: COMPILER_OPTIONS, useValue: {providers: COMPILER_PROVIDERS}, multi: true}, {\n provide: TestingCompilerFactory,\n useClass: TestingCompilerFactoryImpl,\n deps: [Injector, CompilerFactory]\n }\n ]);\n","/**\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 {NgModule, PlatformRef, StaticProvider, createPlatformFactory} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\nimport {ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS as INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS} from '@angular/platform-browser-dynamic';\nimport {BrowserTestingModule} from '@angular/platform-browser/testing';\n\nimport {DOMTestComponentRenderer} from './dom_test_component_renderer';\nimport {platformCoreDynamicTesting} from './platform_core_dynamic_testing';\n\nexport * from './private_export_testing';\n\n/**\n * @publicApi\n */\nexport const platformBrowserDynamicTesting = createPlatformFactory(\n platformCoreDynamicTesting, 'browserDynamicTesting',\n INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserTestingModule],\n providers: [\n {provide: TestComponentRenderer, useClass: DOMTestComponentRenderer},\n ]\n})\nexport class BrowserDynamicTestingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {COMPILER_PROVIDERS as ɵangular_packages_platform_browser_dynamic_testing_testing_a,TestingCompilerFactoryImpl as ɵangular_packages_platform_browser_dynamic_testing_testing_b} from './src/compiler_factory';"],"names":["getDOM","MetadataOverrider","stringify","platformCoreDynamic","TestingCompilerFactory","INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS"],"mappings":"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"}