Skip to content

Commit 6099b09

Browse files
author
Andy
authored
Create source files lazily in tests (#19143)
1 parent d940cda commit 6099b09

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/harness/harness.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -844,9 +844,7 @@ namespace Harness {
844844
export const es2015DefaultLibFileName = "lib.es2015.d.ts";
845845

846846
// Cache of lib files from "built/local"
847-
const libFileNameSourceFileMap = ts.createMapFromTemplate<ts.SourceFile>({
848-
[defaultLibFileName]: createSourceFileAndAssertInvariants(defaultLibFileName, IO.readFile(libFolder + "lib.es5.d.ts"), /*languageVersion*/ ts.ScriptTarget.Latest)
849-
});
847+
let libFileNameSourceFileMap: ts.Map<ts.SourceFile> | undefined;
850848

851849
// Cache of lib files from "tests/lib/"
852850
const testLibFileNameSourceFileMap = ts.createMap<ts.SourceFile>();
@@ -857,6 +855,12 @@ namespace Harness {
857855
return undefined;
858856
}
859857

858+
if (!libFileNameSourceFileMap) {
859+
libFileNameSourceFileMap = ts.createMapFromTemplate({
860+
[defaultLibFileName]: createSourceFileAndAssertInvariants(defaultLibFileName, IO.readFile(libFolder + "lib.es5.d.ts"), /*languageVersion*/ ts.ScriptTarget.Latest)
861+
});
862+
}
863+
860864
let sourceFile = libFileNameSourceFileMap.get(fileName);
861865
if (!sourceFile) {
862866
libFileNameSourceFileMap.set(fileName, sourceFile = createSourceFileAndAssertInvariants(fileName, IO.readFile(libFolder + fileName), ts.ScriptTarget.Latest));

src/harness/unittests/moduleResolution.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ export = C;
392392
});
393393

394394
describe("Files with different casing", () => {
395-
const library = createSourceFile("lib.d.ts", "", ScriptTarget.ES5);
395+
let library: SourceFile;
396396
function test(files: Map<string>, options: CompilerOptions, currentDirectory: string, useCaseSensitiveFileNames: boolean, rootFiles: string[], diagnosticCodes: number[]): void {
397397
const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames);
398398
if (!useCaseSensitiveFileNames) {
@@ -406,6 +406,9 @@ export = C;
406406
const host: CompilerHost = {
407407
getSourceFile: (fileName: string, languageVersion: ScriptTarget) => {
408408
if (fileName === "lib.d.ts") {
409+
if (!library) {
410+
library = createSourceFile("lib.d.ts", "", ScriptTarget.ES5);
411+
}
409412
return library;
410413
}
411414
const path = getCanonicalFileName(normalizePath(combinePaths(currentDirectory, fileName)));

0 commit comments

Comments
 (0)