-
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: refactor event-emitter-remove-all-listeners #13165
Conversation
Use common.mustNotCall() to confirm that listener handles never run (as no events are emitted).
ee.on('bar', common.noop); | ||
ee.on('baz', common.noop); | ||
ee.on('baz', common.noop); | ||
const noop = common.mustNotCall(); |
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.
Why not bring this up to the parent scope and use it in the other places below that are now manually calling common.mustNotCall()
?
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.
+1
But give it a better name... maybe mustNotCall
or if your thight with char dontCall
or even doNot
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.
Why not bring this up to the parent scope and use it in the other places below that are now manually calling common.mustNotCall()?
@mscdex Happy to do that if there's consensus that it would be an improvement. I didn't do it because:
-
It's not needed as an identifier in the other scopes. (It's needed here because of the
assert.deepStrictEqual()
comparisons.) -
Fewer global identifiers shared across different block scopes helps make those things easily cut-and-paste-able into separate test files for refactoring, etc. It also helps limit the possibility of side effects. (For example, if another test attaches a property to the
noop
function for some reason, that property will be set for all the other tests.)
But this isn't far off from a tabs-vs-spaces discussion, so I'm happy to just do it if everyone else thinks differently than me. :-D
Landed in 4384f2e |
Use common.mustNotCall() to confirm that listener handles never run (as no events are emitted). PR-URL: nodejs#13165 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
Use common.mustNotCall() to confirm that listener handles never run (as no events are emitted). PR-URL: #13165 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
This does not land cleanly in LTS. Please feel free to manually backport. Please also feel free to replace do-not-land if it is being backported |
Use common.mustNotCall() to confirm that listener handles never run (as
no events are emitted).
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
test events