From 38c6dc59901af3a25317ac89e6cd7835011e49b3 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 8 Apr 2017 19:43:59 -0700 Subject: [PATCH] tools: replace custom assert.fail lint rule Replace custom lint rule for `assert.fail()` function signature errors with a restricted-syntax rule. --- .eslintrc.yaml | 4 ++- .../assert-fail-single-argument.js | 30 ------------------- 2 files changed, 3 insertions(+), 31 deletions(-) delete mode 100644 tools/eslint-rules/assert-fail-single-argument.js diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 07ef483c3f36b8..9190475e9b6129 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -110,6 +110,9 @@ rules: }, { selector: "ThrowStatement > CallExpression[callee.name=/Error$/]", message: "Use new keyword when throwing an Error." + }, { + selector: "CallExpression[callee.object.name='assert'][callee.property.name='fail'][arguments.length=1]", + message: "assert.fail() message should be third argument" }] no-tabs: 2 no-trailing-spaces: 2 @@ -142,7 +145,6 @@ rules: # Custom rules in tools/eslint-rules align-multiline-assignment: 2 - assert-fail-single-argument: 2 assert-throws-arguments: [2, { requireTwo: false }] no-unescaped-regexp-dot: 2 diff --git a/tools/eslint-rules/assert-fail-single-argument.js b/tools/eslint-rules/assert-fail-single-argument.js deleted file mode 100644 index 4ce790238181cc..00000000000000 --- a/tools/eslint-rules/assert-fail-single-argument.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @fileoverview Prohibit use of a single argument only in `assert.fail()`. It - * is almost always an error. - * @author Rich Trott - */ -'use strict'; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const msg = 'assert.fail() message should be third argument'; - -function isAssert(node) { - return node.callee.object && node.callee.object.name === 'assert'; -} - -function isFail(node) { - return node.callee.property && node.callee.property.name === 'fail'; -} - -module.exports = function(context) { - return { - 'CallExpression': function(node) { - if (isAssert(node) && isFail(node) && node.arguments.length === 1) { - context.report(node, msg); - } - } - }; -};