1namespace ts { 2 describe("unittests:: config:: initTSConfig", () => { 3 function initTSConfigCorrectly(name: string, commandLinesArgs: string[]) { 4 describe(name, () => { 5 const commandLine = parseCommandLine(commandLinesArgs); 6 const initResult = generateTSConfig(commandLine.options, commandLine.fileNames, "\n"); 7 const outputFileName = `tsConfig/${name.replace(/[^a-z0-9\-. ]/ig, "")}/tsconfig.json`; 8 9 it(`Correct output for ${outputFileName}`, () => { 10 Harness.Baseline.runBaseline(outputFileName, initResult); 11 }); 12 }); 13 } 14 15 initTSConfigCorrectly("Default initialized TSConfig", ["--init"]); 16 17 initTSConfigCorrectly("Initialized TSConfig with files options", ["--init", "file0.st", "file1.ts", "file2.ts"]); 18 19 initTSConfigCorrectly("Initialized TSConfig with boolean value compiler options", ["--init", "--noUnusedLocals"]); 20 21 initTSConfigCorrectly("Initialized TSConfig with enum value compiler options", ["--init", "--target", "es5", "--jsx", "react"]); 22 23 initTSConfigCorrectly("Initialized TSConfig with list compiler options", ["--init", "--types", "jquery,mocha"]); 24 25 initTSConfigCorrectly("Initialized TSConfig with list compiler options with enum value", ["--init", "--lib", "es5,es2015.core"]); 26 27 initTSConfigCorrectly("Initialized TSConfig with incorrect compiler option", ["--init", "--someNonExistOption"]); 28 29 initTSConfigCorrectly("Initialized TSConfig with incorrect compiler option value", ["--init", "--lib", "nonExistLib,es5,es2015.promise"]); 30 31 initTSConfigCorrectly("Initialized TSConfig with advanced options", ["--init", "--declaration", "--declarationDir", "lib", "--skipLibCheck", "--noErrorTruncation"]); 32 }); 33} 34