Skip to content
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

Merged
merged 1 commit into from Aug 28, 2017

Conversation

not-an-aardvark
Copy link
Member

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 public Linter#defineRule API rather than the private Linter#on API.

Is there anything you'd like reviewers to focus on?

Nothing in particular

This updates the tests for `Linter` to use the public `Linter#defineRule` API rather than the private `Linter#on` API.
@eslintbot
Copy link

LGTM

@not-an-aardvark not-an-aardvark added the chore This change is not user-facing label Aug 28, 2017
@mention-bot
Copy link

@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";
Copy link
Member Author

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 } };
Copy link
Member Author

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.

@not-an-aardvark not-an-aardvark merged commit f127423 into master Aug 28, 2017
@not-an-aardvark not-an-aardvark deleted the no-private-api-linter branch August 28, 2017 23:15
@eslint-deprecated eslint-deprecated bot locked and limited conversation to collaborators Feb 25, 2018
@eslint-deprecated eslint-deprecated bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label Feb 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
archived due to age This issue has been archived; please open a new issue for any further discussion chore This change is not user-facing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants