@@ -5,7 +5,7 @@ const enum CompilerTestType {
5
5
}
6
6
7
7
interface CompilerFileBasedTest extends Harness . FileBasedTest {
8
- payload ?: Harness . TestCaseParser . TestCaseContent ;
8
+ readonly content ?: string ;
9
9
}
10
10
11
11
class CompilerBaselineRunner extends RunnerBase {
@@ -74,7 +74,14 @@ class CompilerBaselineRunner extends RunnerBase {
74
74
// Mocha holds onto the closure environment of the describe callback even after the test is done.
75
75
// Everything declared here should be cleared out in the "after" callback.
76
76
let compilerTest ! : CompilerTest ;
77
- before ( ( ) => { compilerTest = new CompilerTest ( fileName , test && test . payload , configuration ) ; } ) ;
77
+ before ( ( ) => {
78
+ let payload ;
79
+ if ( test && test . content ) {
80
+ const rootDir = test . file . indexOf ( "conformance" ) === - 1 ? "tests/cases/compiler/" : ts . getDirectoryPath ( test . file ) + "/" ;
81
+ payload = Harness . TestCaseParser . makeUnitsFromTest ( test . content , test . file , rootDir ) ;
82
+ }
83
+ compilerTest = new CompilerTest ( fileName , payload , configuration ) ;
84
+ } ) ;
78
85
it ( `Correct errors for ${ fileName } ` , ( ) => { compilerTest . verifyDiagnostics ( ) ; } ) ;
79
86
it ( `Correct module resolution tracing for ${ fileName } ` , ( ) => { compilerTest . verifyModuleResolution ( ) ; } ) ;
80
87
it ( `Correct sourcemap content for ${ fileName } ` , ( ) => { compilerTest . verifySourceMapRecord ( ) ; } ) ;
@@ -189,11 +196,9 @@ class CompilerTest {
189
196
public static getConfigurations ( file : string ) : CompilerFileBasedTest {
190
197
// also see `parseCompilerTestConfigurations` in tests/webTestServer.ts
191
198
const content = Harness . IO . readFile ( file ) ! ;
192
- const rootDir = file . indexOf ( "conformance" ) === - 1 ? "tests/cases/compiler/" : ts . getDirectoryPath ( file ) + "/" ;
193
- const payload = Harness . TestCaseParser . makeUnitsFromTest ( content , file , rootDir ) ;
194
199
const settings = Harness . TestCaseParser . extractCompilerSettings ( content ) ;
195
200
const configurations = Harness . getFileBasedTestConfigurations ( settings , /*varyBy*/ [ "module" , "target" ] ) ;
196
- return { file, payload , configurations } ;
201
+ return { file, configurations , content } ;
197
202
}
198
203
199
204
public verifyDiagnostics ( ) {
0 commit comments