fix(ivy): throw meaningful error for uninitialized output (#28085)
Throws a similar error to ViewEngine when encountering an `@Output` that hasn't been initialized to an `Observable`. These changes resolve FW-680. PR Close #28085
This commit is contained in:
@ -347,22 +347,20 @@ function declareTests(config?: {useJit: boolean}) {
|
||||
expect(tc.injector.get(EventDir)).not.toBeNull();
|
||||
});
|
||||
|
||||
fixmeIvy('FW-680: Throw meaningful error for uninitialized @Output')
|
||||
.it('should display correct error message for uninitialized @Output', () => {
|
||||
@Component({selector: 'my-uninitialized-output', template: '<p>It works!</p>'})
|
||||
class UninitializedOutputComp {
|
||||
@Output() customEvent !: EventEmitter<any>;
|
||||
}
|
||||
it('should display correct error message for uninitialized @Output', () => {
|
||||
@Component({selector: 'my-uninitialized-output', template: '<p>It works!</p>'})
|
||||
class UninitializedOutputComp {
|
||||
@Output() customEvent !: EventEmitter<any>;
|
||||
}
|
||||
|
||||
const template =
|
||||
'<my-uninitialized-output (customEvent)="doNothing()"></my-uninitialized-output>';
|
||||
TestBed.overrideComponent(MyComp, {set: {template}});
|
||||
const template =
|
||||
'<my-uninitialized-output (customEvent)="doNothing()"></my-uninitialized-output>';
|
||||
TestBed.overrideComponent(MyComp, {set: {template}});
|
||||
|
||||
TestBed.configureTestingModule({declarations: [MyComp, UninitializedOutputComp]});
|
||||
expect(() => TestBed.createComponent(MyComp))
|
||||
.toThrowError(
|
||||
'@Output customEvent not initialized in \'UninitializedOutputComp\'.');
|
||||
});
|
||||
TestBed.configureTestingModule({declarations: [MyComp, UninitializedOutputComp]});
|
||||
expect(() => TestBed.createComponent(MyComp))
|
||||
.toThrowError('@Output customEvent not initialized in \'UninitializedOutputComp\'.');
|
||||
});
|
||||
|
||||
it('should read directives metadata from their binding token', () => {
|
||||
TestBed.configureTestingModule({declarations: [MyComp, PrivateImpl, NeedsPublicApi]});
|
||||
|
Reference in New Issue
Block a user