Skip to content

Commit c53b0a5

Browse files
committed
Merge pull request #2599 from Microsoft/APISamples
Update API samples and fix test issues
2 parents e195d89 + 1d5d10a commit c53b0a5

14 files changed

+184
-39648
lines changed

src/harness/harness.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ module Harness {
781781

782782
public reset() { this.fileCollection = {}; }
783783

784-
public toArray(): { fileName: string; file: WriterAggregator; }[] {
784+
public toArray(): { fileName: string; file: WriterAggregator; }[]{
785785
var result: { fileName: string; file: WriterAggregator; }[] = [];
786786
for (var p in this.fileCollection) {
787787
if (this.fileCollection.hasOwnProperty(p)) {
@@ -944,6 +944,10 @@ module Harness {
944944

945945
var newLine = '\r\n';
946946

947+
// Files from built\local that are requested by test "@includeBuiltFiles" to be in the context.
948+
// Treat them as library files, so include them in build, but not in baselines.
949+
var includeBuiltFiles: { unitName: string; content: string }[] = [];
950+
947951
var useCaseSensitiveFileNames = ts.sys.useCaseSensitiveFileNames;
948952
this.settings.forEach(setting => {
949953
switch (setting.flag.toLowerCase()) {
@@ -1061,18 +1065,19 @@ module Harness {
10611065
break;
10621066

10631067
case 'includebuiltfile':
1064-
inputFiles.push({ unitName: setting.value, content: normalizeLineEndings(IO.readFile(libFolder + setting.value), newLine) });
1068+
let builtFileName = libFolder + setting.value;
1069+
includeBuiltFiles.push({ unitName: builtFileName, content: normalizeLineEndings(IO.readFile(builtFileName), newLine) });
10651070
break;
10661071

10671072
default:
10681073
throw new Error('Unsupported compiler setting ' + setting.flag);
10691074
}
10701075
});
1071-
1076+
10721077
var fileOutputs: GeneratedFile[] = [];
10731078

1074-
var programFiles = inputFiles.map(file => file.unitName);
1075-
var program = ts.createProgram(programFiles, options, createCompilerHost(inputFiles.concat(otherFiles),
1079+
var programFiles = inputFiles.concat(includeBuiltFiles).map(file => file.unitName);
1080+
var program = ts.createProgram(programFiles, options, createCompilerHost(inputFiles.concat(includeBuiltFiles).concat(otherFiles),
10761081
(fn, contents, writeByteOrderMark) => fileOutputs.push({ fileName: fn, code: contents, writeByteOrderMark: writeByteOrderMark }),
10771082
options.target, useCaseSensitiveFileNames, currentDirectory));
10781083

@@ -1295,7 +1300,7 @@ module Harness {
12951300
});
12961301

12971302
var numLibraryDiagnostics = ts.countWhere(diagnostics, diagnostic => {
1298-
return diagnostic.fileName && isLibraryFile(diagnostic.fileName);
1303+
return diagnostic.fileName && (isLibraryFile(diagnostic.fileName) || isBuiltFile(diagnostic.fileName));
12991304
});
13001305

13011306
var numTest262HarnessDiagnostics = ts.countWhere(diagnostics, diagnostic => {
@@ -1698,6 +1703,10 @@ module Harness {
16981703
return (Path.getFileName(filePath) === 'lib.d.ts') || (Path.getFileName(filePath) === 'lib.core.d.ts');
16991704
}
17001705

1706+
export function isBuiltFile(filePath: string): boolean {
1707+
return filePath.indexOf(Harness.libFolder) === 0;
1708+
}
1709+
17011710
export function getDefaultLibraryFile(): { unitName: string, content: string } {
17021711
var libFile = Harness.userSpecifiedroot + Harness.libFolder + "/" + "lib.d.ts";
17031712
return {

0 commit comments

Comments
 (0)