diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index 85a51b8f2a..399f8a272d 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -250,10 +250,11 @@ class CompilerBaselineRunner extends RunnerBase { // These types are equivalent, but depend on what order the compiler observed // certain parts of the program. - const allFiles = toBeCompiled.concat(otherFiles).filter(file => !!result.program.getSourceFile(file.unitName)); + const program = result.program; + const allFiles = toBeCompiled.concat(otherFiles).filter(file => !!program.getSourceFile(file.unitName)); - const fullWalker = new TypeWriterWalker(result.program, /*fullTypeCheck*/ true); - const pullWalker = new TypeWriterWalker(result.program, /*fullTypeCheck*/ false); + const fullWalker = new TypeWriterWalker(program, /*fullTypeCheck*/ true); + const pullWalker = new TypeWriterWalker(program, /*fullTypeCheck*/ false); const fullResults: ts.Map = {}; const pullResults: ts.Map = {}; diff --git a/src/harness/harness.ts b/src/harness/harness.ts index e58e663543..ef0f2678e2 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -767,9 +767,9 @@ namespace Harness { } namespace Harness { - const tcServicesFileName = "built/local/typescriptServices.js"; export const libFolder = "built/local/"; - export let tcServicesFile = IO.readFile(tcServicesFileName); + const tcServicesFileName = ts.combinePaths(libFolder, "typescriptServices.js"); + export const tcServicesFile = IO.readFile(tcServicesFileName); export interface SourceMapEmitterCallback { (emittedFile: string, emittedLine: number, emittedColumn: number, sourceFile: string, sourceLine: number, sourceColumn: number, sourceName: string): void; @@ -990,7 +990,6 @@ namespace Harness { options.noErrorTruncation = true; options.skipDefaultLibCheck = true; - const newLine = "\r\n"; currentDirectory = currentDirectory || Harness.IO.getCurrentDirectory(); // Parse settings @@ -1002,27 +1001,30 @@ namespace Harness { useCaseSensitiveFileNames = options.useCaseSensitiveFileNames; } + const programFiles: TestFile[] = inputFiles.slice(); // Files from built\local that are requested by test "@includeBuiltFiles" to be in the context. // Treat them as library files, so include them in build, but not in baselines. - const includeBuiltFiles: TestFile[] = []; if (options.includeBuiltFile) { - const builtFileName = libFolder + options.includeBuiltFile; + const builtFileName = ts.combinePaths(libFolder, options.includeBuiltFile); const builtFile: TestFile = { unitName: builtFileName, - content: normalizeLineEndings(IO.readFile(builtFileName), newLine), + content: normalizeLineEndings(IO.readFile(builtFileName), Harness.IO.newLine()), }; - includeBuiltFiles.push(builtFile); + programFiles.push(builtFile); } const fileOutputs: GeneratedFile[] = []; - const programFiles = inputFiles.concat(includeBuiltFiles).map(file => file.unitName); + const programFileNames = programFiles.map(file => file.unitName); const compilerHost = createCompilerHost( - inputFiles.concat(includeBuiltFiles).concat(otherFiles), + programFiles.concat(otherFiles), (fileName, code, writeByteOrderMark) => fileOutputs.push({ fileName, code, writeByteOrderMark }), - options.target, useCaseSensitiveFileNames, currentDirectory, options.newLine); - const program = ts.createProgram(programFiles, options, compilerHost); + options.target, + useCaseSensitiveFileNames, + currentDirectory, + options.newLine); + const program = ts.createProgram(programFileNames, options, compilerHost); const emitResult = program.emit(); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index 5b8bb94bb4..f93ac76d6e 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -55,7 +55,7 @@ declare module ts { } } -declare module FourSlashInterface { +declare namespace FourSlashInterface { interface Marker { fileName: string; position: number; @@ -331,15 +331,6 @@ declare module FourSlashInterface { }; } } -declare module fs { - var test: FourSlashInterface.test_; - var goTo: FourSlashInterface.goTo; - var verify: FourSlashInterface.verify; - var edit: FourSlashInterface.edit; - var debug: FourSlashInterface.debug; - var format: FourSlashInterface.format; - var cancellation: FourSlashInterface.cancellation; -} declare function verifyOperationIsCancelled(f: any): void; declare var test: FourSlashInterface.test_; declare var goTo: FourSlashInterface.goTo;