TypeScript/tests/cases/fourslash/getEditsForFileRename_renameFromIndex.ts
Andy d671c7ae96
getEditsForFileRename: Support directory rename (#24305)
* getEditsForFileRename: Support directory rename

* Code review

* Handle imports inside the new file/directory

* Document path updaters

* Shorten relative paths where possible

* Reduce duplicate code

* Rewrite, use moduleSpecifiers.ts to get module specifiers from scratch instead of updating relative paths

* Update additional tsconfig.json fields

* Add test with '.js' extension

* Handle case-insensitive paths

* Better tsconfig handling

* Handle properties inside compilerOptions

* Use getOptionFromName
2018-06-01 08:23:37 -07:00

44 lines
1.1 KiB
TypeScript

/// <reference path='fourslash.ts' />
// @Filename: /a.ts
/////// <reference path="./src/index.ts" />
////import old from "./src";
////import old2 from "./src/index";
// @Filename: /src/a.ts
/////// <reference path="./index.ts" />
////import old from ".";
////import old2 from "./index";
// @Filename: /src/foo/a.ts
/////// <reference path="../index.ts" />
////import old from "..";
////import old2 from "../index";
// @Filename: /src/index.ts
////
// @Filename: /tsconfig.json
////{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/index.ts"] }
verify.getEditsForFileRename({
oldPath: "/src/index.ts",
newPath: "/src/new.ts",
newFileContents: {
"/a.ts":
`/// <reference path="./src/new.ts" />
import old from "./src/new";
import old2 from "./src/new";`,
"/src/a.ts":
`/// <reference path="./new.ts" />
import old from "./new";
import old2 from "./new";`,
"/src/foo/a.ts":
`/// <reference path="../new.ts" />
import old from "../new";
import old2 from "../new";`,
"/tsconfig.json":
'{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/new.ts"] }',
},
});