test: fix memory leak when running test campaign (#11072)
This commit is contained in:
committed by
Victor Berchet
parent
566d4361e2
commit
d7c82f5c0f
@@ -37,7 +37,11 @@ export class AbstractFormGroupDirective extends ControlContainer implements OnIn
|
||||
this.formDirective.addFormGroup(this);
|
||||
}
|
||||
|
||||
ngOnDestroy(): void { this.formDirective.removeFormGroup(this); }
|
||||
ngOnDestroy(): void {
|
||||
if (this.formDirective) {
|
||||
this.formDirective.removeFormGroup(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@link FormGroup} backing this binding.
|
||||
@@ -52,7 +56,7 @@ export class AbstractFormGroupDirective extends ControlContainer implements OnIn
|
||||
/**
|
||||
* Get the {@link Form} to which this group belongs.
|
||||
*/
|
||||
get formDirective(): Form { return this._parent.formDirective; }
|
||||
get formDirective(): Form { return this._parent ? this._parent.formDirective : null; }
|
||||
|
||||
get validator(): ValidatorFn { return composeValidators(this._validators); }
|
||||
|
||||
|
||||
@@ -105,7 +105,6 @@ export class FormControlName extends NgControl implements OnChanges, OnDestroy {
|
||||
// TODO(kara): Replace ngModel with reactive API
|
||||
@Input('ngModel') model: any;
|
||||
@Output('ngModelChange') update = new EventEmitter();
|
||||
|
||||
@Input('disabled')
|
||||
set disabled(isDisabled: boolean) { ReactiveErrors.disabledAttrWarning(); }
|
||||
|
||||
@@ -133,7 +132,11 @@ export class FormControlName extends NgControl implements OnChanges, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy(): void { this.formDirective.removeControl(this); }
|
||||
ngOnDestroy(): void {
|
||||
if (this.formDirective) {
|
||||
this.formDirective.removeControl(this);
|
||||
}
|
||||
}
|
||||
|
||||
viewToModelUpdate(newValue: any): void {
|
||||
this.viewModel = newValue;
|
||||
@@ -142,7 +145,7 @@ export class FormControlName extends NgControl implements OnChanges, OnDestroy {
|
||||
|
||||
get path(): string[] { return controlPath(this.name, this._parent); }
|
||||
|
||||
get formDirective(): any { return this._parent.formDirective; }
|
||||
get formDirective(): any { return this._parent ? this._parent.formDirective : null; }
|
||||
|
||||
get validator(): ValidatorFn { return composeValidators(this._validators); }
|
||||
|
||||
|
||||
@@ -161,11 +161,17 @@ export class FormArrayName extends ControlContainer implements OnInit, OnDestroy
|
||||
this.formDirective.addFormArray(this);
|
||||
}
|
||||
|
||||
ngOnDestroy(): void { this.formDirective.removeFormArray(this); }
|
||||
ngOnDestroy(): void {
|
||||
if (this.formDirective) {
|
||||
this.formDirective.removeFormArray(this);
|
||||
}
|
||||
}
|
||||
|
||||
get control(): FormArray { return this.formDirective.getFormArray(this); }
|
||||
|
||||
get formDirective(): FormGroupDirective { return <FormGroupDirective>this._parent.formDirective; }
|
||||
get formDirective(): FormGroupDirective {
|
||||
return this._parent ? <FormGroupDirective>this._parent.formDirective : null;
|
||||
}
|
||||
|
||||
get path(): string[] { return controlPath(this.name, this._parent); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user