1namespace ts { 2 describe("unittests:: tsbuild - with noEmitOnError", () => { 3 let projFs: vfs.FileSystem; 4 before(() => { 5 projFs = loadProjectFromDisk("tests/projects/noEmitOnError"); 6 }); 7 after(() => { 8 projFs = undefined!; 9 }); 10 11 function verifyNoEmitOnError(subScenario: string, fixModifyFs: TscIncremental["modifyFs"], modifyFs?: TscIncremental["modifyFs"]) { 12 verifyTscSerializedIncrementalEdits({ 13 scenario: "noEmitOnError", 14 subScenario, 15 fs: () => projFs, 16 modifyFs, 17 commandLineArgs: ["--b", "/src/tsconfig.json"], 18 incrementalScenarios: [ 19 noChangeRun, 20 { 21 subScenario: "Fix error", 22 buildKind: BuildKind.IncrementalDtsChange, 23 modifyFs: fixModifyFs, 24 }, 25 noChangeRun, 26 ], 27 baselinePrograms: true, 28 baselineIncremental: true 29 }); 30 } 31 32 verifyNoEmitOnError( 33 "syntax errors", 34 fs => fs.writeFileSync("/src/src/main.ts", `import { A } from "../shared/types/db"; 35const a = { 36 lastName: 'sdsd' 37};`, "utf-8") 38 ); 39 40 verifyNoEmitOnError( 41 "semantic errors", 42 fs => fs.writeFileSync("/src/src/main.ts", `import { A } from "../shared/types/db"; 43const a: string = "hello";`, "utf-8"), 44 fs => fs.writeFileSync("/src/src/main.ts", `import { A } from "../shared/types/db"; 45const a: string = 10;`, "utf-8") 46 ); 47 }); 48} 49