-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test, eslintrc: s/assert.equal/assert.strictEqual/ #10698
Conversation
Probably most useful to look at the second and third commits:
|
Rubberstamp LGTM on the first two commits, actual LGTM on the third. For what it's worth, we could achieve almost the same behavior by configuring the rules:
no-restricted-properties:
- error
- object: assert
property: equal
message: use assert.strictEqual() rather than assert.equal()
- object: assert
property: notEqual
message: use assert.notStrictEqual() rather than assert.notEqual() The only difference is that this custom rule would not warn for something like |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
largely rubber-stamp LGTM
wow, awesome!!! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like it LGTM
f8c6620
to
156eb32
Compare
Updated the eslint rule as per @not-an-aardvark's suggestion, if you (or @Trott @targos or @silverwind) could confirm that the changes to Also moved the existing This should be good to go now |
156eb32
to
fb9c76f
Compare
CI 2: https://ci.nodejs.org/job/node-test-commit/7137/ EDIT: CI is green |
@@ -47,7 +47,7 @@ function kill(tryPid, trySig, expectPid, expectSig) { | |||
|
|||
process.kill(tryPid, trySig); | |||
|
|||
assert.strictEqual(getPid, expectPid); | |||
assert.strictEqual(getPid.toString(), expectPid.toString()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what are the original types?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is run several times, and at various times getPid
can be a number or a string (expectPid
is always a number). I could also do:
assert.strictEqual(Number.parseInt(getPid), expectPid)
if you think that's better.
message: use assert.strictEqual() rather than assert.equal() | ||
- object: assert | ||
property: notEqual | ||
message: use assert.notStrictEqual() rather than assert.noEqual() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/noEqual/notEqual/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
- 2 | ||
- object: assert | ||
property: deepEqual | ||
message: Please use assert.deepStrictEqual() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit add a period at the end and same for the next 2 objects for consistency with the last two (or remove the period for the last two).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with a nit
@@ -109,7 +109,7 @@ assert.ok = ok; | |||
// The equality assertion tests shallow, coercive equality with | |||
// ==. | |||
// assert.equal(actual, expected, message_opt); | |||
|
|||
/* eslint-disable no-restricted-properties */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Maybe // eslint-disable-next-line no-restricted-properties
would be better here so that the rule isn't disabled for the rest of the file. (I'm assuming it's intended to only be disabled for this line, rather than for the rest of the file.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line was already in use for deepEqual
and notDeepEqual
below, it's now being used for 4 functions (it's re-enabled below in L136). I think we'd need 8 eslint-disable-next-line
lines if we did it individually.
So I left it as it was, let me know if you disagree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd slightly prefer 8 eslint-disable-next-line
calls. The more targeted and explicit the disabling, the better. But I don't oppose doing it the way you did it either.
looks like this needs a rebase |
fb9c76f
to
b74cb12
Compare
b74cb12
to
c2e0cd9
Compare
Rebased (twice). If you want to review the I mostly fixed issues by adding |
Thank you! LGTM |
c2e0cd9
to
947fd99
Compare
I'll land this tomorrow if there are no objections (rebasing is painful). @targos let me know if anything else needs changing. |
@italoacasas Are you saying that this doesn't land cleanly (and thus needs a backport PR) on v7.x? I don't like the idea of adding the EDIT: I tried raising a backport PR, but it looks like the var->const/let changes from #10685 aren't in |
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. PR-URL: nodejs#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Use assert.strictEqual instead of assert.equal in tests, manually convert types where necessary. PR-URL: #10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. PR-URL: #10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Use assert.strictEqual instead of assert.equal in tests, manually convert types where necessary. PR-URL: nodejs#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. PR-URL: nodejs#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Use assert.strictEqual instead of assert.equal in tests, manually convert types where necessary. PR-URL: nodejs#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. PR-URL: nodejs#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
This will need backport PRs in order to land on v6 or v4 |
This is likely preventing a lot of pull requests from back-porting cleanly so I think it should be back-ported with some urgency. Likewise for #10685. |
Use assert.strictEqual instead of assert.equal in tests, manually convert types where necessary. Backport-PR-URL: #11795 PR-URL: #10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. Backport-PR-URL: #11795 PR-URL: #10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Use assert.strictEqual instead of assert.equal in tests, manually convert types where necessary. Backport-PR-URL: #11795 PR-URL: #10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. Backport-PR-URL: #11795 PR-URL: #10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Use assert.strictEqual instead of assert.equal in tests, manually convert types where necessary. Backport-PR-URL: nodejs/node#11795 PR-URL: nodejs/node#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Extend no-restricted-properties to catch use of assert.equal() and assert.notEqual() and require assert.strictEqual() or assert.notStrictEqual() instead. Also update the eslint-ignore in lib/assert.js to avoid assert.equal/notEqual linter errors in their definitions. Backport-PR-URL: nodejs/node#11795 PR-URL: nodejs/node#10698 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Teddy Katz <[email protected]>
Convert
assert.equal()
toassert.strictEqual()
intest/
(no instances found elsewhere by eslint). Also adds a rule to enforce strict equal/notEqual.Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
test, eslint