@@ -32,47 +32,46 @@ namespace ts {
3232 } ) ;
3333
3434 interface VerifyOutFileScenarioInput {
35- scenario : string ;
36- modifyFs : ( fs : vfs . FileSystem ) => void ;
35+ subScenario : string ;
36+ modifyFs ? : ( fs : vfs . FileSystem ) => void ;
3737 modifyAgainFs ?: ( fs : vfs . FileSystem ) => void ;
3838 }
3939
4040 function verifyOutFileScenario ( {
41- scenario ,
41+ subScenario ,
4242 modifyFs,
4343 modifyAgainFs
4444 } : VerifyOutFileScenarioInput ) {
45- verifyTsbuildOutput ( {
46- scenario,
47- projFs : ( ) => outFileFs ,
48- time ,
45+ verifyTscIncrementalEdits ( {
46+ scenario : "amdModulesWithOut" ,
47+ subScenario ,
48+ fs : ( ) => outFileFs ,
4949 tick,
50- proj : "amdModulesWithOut" ,
51- rootNames : [ "/src/app" ] ,
50+ commandLineArgs : [ "--b" , "/src/app" , "--verbose" ] ,
5251 baselineSourceMap : true ,
53- initialBuild : {
54- modifyFs
55- } ,
56- incrementalDtsUnchangedBuild : {
57- modifyFs : fs => appendText ( fs , relName ( sources [ project . lib ] [ source . ts ] [ 1 ] ) , "console.log(x);" )
58- } ,
59- incrementalHeaderChangedBuild : modifyAgainFs ? {
60- modifyFs : modifyAgainFs
61- } : undefined ,
62- baselineOnly : true
52+ modifyFs,
53+ incrementalScenarios : [
54+ {
55+ buildKind : BuildKind . IncrementalDtsUnchanged ,
56+ modifyFs : fs => appendText ( fs , relName ( sources [ project . lib ] [ source . ts ] [ 1 ] ) , "console.log(x);" )
57+ } ,
58+ ...( modifyAgainFs ? [ {
59+ buildKind : BuildKind . IncrementalHeadersChange ,
60+ modifyFs : modifyAgainFs
61+ } ] : emptyArray ) ,
62+ ]
6363 } ) ;
6464 }
6565
6666 describe ( "Prepend output with .tsbuildinfo" , ( ) => {
6767 verifyOutFileScenario ( {
68- scenario : "modules and globals mixed in amd" ,
69- modifyFs : noop
68+ subScenario : "modules and globals mixed in amd" ,
7069 } ) ;
7170
7271 // Prologues
7372 describe ( "Prologues" , ( ) => {
7473 verifyOutFileScenario ( {
75- scenario : "multiple prologues in all projects" ,
74+ subScenario : "multiple prologues in all projects" ,
7675 modifyFs : fs => {
7776 enableStrict ( fs , sources [ project . lib ] [ source . config ] ) ;
7877 addTestPrologue ( fs , sources [ project . lib ] [ source . ts ] [ 0 ] , `"myPrologue"` ) ;
@@ -90,7 +89,7 @@ namespace ts {
9089 describe ( "Shebang" , ( ) => {
9190 // changes declaration because its emitted in .d.ts file
9291 verifyOutFileScenario ( {
93- scenario : "shebang in all projects" ,
92+ subScenario : "shebang in all projects" ,
9493 modifyFs : fs => {
9594 addShebang ( fs , "lib" , "file0" ) ;
9695 addShebang ( fs , "lib" , "file1" ) ;
@@ -102,7 +101,7 @@ namespace ts {
102101 // emitHelpers
103102 describe ( "emitHelpers" , ( ) => {
104103 verifyOutFileScenario ( {
105- scenario : "multiple emitHelpers in all projects" ,
104+ subScenario : "multiple emitHelpers in all projects" ,
106105 modifyFs : fs => {
107106 addSpread ( fs , "lib" , "file0" ) ;
108107 addRest ( fs , "lib" , "file1" ) ;
@@ -117,7 +116,7 @@ namespace ts {
117116 describe ( "triple slash refs" , ( ) => {
118117 // changes declaration because its emitted in .d.ts file
119118 verifyOutFileScenario ( {
120- scenario : "triple slash refs in all projects" ,
119+ subScenario : "triple slash refs in all projects" ,
121120 modifyFs : fs => {
122121 addTripleSlashRef ( fs , "lib" , "file0" ) ;
123122 addTripleSlashRef ( fs , "app" , "file4" ) ;
@@ -161,7 +160,7 @@ ${internal} export enum internalEnum { a, b, c }`);
161160
162161 // Verify initial + incremental edits
163162 verifyOutFileScenario ( {
164- scenario : "stripInternal" ,
163+ subScenario : "stripInternal" ,
165164 modifyFs : stripInternalScenario ,
166165 modifyAgainFs : fs => replaceText ( fs , sources [ project . lib ] [ source . ts ] [ 1 ] , `export const` , `/*@internal*/ export const` ) ,
167166 } ) ;
@@ -175,26 +174,13 @@ ${internal} export enum internalEnum { a, b, c }`);
175174 replaceText ( fs , sources [ project . app ] [ source . ts ] [ 0 ] , "file1" , "lib/file1" ) ;
176175 }
177176
178- verifyTsbuildOutput ( {
179- scenario : "when the module resolution finds original source file" ,
180- projFs : ( ) => outFileFs ,
181- time,
182- tick,
183- proj : "amdModulesWithOut" ,
184- rootNames : [ "/src/app" ] ,
177+ verifyTsc ( {
178+ scenario : "amdModulesWithOut" ,
179+ subScenario : "when the module resolution finds original source file" ,
180+ fs : ( ) => outFileFs ,
181+ commandLineArgs : [ "-b" , "/src/app" , "--verbose" ] ,
182+ modifyFs,
185183 baselineSourceMap : true ,
186- initialBuild : {
187- modifyFs,
188- expectedDiagnostics : [
189- getExpectedDiagnosticForProjectsInBuild ( "src/lib/tsconfig.json" , "src/app/tsconfig.json" ) ,
190- [ Diagnostics . Project_0_is_out_of_date_because_output_file_1_does_not_exist , "src/lib/tsconfig.json" , "src/module.js" ] ,
191- [ Diagnostics . Building_project_0 , sources [ project . lib ] [ source . config ] ] ,
192- [ Diagnostics . Project_0_is_out_of_date_because_output_file_1_does_not_exist , "src/app/tsconfig.json" , "src/app/module.js" ] ,
193- [ Diagnostics . Building_project_0 , sources [ project . app ] [ source . config ] ] ,
194- ]
195- } ,
196- baselineOnly : true ,
197- verifyDiagnostics : true
198184 } ) ;
199185 } ) ;
200186 } ) ;
0 commit comments