fix(core): properly report missing providers and viewProviders (#9411)
Fixes #8237
This commit is contained in:

committed by
Victor Berchet

parent
5954a26bce
commit
f114dd300b
@ -64,6 +64,20 @@ export function main() {
|
||||
.toThrowError(`Can't resolve all parameters for NonAnnotatedService: (?).`);
|
||||
}));
|
||||
|
||||
it('should throw with descriptive error message when one of providers is not present',
|
||||
inject([CompileMetadataResolver], (resolver: CompileMetadataResolver) => {
|
||||
expect(() => resolver.getDirectiveMetadata(MyBrokenComp3))
|
||||
.toThrowError(
|
||||
`One or more of providers for "MyBrokenComp3" were not defined: [?, SimpleService, ?].`);
|
||||
}));
|
||||
|
||||
it('should throw with descriptive error message when one of viewProviders is not present',
|
||||
inject([CompileMetadataResolver], (resolver: CompileMetadataResolver) => {
|
||||
expect(() => resolver.getDirectiveMetadata(MyBrokenComp4))
|
||||
.toThrowError(
|
||||
`One or more of viewProviders for "MyBrokenComp4" were not defined: [?, SimpleService, ?].`);
|
||||
}));
|
||||
|
||||
it('should throw an error when the interpolation config has invalid symbols',
|
||||
inject([CompileMetadataResolver], (resolver: CompileMetadataResolver) => {
|
||||
expect(() => resolver.getDirectiveMetadata(ComponentWithInvalidInterpolation1))
|
||||
@ -162,6 +176,18 @@ class MyBrokenComp2 {
|
||||
constructor(dependency: NonAnnotatedService) {}
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
class SimpleService {
|
||||
}
|
||||
|
||||
@Component({selector: 'my-broken-comp', template: '', providers: [null, SimpleService, [null]]})
|
||||
class MyBrokenComp3 {
|
||||
}
|
||||
|
||||
@Component({selector: 'my-broken-comp', template: '', viewProviders: [null, SimpleService, [null]]})
|
||||
class MyBrokenComp4 {
|
||||
}
|
||||
|
||||
@Component({selector: 'someSelector', template: '', interpolation: [' ', ' ']})
|
||||
class ComponentWithInvalidInterpolation1 {
|
||||
}
|
||||
|
Reference in New Issue
Block a user