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
Chore: avoid using private Linter APIs in Linter tests (refs #9161) #9175
Conversation
This updates the tests for `Linter` to use the public `Linter#defineRule` API rather than the private `Linter#on` API.
LGTM |
@not-an-aardvark, thanks for your PR! By analyzing the history of the files in this pull request, we identified @gyandeeps and @aladdin-add to be potential reviewers. |
}); | ||
}); | ||
|
||
describe("when evaluating any code", () => { | ||
const code = ""; | ||
const code = "x"; |
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.
All of the tests in this suite had previously been broken, because Linter
doesn't run any rules when the source text is empty, so the listeners with the assertions weren't getting called.
|
||
linter.reset(); | ||
linter.on("Program", () => { | ||
const config = { rules: { checker: "error" }, parserOptions: { ecmaVersion: 6 } }; |
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.
Most of the tests in this suite had previously been broken, because parserOptions: { ecmaVersion: 6 }
wasn't getting set, resulting in a parser error. This caused Linter
to not fire any rule listeners, so no assertions failed because all the assertions were in a rule listener.
This isn't a problem anymore after this PR because the tests now assert that the rule listeners fired.
What is the purpose of this pull request? (put an "X" next to item)
[x] Other, please explain:
What changes did you make? (Give an overview)
This updates the tests for
Linter
to use the publicLinter#defineRule
API rather than the privateLinter#on
API.Is there anything you'd like reviewers to focus on?
Nothing in particular