feat(core): expose a Compiler API for accessing module ids from NgModule types (#24258)

This will allow RouterTestingModule to better support lazy loading of modules
when using summaries, since it can detect whether a module is already loaded
if it can access the id.

PR Close #24258
This commit is contained in:
Alex Rickabaugh
2018-06-01 12:02:48 -07:00
committed by Miško Hevery
parent e3759f7a73
commit bd02b27ee1
5 changed files with 31 additions and 1 deletions

View File

@ -7,7 +7,7 @@
*/
import {ResourceLoader} from '@angular/compiler';
import {Component} from '@angular/core';
import {Compiler, Component, NgModule} from '@angular/core';
import {TestBed, async, fakeAsync, inject, tick} from '@angular/core/testing';
import {ResourceLoaderImpl} from '../src/resource_loader/resource_loader_impl';
@ -77,6 +77,22 @@ class BadTemplateUrl {
});
});
describe('Compiler', () => {
it('should return NgModule id when asked', () => {
@NgModule({
id: 'test-module',
})
class TestModule {
}
TestBed.configureTestingModule({
imports: [TestModule],
});
const compiler = TestBed.get(Compiler) as Compiler;
expect(compiler.getModuleId(TestModule)).toBe('test-module');
});
});
describe('errors', () => {
let originalJasmineIt: any;