test(ivy): add compiler.getModuleId support in R3TestBed (#28097)
This update brings `getModuleId` function support to R3TestBed-specific Compiler instance. PR Close #28097
This commit is contained in:
parent
9a81f0d9a8
commit
da1d19b40f
|
@ -634,6 +634,11 @@ export class TestBedRender3 implements Injector, TestBed {
|
|||
return Object.keys(overrides).length ? {...meta, ...overrides} : meta;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
_getModuleResolver() { return this._resolvers.module; }
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
|
@ -764,5 +769,8 @@ class R3TestCompiler implements Compiler {
|
|||
|
||||
clearCacheFor(type: Type<any>): void {}
|
||||
|
||||
getModuleId(moduleType: Type<any>): string|undefined { return undefined; }
|
||||
getModuleId(moduleType: Type<any>): string|undefined {
|
||||
const meta = this.testBed._getModuleResolver().resolve(moduleType);
|
||||
return meta && meta.id || undefined;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,8 +80,7 @@ if (isBrowser) {
|
|||
});
|
||||
|
||||
describe('Compiler', () => {
|
||||
fixmeIvy('FW-855: TestBed.get(Compiler) should return TestBed-specific Compiler instance')
|
||||
.it('should return NgModule id when asked', () => {
|
||||
it('should return NgModule id when asked', () => {
|
||||
@NgModule({
|
||||
id: 'test-module',
|
||||
})
|
||||
|
|
|
@ -457,8 +457,7 @@ class CompWithUrlTemplate {
|
|||
expect(TestBed.get('a')).toBe('mockA: depValue');
|
||||
});
|
||||
|
||||
fixmeIvy('FW-855: TestBed.get(Compiler) should return TestBed-specific Compiler instance')
|
||||
.it('should support SkipSelf', () => {
|
||||
it('should support SkipSelf', () => {
|
||||
@NgModule({
|
||||
providers: [
|
||||
{provide: 'a', useValue: 'aValue'},
|
||||
|
@ -469,15 +468,13 @@ class CompWithUrlTemplate {
|
|||
}
|
||||
|
||||
TestBed.overrideProvider(
|
||||
'a',
|
||||
{useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new SkipSelf(), 'dep']]});
|
||||
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new SkipSelf(), 'dep']]});
|
||||
TestBed.configureTestingModule(
|
||||
{providers: [{provide: 'dep', useValue: 'parentDepValue'}]});
|
||||
|
||||
const compiler = TestBed.get(Compiler) as Compiler;
|
||||
const modFactory = compiler.compileModuleSync(MyModule);
|
||||
expect(modFactory.create(getTestBed()).injector.get('a'))
|
||||
.toBe('mockA: parentDepValue');
|
||||
expect(modFactory.create(getTestBed()).injector.get('a')).toBe('mockA: parentDepValue');
|
||||
});
|
||||
|
||||
it('should keep imported NgModules eager', () => {
|
||||
|
|
Loading…
Reference in New Issue