diff --git a/test/index.js b/test/index.js index a08f1f9..f27f188 100644 --- a/test/index.js +++ b/test/index.js @@ -5,15 +5,16 @@ var test = require('blue-tape') var OUT_FILENAME = path.join(__dirname, 'rules.out') var TSLINT_BIN = require.resolve('tslint/bin/tslint') -var CONFIG_FILE = path.join(__dirname, '../tslint.js') -var TSLINT_CMD = 'node ' + TSLINT_BIN + ' --config ' + CONFIG_FILE + ' --project tsconfig.json --type-check "rules/**/*.ts"' +var TSLINT_CMD = 'node ' + TSLINT_BIN + ' --config ../tslint.js --project tsconfig.json --type-check "rules/**/*.ts"' test('tslint standard', function (t) { exec(TSLINT_CMD, { cwd: __dirname }, function (err, stdout, stderr) { t.ok(err) + const out = relatify(stdout, __dirname).trim() + if (process.env.GENERATE_ASSETS) { - return fs.writeFile(OUT_FILENAME, stdout, function (err) { + return fs.writeFile(OUT_FILENAME, out, function (err) { t.notOk(err) t.end() }) @@ -22,10 +23,23 @@ test('tslint standard', function (t) { fs.readFile(OUT_FILENAME, 'utf8', function (err, result) { t.notOk(err) - t.equal(stdout, result) + t.equal(out, result) t.equal(stderr, '') t.end() }) }) }) + +/** + * Remove all absolute paths when persisting. + */ +function relatify (stdout, dirname) { + let index + + while ((index = stdout.indexOf(dirname)) > -1) { + stdout = stdout.substr(0, index) + stdout.substr(index + dirname.length) + } + + return stdout +} diff --git a/test/rules.out b/test/rules.out index 0f6b05e..a34cc43 100644 --- a/test/rules.out +++ b/test/rules.out @@ -1,14 +1,13 @@ - -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/curly.ts[4, 3]: if statements must be braced -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/handle-callback-err.ts[1, 21]: Expected error to be handled -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/import-spacing.ts[2, 1]: All imports are unused. -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/import-spacing.ts[1, 7]: missing whitespace -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/no-constant-condition.ts[1, 5]: unexpected constant condition -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/no-inner-declarations.ts[4, 20]: block is empty -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/no-inner-declarations.ts[4, 12]: 'test' is declared but never used. -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/no-inner-declarations.ts[4, 3]: move function declaration to program root -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/no-multi-spaces.ts[1, 22]: Multiple spaces found before 'true'. -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/semicolon.ts[1, 24]: Unnecessary semicolon -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/ter-arrow-spacing.ts[5, 11]: Multiple spaces found before '=>'. -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/ter-indent.ts[11, 1]: Expected indentation of 2 spaces but found 3. -ERROR: /Users/blakeembrey/Projects/GitHub/blakeembrey/tslint-config-standard/test/rules/trailing-comma.ts[3, 7]: Unnecessary trailing comma +ERROR: /rules/curly.ts[4, 3]: if statements must be braced +ERROR: /rules/handle-callback-err.ts[1, 21]: Expected error to be handled +ERROR: /rules/import-spacing.ts[2, 1]: All imports are unused. +ERROR: /rules/import-spacing.ts[1, 7]: missing whitespace +ERROR: /rules/no-constant-condition.ts[1, 5]: unexpected constant condition +ERROR: /rules/no-inner-declarations.ts[4, 20]: block is empty +ERROR: /rules/no-inner-declarations.ts[4, 12]: 'test' is declared but never used. +ERROR: /rules/no-inner-declarations.ts[4, 3]: move function declaration to program root +ERROR: /rules/no-multi-spaces.ts[1, 22]: Multiple spaces found before 'true'. +ERROR: /rules/semicolon.ts[1, 24]: Unnecessary semicolon +ERROR: /rules/ter-arrow-spacing.ts[5, 11]: Multiple spaces found before '=>'. +ERROR: /rules/ter-indent.ts[11, 1]: Expected indentation of 2 spaces but found 3. +ERROR: /rules/trailing-comma.ts[3, 7]: Unnecessary trailing comma \ No newline at end of file