aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tslint/lib/test.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
commitbbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch)
treec58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/tslint/lib/test.js
parent003fb34971cf63466184351b4db5f7c67df4f444 (diff)
update packages
Diffstat (limited to 'node_modules/tslint/lib/test.js')
-rw-r--r--node_modules/tslint/lib/test.js61
1 files changed, 33 insertions, 28 deletions
diff --git a/node_modules/tslint/lib/test.js b/node_modules/tslint/lib/test.js
index 10cb4eba0..dfb828e55 100644
--- a/node_modules/tslint/lib/test.js
+++ b/node_modules/tslint/lib/test.js
@@ -16,7 +16,7 @@
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
-var chalk = require("chalk");
+var chalk_1 = require("chalk");
var diff = require("diff");
var fs = require("fs");
var glob = require("glob");
@@ -24,7 +24,7 @@ var path = require("path");
var semver = require("semver");
var ts = require("typescript");
var rule_1 = require("./language/rule/rule");
-var Linter = require("./linter");
+var linter_1 = require("./linter");
var utils_1 = require("./utils");
var parse = require("./verify/parse");
var MARKUP_FILE_EXTENSION = ".lint";
@@ -43,14 +43,14 @@ function runTests(patterns, rulesDirectory) {
exports.runTests = runTests;
function runTest(testDirectory, rulesDirectory) {
var filesToLint = glob.sync(path.join(testDirectory, "**/*" + MARKUP_FILE_EXTENSION));
- var tslintConfig = Linter.findConfiguration(path.join(testDirectory, "tslint.json"), "").results;
+ var tslintConfig = linter_1.Linter.findConfiguration(path.join(testDirectory, "tslint.json"), "").results;
var tsConfig = path.join(testDirectory, "tsconfig.json");
var compilerOptions = { allowJs: true };
var hasConfig = fs.existsSync(tsConfig);
if (hasConfig) {
var _a = ts.readConfigFile(tsConfig, ts.sys.readFile), config = _a.config, error = _a.error;
if (error !== undefined) {
- throw new Error(JSON.stringify(error));
+ throw new Error(ts.formatDiagnostics([error], ts.createCompilerHost({})));
}
var parseConfigHost = {
fileExists: fs.existsSync,
@@ -114,7 +114,7 @@ function runTest(testDirectory, rulesDirectory) {
formattersDirectory: "",
rulesDirectory: rulesDirectory,
};
- var linter = new Linter(lintOptions, program);
+ var linter = new linter_1.Linter(lintOptions, program);
// Need to use the true path (ending in '.lint') for "encoding" rule so that it can read the file.
linter.lint(isEncodingRule ? fileToLint : fileCompileName, fileTextWithoutMarkup, tslintConfig);
var failures = linter.getResult().failures;
@@ -166,28 +166,27 @@ function runTest(testDirectory, rulesDirectory) {
return results;
}
exports.runTest = runTest;
-function consoleTestResultsHandler(testResults) {
+function consoleTestResultsHandler(testResults, logger) {
var didAllTestsPass = true;
for (var _i = 0, testResults_1 = testResults; _i < testResults_1.length; _i++) {
var testResult = testResults_1[_i];
- if (!consoleTestResultHandler(testResult)) {
+ if (!consoleTestResultHandler(testResult, logger)) {
didAllTestsPass = false;
}
}
return didAllTestsPass;
}
exports.consoleTestResultsHandler = consoleTestResultsHandler;
-function consoleTestResultHandler(testResult) {
+function consoleTestResultHandler(testResult, logger) {
// needed to get colors to show up when passing through Grunt
- chalk.enabled = true;
+ chalk_1.default.enabled = true;
var didAllTestsPass = true;
for (var _i = 0, _a = Object.keys(testResult.results); _i < _a.length; _i++) {
var fileName = _a[_i];
var results = testResult.results[fileName];
- process.stdout.write(fileName + ":");
- /* tslint:disable:no-console */
+ logger.log(fileName + ":");
if (results.skipped) {
- console.log(chalk.yellow(" Skipped, requires typescript " + results.requirement));
+ logger.log(chalk_1.default.yellow(" Skipped, requires typescript " + results.requirement + "\n"));
}
else {
var markupDiffResults = diff.diffLines(results.markupFromMarkup, results.markupFromLinter);
@@ -195,38 +194,44 @@ function consoleTestResultHandler(testResult) {
var didMarkupTestPass = !markupDiffResults.some(function (hunk) { return hunk.added === true || hunk.removed === true; });
var didFixesTestPass = !fixesDiffResults.some(function (hunk) { return hunk.added === true || hunk.removed === true; });
if (didMarkupTestPass && didFixesTestPass) {
- console.log(chalk.green(" Passed"));
+ logger.log(chalk_1.default.green(" Passed\n"));
}
else {
- console.log(chalk.red(" Failed!"));
+ logger.log(chalk_1.default.red(" Failed!\n"));
didAllTestsPass = false;
if (!didMarkupTestPass) {
- displayDiffResults(markupDiffResults, MARKUP_FILE_EXTENSION);
+ displayDiffResults(markupDiffResults, MARKUP_FILE_EXTENSION, logger);
}
if (!didFixesTestPass) {
- displayDiffResults(fixesDiffResults, FIXES_FILE_EXTENSION);
+ displayDiffResults(fixesDiffResults, FIXES_FILE_EXTENSION, logger);
}
}
}
- /* tslint:enable:no-console */
}
return didAllTestsPass;
}
exports.consoleTestResultHandler = consoleTestResultHandler;
-function displayDiffResults(diffResults, extension) {
- /* tslint:disable:no-console */
- console.log(chalk.green("Expected (from " + extension + " file)"));
- console.log(chalk.red("Actual (from TSLint)"));
- for (var _i = 0, diffResults_1 = diffResults; _i < diffResults_1.length; _i++) {
- var diffResult = diffResults_1[_i];
- var color = chalk.grey;
+function displayDiffResults(diffResults, extension, logger) {
+ logger.log(chalk_1.default.green("Expected (from " + extension + " file)\n"));
+ logger.log(chalk_1.default.red("Actual (from TSLint)\n"));
+ var _loop_2 = function (diffResult) {
+ var color = chalk_1.default.grey;
+ var prefix = " ";
if (diffResult.added) {
- color = chalk.green.underline;
+ color = chalk_1.default.green.underline;
+ prefix = "+ ";
}
else if (diffResult.removed) {
- color = chalk.red.underline;
+ color = chalk_1.default.red.underline;
+ prefix = "- ";
}
- process.stdout.write(color(diffResult.value));
+ logger.log(color(diffResult.value.split(/\r\n|\r|\n/)
+ // strings end on a newline which we do not want to include the prefix.
+ // tslint:disable-next-line:prefer-template
+ .map(function (line, index, array) { return index === array.length - 1 ? line : prefix + line + "\n"; }).join("")));
+ };
+ for (var _i = 0, diffResults_1 = diffResults; _i < diffResults_1.length; _i++) {
+ var diffResult = diffResults_1[_i];
+ _loop_2(diffResult);
}
- /* tslint:enable:no-console */
}