TypeScript/tests/cases/fourslash/extract-method37.ts
Andrew Branch 03c79d7422
Insert auto-imports in sorted order (#39394)
* Sort auto-imports

* Avoid re-checking sort all the time

* Add comment
2020-07-08 15:25:04 -07:00

57 lines
1 KiB
TypeScript

/// <reference path='fourslash.ts' />
// @Filename: /a.ts
////export interface A {
//// x: number;
////}
// @Filename: /b.ts
////export interface B<T> {
//// payload: T;
////}
// @Filename: /c.ts
////import { A } from "./a";
////import { B } from "./b";
////export interface C<T> {
//// payload: T;
////}
////
////export const c: C<B<A>> = {
//// payload: {
//// payload: { x: 1 }
//// }
////}
// @Filename: /d.ts
////import { c } from "./c";
////
////class Foo {
//// foo() {
//// const arg = c;
//// /*a*/console.log(arg);/*b*/
//// }
////}
goTo.file("/d.ts");
goTo.select("a", "b");
edit.applyRefactor({
refactorName: "Extract Symbol",
actionName: "function_scope_1",
actionDescription: "Extract to method in class 'Foo'",
newContent:
`import { A } from "./a";
import { B } from "./b";
import { C, c } from "./c";
class Foo {
foo() {
const arg = c;
this./*RENAME*/newMethod(arg);
}
private newMethod(arg: C<B<A>>) {
console.log(arg);
}
}`
});