TypeScript/tests/cases/fourslash/refactorConvertParamsToDestructuredObject_namelessClass.ts
Gabriela Araujo Britto bb5eb025a8
Handle imports and exports in 'convert parameters to destructured object' (#30475)
* add test for imported function

* start to implement import references check

* fix imported function test

* skip alias when looking for symbol target

* recognize ES6 imports

* recognize some export syntax

* add tests for imports/exports

* add test for imported function

* start to implement import references check

* fix imported function test

* skip alias when looking for symbol target

* recognize ES6 imports

* recognize some export syntax

* add tests for imports/exports

* add test for imported function

* start to implement import references check

* fix imported function test

* recognize ES6 imports

* recognize some export syntax

* add mode import/export syntax cases

* fix entryToFunctionCall to deal with new calls through property/element access expressions

* add more tests for imports/exports

* allow function and class declarations that have no name but have a default modifier

* rename tests

* fix conflict

* fix tests

* add test for nameless class

* rename function

* minor refactor

* remove old tests

* delete old test

* refactor as suggested

* use getContainingFunctionDeclaration
2019-03-28 13:34:29 -07:00

25 lines
697 B
TypeScript

/// <reference path='fourslash.ts' />
// @Filename: f.ts
////export default class {
//// /*a*/constructor/*b*/(a: string, b: string) { }
////}
// @Filename: a.ts
////import C from "./f";
////const c = new C("a", "b");
goTo.select("a", "b");
edit.applyRefactor({
refactorName: "Convert parameters to destructured object",
actionName: "Convert parameters to destructured object",
actionDescription: "Convert parameters to destructured object",
newContent: `export default class {
constructor({ a, b }: { a: string; b: string; }) { }
}`
});
goTo.file("a.ts");
verify.currentFileContentIs(`import C from "./f";
const c = new C({ a: "a", b: "b" });`)