TypeScript/tests/cases/fourslash/refactorConvertParamsToDestructuredObject_importedFunction6.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

21 lines
633 B
TypeScript

/// <reference path='fourslash.ts' />
// @Filename: f.ts
////export function /*a*/foo/*b*/(a: string, b: string) { }
// @Filename: a.ts
////import * as f from "./f";
////f.foo("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 function foo({ a, b }: { a: string; b: string; }) { }`
});
goTo.file("a.ts");
verify.currentFileContentIs(`import * as f from "./f";
f.foo({ a: "a", b: "b" });`)