summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-04-09 00:12:48 +0200
committerRuben Bridgewater <ruben@bridgewater.de>2018-04-16 03:21:45 +0200
commitf7496896c4ea088cbd5e4ed29eeecca655e1ac0b (patch)
tree81bd5282e06091cf862a0d79e3b827a8c60d70a0
parent2c3146d06dfc1815915232eae38da3cdeaaaeb13 (diff)
downloadandroid-node-v8-f7496896c4ea088cbd5e4ed29eeecca655e1ac0b.tar.gz
android-node-v8-f7496896c4ea088cbd5e4ed29eeecca655e1ac0b.tar.bz2
android-node-v8-f7496896c4ea088cbd5e4ed29eeecca655e1ac0b.zip
tools: add eslintrc rule for `assert.rejects`
This makes sure `assert.rejects` is always called with a second argument. Besides that it is also changes a eslint error message to suggest objects instead of a regular expression. PR-URL: https://github.com/nodejs/node/pull/19885 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
-rw-r--r--.eslintrc.js6
-rw-r--r--lib/.eslintrc.yaml4
-rw-r--r--test/parallel/test-assert-async.js2
3 files changed, 9 insertions, 3 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 2eb3eae6a8..53d0b39d0a 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -156,8 +156,12 @@ module.exports = {
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='throws'][arguments.1.type='Literal']:not([arguments.1.regex])`,
- message: 'use a regular expression for second argument of assert.throws()',
+ message: 'Use an object as second argument of assert.throws()',
},
{
selector: `CallExpression[callee.object.name='assert'][callee.property.name='throws'][arguments.length<2]`,
diff --git a/lib/.eslintrc.yaml b/lib/.eslintrc.yaml
index bf2251525e..80cada0b8c 100644
--- a/lib/.eslintrc.yaml
+++ b/lib/.eslintrc.yaml
@@ -4,8 +4,10 @@ rules:
- error
- 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='throws'][arguments.1.type='Literal']:not([arguments.1.regex])"
- message: "use a regular expression for second argument of assert.throws()"
+ 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]"
diff --git a/test/parallel/test-assert-async.js b/test/parallel/test-assert-async.js
index 2a865c121f..00a4fe7c72 100644
--- a/test/parallel/test-assert-async.js
+++ b/test/parallel/test-assert-async.js
@@ -50,7 +50,7 @@ const promises = [];
promises.push(assert.rejects(() => {
throw THROWN_ERROR;
- }).catch(common.mustCall((err) => {
+ }, {}).catch(common.mustCall((err) => {
assert.strictEqual(err, THROWN_ERROR);
})));
}