8000 More tests for cache reuse directory structure · microsoft/TypeScript@84cda33 · GitHub
[go: up one dir, main page]

Skip to content

Commit 84cda33

Browse files
committed
More tests for cache reuse directory structure
1 parent feb3220 commit 84cda33

File tree

17 files changed

+148143
-7876
lines changed

17 files changed

+148143
-7876
lines changed

src/testRunner/unittests/tsbuild/cacheResolutions.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,14 @@ describe("unittests:: tsbuild:: cacheResolutions::", () => {
176176
caption: "modify e/ea/eaa/eaaa/x/y/z/randomFileForImport by adding unresolved import",
177177
edit: fs => prependText(fs, "/src/project/e/ea/eaa/eaaa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
178178
},
179+
{
180+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding import",
181+
edit: fs => prependText(fs, "/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
182+
},
183+
{
184+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding unresolved import",
185+
edit: fs => prependText(fs, "/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
186+
},
179187
{
180188
caption: "add file for unresolved import",
181189
edit: fs => {

src/testRunner/unittests/tsbuild/cacheResolutionsHelper.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,8 @@ function getFsMapWithSameResolutionFromMultiplePlaces(): { [path: string]: strin
269269
"e/ea/eaa/fileWithImports.ts",
270270
"e/ea/eaa/eaaa/fileWithImports.ts",
271271
"e/ea/eaa/eaaa/x/y/z/randomFileForImport.ts",
272+
"f/fa/faa/x/y/z/randomFileForImport.ts",
273+
"f/fa/faa/faaa/fileWithImports.ts",
272274
],
273275
}),
274276
"/src/project/fileWithImports.ts": Utils.dedent`
@@ -324,6 +326,11 @@ function getFsMapWithSameResolutionFromMultiplePlaces(): { [path: string]: strin
324326
import type { ImportInterface1 } from "pkg1";
325327
`,
326328
"/src/project/e/ea/eaa/eaaa/x/y/z/randomFileForImport.ts": getRandomFileContent(),
329+
"/src/project/f/fa/faa/faaa/fileWithImports.ts": Utils.dedent`
330+
import type { ImportInterface0 } from "pkg0";
331+
import type { ImportInterface1 } from "pkg1";
332+
`,
333+
"/src/project/f/fa/faa/x/y/z/randomFileForImport.ts": getRandomFileContent(),
327334
"/src/project/node_modules/pkg0/index.d.ts": getPkgImportContent("Import", 0),
328335
};
329336
}

src/testRunner/unittests/tsbuildWatch/cacheResolutions.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,16 @@ describe("unittests:: tsbuildWatch:: watchMode:: cacheResolutions::", () => {
227227
edit: sys => sys.prependFile("/src/project/e/ea/eaa/eaaa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
228228
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
229229
},
230+
{
231+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding import",
232+
edit: sys => sys.prependFile("/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
233+
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
234+
},
235+
{
236+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding unresolved import",
237+
edit: sys => sys.prependFile("/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
238+
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
239+
},
230240
{
231241
caption: "add file for unresolved import and random edit",
232242
edit: sys => {

src/testRunner/unittests/tsc/cacheResolutions.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@ describe("unittests:: tsc:: cacheResolutions::", () => {
272272
caption: "modify e/ea/eaa/eaaa/x/y/z/randomFileForImport by adding unresolved import",
273273
edit: fs => prependText(fs, "/src/project/e/ea/eaa/eaaa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
274274
},
275+
{
276+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding import",
277+
edit: fs => prependText(fs, "/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
278+
},
279+
{
280+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding unresolved import",
281+
edit: fs => prependText(fs, "/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
282+
},
275283
{
276284
caption: "add file for unresolved import",
277285
edit: fs => {

src/testRunner/unittests/tscWatch/cacheResolutions.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,16 @@ describe("unittests:: tsc-watch:: cacheResolutions::", () => {
237237
edit: sys => sys.prependFile("/src/project/e/ea/eaa/eaaa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
238238
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
239239
},
240+
{
241+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding import",
242+
edit: sys => sys.prependFile("/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
243+
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
244+
},
245+
{
246+
caption: "modify f/fa/faa/x/y/z/randomFileForImport by adding unresolved import",
247+
edit: sys => sys.prependFile("/src/project/f/fa/faa/x/y/z/randomFileForImport.ts", `import type { ImportInterface1 } from "pkg1";\n`),
248+
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
249+
},
240250
{
241251
caption: "add file for unresolved import and random edit",
242252
edit: sys => {

src/testRunner/unittests/tsserver/cacheResolutions.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,34 @@ describe("unittests:: tsserver:: cacheResolutions:: tsserverProjectSystem cachin
362362
});
363363
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
364364

365+
session.logger.info("modify f/fa/faa/x/y/z/randomFileForImport by adding import");
366+
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
367+
command: ts.server.protocol.CommandTypes.Change,
368+
arguments: {
369+
file: "/src/project/f/fa/faa/x/y/z/randomFileForImport.ts",
370+
line: 1,
371+
offset: 1,
372+
endLine: 1,
373+
endOffset: 1,
374+
insertString: `import type { ImportInterface0 } from "pkg0";\n`,
375+
}
376+
});
377+
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
378+
379+
session.logger.info("modify f/fa/faa/x/y/z/randomFileForImport by adding unresolved import");
380+
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
381+
command: ts.server.protocol.CommandTypes.Change,
382+
arguments: {
383+
file: "/src/project/f/fa/faa/x/y/z/randomFileForImport.ts",
384+
line: 1,
385+
offset: 1,
386+
endLine: 1,
387+
endOffset: 1,
388+
insertString: `import type { ImportInterface1 } from "pkg1";\n`,
389+
}
390+
});
391+
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
392+
365393
session.logger.info("add file for unresolved import and random edit");
366394
host.ensureFileOrFolder({ path: "/src/project/node_modules/pkg1/index.d.ts", content: getPkgImportContent("Import", 1) });
367395
host.appendFile("/src/project/randomFileForImport.ts", `export const y = 10;`);

0 commit comments

Comments
 (0)
0