TypeScript/tests/cases/fourslash/codeFixUndeclaredMethod.ts
Alexander T 683b3ec058
feat(37782): 'declare method' quick fix for adding a private method (#37806)
* feat(37782): add quick-fix action to declare a private method for names that start from underscore

* better merge order in messages json

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-05-06 15:10:02 -07:00

77 lines
1.7 KiB
TypeScript

/// <reference path='fourslash.ts' />
//// class A {
//// constructor() {
//// this.foo1(1,2,3);
//// // 7 type args
//// this.foo2<1,2,3,4,5,6,7>();
//// // 8 type args
//// this.foo3<1,2,3,4,5,6,7,8>();
//// }
//// }
verify.codeFix({
description: "Declare method 'foo1'",
index: 0,
newFileContent:
`class A {
constructor() {
this.foo1(1,2,3);
// 7 type args
this.foo2<1,2,3,4,5,6,7>();
// 8 type args
this.foo3<1,2,3,4,5,6,7,8>();
}
foo1(arg0: number, arg1: number, arg2: number) {
throw new Error("Method not implemented.");
}
}`,
applyChanges: true,
});
verify.codeFix({
description: "Declare method 'foo2'",
index: 0,
newFileContent:
`class A {
constructor() {
this.foo1(1,2,3);
// 7 type args
this.foo2<1,2,3,4,5,6,7>();
// 8 type args
this.foo3<1,2,3,4,5,6,7,8>();
}
foo2<T, U, V, W, X, Y, Z>() {
throw new Error("Method not implemented.");
}
foo1(arg0: number, arg1: number, arg2: number) {
throw new Error("Method not implemented.");
}
}`,
applyChanges: true,
});
verify.codeFix({
description: "Declare method 'foo3'",
index: 0,
newFileContent:
`class A {
constructor() {
this.foo1(1,2,3);
// 7 type args
this.foo2<1,2,3,4,5,6,7>();
// 8 type args
this.foo3<1,2,3,4,5,6,7,8>();
}
foo3<T0, T1, T2, T3, T4, T5, T6, T7>() {
throw new Error("Method not implemented.");
}
foo2<T, U, V, W, X, Y, Z>() {
throw new Error("Method not implemented.");
}
foo1(arg0: number, arg1: number, arg2: number) {
throw new Error("Method not implemented.");
}
}`
});