summaryrefslogtreecommitdiff
path: root/test/.eslintrc.yaml
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-03-10 15:37:51 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2019-03-13 18:50:35 +0100
commit32853c0a136b0616844cdf5c276d2f1eb9a4fc50 (patch)
treed16b0fd161a3f8af6ec0407a74a71d42606a83c3 /test/.eslintrc.yaml
parent5f38797ea51886708fbde22527fc54e64382925c (diff)
downloadandroid-node-v8-32853c0a136b0616844cdf5c276d2f1eb9a4fc50.tar.gz
android-node-v8-32853c0a136b0616844cdf5c276d2f1eb9a4fc50.tar.bz2
android-node-v8-32853c0a136b0616844cdf5c276d2f1eb9a4fc50.zip
lib,test: improve faulty assert usage detection
This improves our custom eslint rules to detect assertions to detect assertions with only a single argument and fixes false negatives in case unary expressions are used. Some rules were extended to also lint our docs and tools and the lib rule was simplified to prohibit most assertion calls. PR-URL: https://github.com/nodejs/node/pull/26569 Refs: https://github.com/nodejs/node/pull/26565 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Diffstat (limited to 'test/.eslintrc.yaml')
-rw-r--r--test/.eslintrc.yaml30
1 files changed, 0 insertions, 30 deletions
diff --git a/test/.eslintrc.yaml b/test/.eslintrc.yaml
index 12be376357..1140cff966 100644
--- a/test/.eslintrc.yaml
+++ b/test/.eslintrc.yaml
@@ -20,36 +20,6 @@ rules:
node-core/required-modules: [error, common]
node-core/no-duplicate-requires: off
- no-restricted-syntax:
- # Config copied from .eslintrc.js
- - error
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='deepStrictEqual'][arguments.2.type='Literal']"
- message: "Do not use a literal for the third argument of assert.deepStrictEqual()"
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='doesNotThrow']"
- message: "Please replace `assert.doesNotThrow()` and add a comment next to the code instead."
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='rejects'][arguments.length<2]"
- message: "assert.rejects() must be invoked with at least two arguments."
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='strictEqual'][arguments.2.type='Literal']"
- message: "Do not use a literal for the third argument of assert.strictEqual()"
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='throws'][arguments.1.type='Literal']:not([arguments.1.regex])"
- message: "Use an object as second argument of assert.throws()"
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='throws'][arguments.length<2]"
- message: "assert.throws() must be invoked with at least two arguments."
- - selector: "CallExpression[callee.name='setTimeout'][arguments.length<2]"
- message: "setTimeout() must be invoked with at least two arguments."
- - selector: "CallExpression[callee.name='setInterval'][arguments.length<2]"
- message: "setInterval() must be invoked with at least 2 arguments."
- - selector: "ThrowStatement > CallExpression[callee.name=/Error$/]"
- message: "Use new keyword when throwing an Error."
- # Specific to /test
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='notDeepStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression'])"
- message: "The first argument should be the `actual`, not the `expected` value."
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='notStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression'])"
- message: "The first argument should be the `actual`, not the `expected` value."
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='deepStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression'])"
- message: "The first argument should be the `actual`, not the `expected` value."
- - selector: "CallExpression[callee.object.name='assert'][callee.property.name='strictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression'])"
- message: "The first argument should be the `actual`, not the `expected` value."
# Global scoped methods and vars
globals:
WebAssembly: false