test: add integration test for undecorated-classes-with-decorated-fields migration (#35339)

We don't have an integration test for the `undecorated-classes-with-decorated-fields
migration. For consistency and to cover for the latest changes, we add
it to the `ng update` integration test.

PR Close #35339
This commit is contained in:
Paul Gschwendtner
2020-02-11 18:03:13 +01:00
committed by Kara Erickson
parent 32eafef6a7
commit 3d2db5c5f0
4 changed files with 205 additions and 102 deletions

View File

@ -0,0 +1,47 @@
import {Component, ElementRef, HostBinding, HostListener, Input, NgModule} from '@angular/core';
export class NonAngularBaseClass {
greet() {}
}
export class BaseClass extends NonAngularBaseClass {
@Input() enabled = true;
}
export class SecondBaseClass extends BaseClass {
toggleEnabled() {
this.enabled = !this.enabled;
}
}
export class ThirdBaseClass extends SecondBaseClass {
@HostListener('focus') onFocus() {}
}
export class FourthBaseClass extends ThirdBaseClass {
focus() {
this.onFocus();
}
}
export class FifthBaseClass {
constructor(private _elementRef: ElementRef) {}
protected calculatePosition(): any {}
}
export class MyCompSuperBase {
@HostBinding('class.hello') hello = true;
}
export class MyCompBase extends MyCompSuperBase {}
@Component({
selector: 'my-comp',
template: '',
})
export class MyComp extends MyCompBase {}
export class WrappedMyComp extends MyComp {}
@NgModule({declarations: [MyComp, WrappedMyComp]})
export class TestModule {}

View File

@ -0,0 +1,57 @@
import { Component, ElementRef, HostBinding, HostListener, Input, NgModule, Directive } from '@angular/core';
export class NonAngularBaseClass {
greet() {}
}
@Directive()
export class BaseClass extends NonAngularBaseClass {
@Input() enabled = true;
}
@Directive()
export class SecondBaseClass extends BaseClass {
toggleEnabled() {
this.enabled = !this.enabled;
}
}
@Directive()
export class ThirdBaseClass extends SecondBaseClass {
@HostListener('focus') onFocus() {}
}
@Directive()
export class FourthBaseClass extends ThirdBaseClass {
focus() {
this.onFocus();
}
}
export class FifthBaseClass {
constructor(private _elementRef: ElementRef) {}
protected calculatePosition(): any {}
}
@Directive()
export class MyCompSuperBase {
@HostBinding('class.hello') hello = true;
}
@Directive()
export class MyCompBase extends MyCompSuperBase {}
@Component({
selector: 'my-comp',
template: '',
})
export class MyComp extends MyCompBase {}
@Component({
selector: 'my-comp',
template: '',
})
export class WrappedMyComp extends MyComp {}
@NgModule({declarations: [MyComp, WrappedMyComp]})
export class TestModule {}