Skip to content

Commit af38970

Browse files
committed
Move collateOutputs to harness
1 parent ef14da0 commit af38970

3 files changed

Lines changed: 29 additions & 29 deletions

File tree

src/harness/harness.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,6 +1018,31 @@ module Harness {
10181018
sys.newLine + sys.newLine + outputLines.join('\r\n');
10191019
}
10201020

1021+
export function collateOutputs(outputFiles: Harness.Compiler.GeneratedFile[], clean?: (s: string) => string) {
1022+
// Collect, test, and sort the filenames
1023+
function cleanName(fn: string) {
1024+
var lastSlash = ts.normalizeSlashes(fn).lastIndexOf('/');
1025+
return fn.substr(lastSlash + 1).toLowerCase();
1026+
}
1027+
outputFiles.sort((a, b) => cleanName(a.fileName).localeCompare(cleanName(b.fileName)));
1028+
1029+
// Emit them
1030+
var result = '';
1031+
ts.forEach(outputFiles, outputFile => {
1032+
// Some extra spacing if this isn't the first file
1033+
if (result.length) result = result + '\r\n\r\n';
1034+
1035+
// Filename header + content
1036+
result = result + '/*====== ' + outputFile.fileName + ' ======*/\r\n';
1037+
if (clean) {
1038+
result = result + clean(outputFile.code);
1039+
} else {
1040+
result = result + outputFile.code;
1041+
}
1042+
});
1043+
return result;
1044+
}
1045+
10211046
/** The harness' compiler instance used when tests are actually run. Reseting or changing settings of this compiler instance must be done within a test case (i.e., describe/it) */
10221047
var harnessCompiler: HarnessCompiler;
10231048

src/harness/rwcRunner.ts

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -20,31 +20,6 @@ module RWC {
2020
}
2121
}
2222

23-
export function collateOutputs(outputFiles: Harness.Compiler.GeneratedFile[], clean?: (s: string) => string) {
24-
// Collect, test, and sort the filenames
25-
function cleanName(fn: string) {
26-
var lastSlash = ts.normalizeSlashes(fn).lastIndexOf('/');
27-
return fn.substr(lastSlash + 1).toLowerCase();
28-
}
29-
outputFiles.sort((a, b) => cleanName(a.fileName).localeCompare(cleanName(b.fileName)));
30-
31-
// Emit them
32-
var result = '';
33-
ts.forEach(outputFiles, outputFile => {
34-
// Some extra spacing if this isn't the first file
35-
if (result.length) result = result + '\r\n\r\n';
36-
37-
// Filename header + content
38-
result = result + '/*====== ' + outputFile.fileName + ' ======*/\r\n';
39-
if (clean) {
40-
result = result + clean(outputFile.code);
41-
} else {
42-
result = result + outputFile.code;
43-
}
44-
});
45-
return result;
46-
}
47-
4823
export function runRWCTest(jsonPath: string) {
4924
describe("Testing a RWC project: " + jsonPath, () => {
5025
var inputFiles: { unitName: string; content: string; }[] = [];
@@ -136,7 +111,7 @@ module RWC {
136111

137112
it('has the expected emitted code', () => {
138113
Harness.Baseline.runBaseline('has the expected emitted code', baseName + '.output.js', () => {
139-
return collateOutputs(compilerResult.files, s => SyntacticCleaner.clean(s));
114+
return Harness.Compiler.collateOutputs(compilerResult.files, s => SyntacticCleaner.clean(s));
140115
}, false, baselineOpts);
141116
});
142117

@@ -145,7 +120,7 @@ module RWC {
145120
if (compilerResult.errors.length || !compilerResult.declFilesCode.length) {
146121
return null;
147122
}
148-
return collateOutputs(compilerResult.declFilesCode);
123+
return Harness.Compiler.collateOutputs(compilerResult.declFilesCode);
149124
}, false, baselineOpts);
150125
});
151126

@@ -155,7 +130,7 @@ module RWC {
155130
return null;
156131
}
157132

158-
return collateOutputs(compilerResult.sourceMaps);
133+
return Harness.Compiler.collateOutputs(compilerResult.sourceMaps);
159134
}, false, baselineOpts);
160135
});
161136

src/harness/test262Runner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class Test262BaselineRunner extends RunnerBase {
9696
it('has the expected emitted code', () => {
9797
Harness.Baseline.runBaseline('has the expected emitted code', testState.filename + '.output.js', () => {
9898
var files = testState.compilerResult.files.filter(f=> f.fileName !== Test262BaselineRunner.helpersFilePath);
99-
return RWC.collateOutputs(files, s => SyntacticCleaner.clean(s));
99+
return Harness.Compiler.collateOutputs(files, s => SyntacticCleaner.clean(s));
100100
}, false, Test262BaselineRunner.baselineOptions);
101101
});
102102

0 commit comments

Comments
 (0)