From c9cee63179007dd8bd90ba9d33878af9cf75a4d2 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 4 Jun 2018 17:34:37 +0000 Subject: [PATCH] test,tools: refactor custom ESLint for readability Refactor the test and the source for the `lowercase-name-for-primitive` custom ESLint rule for readability. PR-URL: https://github.com/nodejs/node/pull/21134 Reviewed-By: Luigi Pinca Reviewed-By: Trivikram Kamat --- ...est-eslint-lowercase-name-for-primitive.js | 38 +++++++------------ .../lowercase-name-for-primitive.js | 4 +- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/test/parallel/test-eslint-lowercase-name-for-primitive.js b/test/parallel/test-eslint-lowercase-name-for-primitive.js index 929ff03c656cd6..f196f3f45ce82a 100644 --- a/test/parallel/test-eslint-lowercase-name-for-primitive.js +++ b/test/parallel/test-eslint-lowercase-name-for-primitive.js @@ -7,45 +7,33 @@ common.skipIfEslintMissing(); const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/lowercase-name-for-primitive'); -const valid = [ - 'string', - 'number', - 'boolean', - 'null', - 'undefined' -]; - new RuleTester().run('lowercase-name-for-primitive', rule, { valid: [ 'new errors.TypeError("ERR_INVALID_ARG_TYPE", "a", ["string", "number"])', - ...valid.map((name) => - `new errors.TypeError("ERR_INVALID_ARG_TYPE", "name", "${name}")` - ) + 'new errors.TypeError("ERR_INVALID_ARG_TYPE", "name", "string")', + 'new errors.TypeError("ERR_INVALID_ARG_TYPE", "name", "number")', + 'new errors.TypeError("ERR_INVALID_ARG_TYPE", "name", "boolean")', + 'new errors.TypeError("ERR_INVALID_ARG_TYPE", "name", "null")', + 'new errors.TypeError("ERR_INVALID_ARG_TYPE", "name", "undefined")', ], invalid: [ { - code: 'new errors.TypeError(\'ERR_INVALID_ARG_TYPE\', \'a\', ' + - '\'Number\')', + code: "new errors.TypeError('ERR_INVALID_ARG_TYPE', 'a', 'Number')", errors: [{ message: 'primitive should use lowercase: Number' }], - output: 'new errors.TypeError(\'ERR_INVALID_ARG_TYPE\', \'a\', ' + - '\'number\')' + output: "new errors.TypeError('ERR_INVALID_ARG_TYPE', 'a', 'number')", }, { - code: 'new errors.TypeError(\'ERR_INVALID_ARG_TYPE\', \'a\', ' + - '\'STRING\')', + code: "new errors.TypeError('ERR_INVALID_ARG_TYPE', 'a', 'STRING')", errors: [{ message: 'primitive should use lowercase: STRING' }], - output: 'new errors.TypeError(\'ERR_INVALID_ARG_TYPE\', \'a\', ' + - '\'string\')' + output: "new errors.TypeError('ERR_INVALID_ARG_TYPE', 'a', 'string')", }, { - code: 'new errors.TypeError(\'ERR_INVALID_ARG_TYPE\', \'a\', ' + - '[\'String\', \'Number\']) ', + code: "new e.TypeError('ERR_INVALID_ARG_TYPE', a, ['String','Number'])", errors: [ { message: 'primitive should use lowercase: String' }, - { message: 'primitive should use lowercase: Number' } + { message: 'primitive should use lowercase: Number' }, ], - output: 'new errors.TypeError(\'ERR_INVALID_ARG_TYPE\', \'a\', ' + - '[\'string\', \'number\']) ' - } + output: "new e.TypeError('ERR_INVALID_ARG_TYPE', a, ['string','number'])", + }, ] }); diff --git a/tools/eslint-rules/lowercase-name-for-primitive.js b/tools/eslint-rules/lowercase-name-for-primitive.js index d3a5243c37895f..cfe17c06c12535 100644 --- a/tools/eslint-rules/lowercase-name-for-primitive.js +++ b/tools/eslint-rules/lowercase-name-for-primitive.js @@ -12,9 +12,7 @@ const astSelector = 'NewExpression[callee.property.name="TypeError"]' + '[arguments.0.value="ERR_INVALID_ARG_TYPE"]'; -const primitives = [ - 'number', 'string', 'boolean', 'null', 'undefined' -]; +const primitives = [ 'number', 'string', 'boolean', 'null', 'undefined' ]; module.exports = function(context) { function checkNamesArgument(node) {