summaryrefslogtreecommitdiff
path: root/tools/eslint-rules
diff options
context:
space:
mode:
authorShobhit Chittora <chittorashobhit@gmail.com>2017-11-01 02:12:56 +0530
committerRuben Bridgewater <ruben@bridgewater.de>2018-02-01 11:40:53 +0100
commit2d6912a46bf6f56a4f7b1d354680ad318cc7a153 (patch)
treecd589c31450d458635c31055609c5322e068ed6f /tools/eslint-rules
parent300f5ce3461f01daa994a4a4f78546f164d28ca8 (diff)
downloadandroid-node-v8-2d6912a46bf6f56a4f7b1d354680ad318cc7a153.tar.gz
android-node-v8-2d6912a46bf6f56a4f7b1d354680ad318cc7a153.tar.bz2
android-node-v8-2d6912a46bf6f56a4f7b1d354680ad318cc7a153.zip
tools: auto fix custom eslint rule
1. Extends tests 2. Refactors code 3. Adds fixer Refs: #16636 PR-URL: https://github.com/nodejs/node/pull/16652 Refs: https://github.com/nodejs/node/issues/16636 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'tools/eslint-rules')
-rw-r--r--tools/eslint-rules/prefer-assert-methods.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/eslint-rules/prefer-assert-methods.js b/tools/eslint-rules/prefer-assert-methods.js
index 0604fd3ed9..2917d40de4 100644
--- a/tools/eslint-rules/prefer-assert-methods.js
+++ b/tools/eslint-rules/prefer-assert-methods.js
@@ -1,3 +1,7 @@
+/**
+ * @fileoverview Prohibit the use of assert operators ( ===, !==, ==, != )
+ */
+
'use strict';
const astSelector = 'ExpressionStatement[expression.type="CallExpression"]' +
@@ -21,7 +25,19 @@ module.exports = function(context) {
const arg = node.expression.arguments[0];
const assertMethod = preferedAssertMethod[arg.operator];
if (assertMethod) {
- context.report(node, parseError(assertMethod, arg.operator));
+ context.report({
+ node,
+ message: parseError(assertMethod, arg.operator),
+ fix: (fixer) => {
+ const sourceCode = context.getSourceCode();
+ const left = sourceCode.getText(arg.left);
+ const right = sourceCode.getText(arg.right);
+ return fixer.replaceText(
+ node,
+ `assert.${assertMethod}(${left}, ${right});`
+ );
+ }
+ });
}
}
};