From 863285a4b0cb32f656c6ffca875861c3e8a2cf3e Mon Sep 17 00:00:00 2001 From: Dzmitry Shylovich Date: Sun, 1 Jan 2017 20:46:53 +0300 Subject: [PATCH] fix(core): add bootstrapped modules into platform modules list (#13740) Closes #12015 PR Close #13740 --- modules/@angular/core/src/application_ref.ts | 3 ++- modules/@angular/core/test/application_ref_spec.ts | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/@angular/core/src/application_ref.ts b/modules/@angular/core/src/application_ref.ts index 6c4ea5a649..6333f77b6e 100644 --- a/modules/@angular/core/src/application_ref.ts +++ b/modules/@angular/core/src/application_ref.ts @@ -326,7 +326,7 @@ export class PlatformRef_ extends PlatformRef { .then((moduleFactory) => this._bootstrapModuleFactoryWithZone(moduleFactory, ngZone)); } - private _moduleDoBootstrap(moduleRef: NgModuleInjector) { + private _moduleDoBootstrap(moduleRef: NgModuleInjector): void { const appRef = moduleRef.injector.get(ApplicationRef); if (moduleRef.bootstrapFactories.length > 0) { moduleRef.bootstrapFactories.forEach((compFactory) => appRef.bootstrap(compFactory)); @@ -337,6 +337,7 @@ export class PlatformRef_ extends PlatformRef { `The module ${stringify(moduleRef.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. ` + `Please define one of these.`); } + this._modules.push(moduleRef); } } diff --git a/modules/@angular/core/test/application_ref_spec.ts b/modules/@angular/core/test/application_ref_spec.ts index 5f5cbae71d..9689edd605 100644 --- a/modules/@angular/core/test/application_ref_spec.ts +++ b/modules/@angular/core/test/application_ref_spec.ts @@ -212,6 +212,11 @@ export function main() { expect(mockConsole.res[0]).toEqual('EXCEPTION: ' + expectedErrMsg); }); })); + + it('should add bootstrapped module into platform modules list', async(() => { + defaultPlatform.bootstrapModule(createModule({bootstrap: [SomeComponent]})) + .then(module => expect((defaultPlatform)._modules).toContain(module)); + })); }); describe('bootstrapModuleFactory', () => {