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

feat!: assert suggestion messages are unique in rule testers #17532

Conversation

JoshuaKGoldberg
Copy link
Contributor

@JoshuaKGoldberg JoshuaKGoldberg commented Sep 5, 2023

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[x] Add something to the core
[ ] Other, please explain:

What changes did you make? (Give an overview)

Added logic to the two rule tester classes to assert that no suggestion contains the same hydrated description as a previous suggestion in the same error.

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

Was the consensus for asserting on the rule's actual reported suggestions or expected? I went with actual to start because that feels more comprehensive. Relevant: #15104

Fixes #16908.

@eslint-github-bot eslint-github-bot bot added breaking This change is backwards-incompatible feature This change adds a new feature to ESLint labels Sep 5, 2023
@netlify
Copy link

netlify bot commented Sep 5, 2023

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit f695801
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/6548d4785866ab000824c880

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. And yes, the consensus was to track the actual messages produced from a rule.

We'll need to hold off on this until we start merging PRs for v9.

@github-actions
Copy link

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Sep 17, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Sep 18, 2023
@github-actions
Copy link

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Sep 28, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Sep 29, 2023
@github-actions
Copy link

github-actions bot commented Oct 9, 2023

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Oct 9, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Oct 11, 2023
@github-actions
Copy link

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Oct 21, 2023
@nzakas nzakas removed the Stale label Oct 23, 2023
Copy link

github-actions bot commented Nov 2, 2023

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Nov 2, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Nov 3, 2023
@mdjermanovic mdjermanovic added core Relates to ESLint's core APIs and features accepted There is consensus among the team that this change meets the criteria for inclusion labels Nov 5, 2023
lib/rule-tester/flat-rule-tester.js Outdated Show resolved Hide resolved
lib/rule-tester/rule-tester.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/rule-tester.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/rule-tester.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/rule-tester.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/flat-rule-tester.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/flat-rule-tester.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/flat-rule-tester.js Outdated Show resolved Hide resolved
tests/fixtures/testers/rule-tester/suggestions.js Outdated Show resolved Hide resolved
tests/lib/rule-tester/rule-tester.js Outdated Show resolved Hide resolved
JoshuaKGoldberg and others added 2 commits November 5, 2023 13:26
Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
@JoshuaKGoldberg JoshuaKGoldberg marked this pull request as ready for review November 5, 2023 18:30
@JoshuaKGoldberg JoshuaKGoldberg requested a review from a team as a code owner November 5, 2023 18:30
@mdjermanovic
Copy link
Member

Just #17532 (comment), then LGTM.

Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@mdjermanovic mdjermanovic marked this pull request as draft November 6, 2023 18:24
Copy link

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Nov 16, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Nov 17, 2023
Copy link

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Nov 27, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Nov 27, 2023
@mdjermanovic mdjermanovic marked this pull request as ready for review December 20, 2023 16:21
@mdjermanovic mdjermanovic merged commit b3e0bb0 into eslint:main Dec 20, 2023
22 checks passed
@JoshuaKGoldberg JoshuaKGoldberg deleted the rule-tester-unique-suggestion-message-ids branch December 20, 2023 16:41
bmish added a commit to bmish/eslint that referenced this pull request Dec 27, 2023
* main: (25 commits)
  test: ensure that CLI tests run with FlatESLint (eslint#17884)
  fix!: Behavior of CLI when no arguments are passed (eslint#17644)
  docs: Update README
  Revert "feat!: Remove CodePath#currentSegments" (eslint#17890)
  feat!: Update shouldUseFlatConfig and CLI so flat config is default (eslint#17748)
  feat!: Remove CodePath#currentSegments (eslint#17756)
  chore: update dependency markdownlint-cli to ^0.38.0 (eslint#17865)
  feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (eslint#17710)
  feat!: check for parsing errors in suggestion fixes (eslint#16639)
  feat!: assert suggestion messages are unique in rule testers (eslint#17532)
  feat!: `no-invalid-regexp` make allowConstructorFlags case-sensitive (eslint#17533)
  fix!: no-sequences rule schema correction (eslint#17878)
  feat!: Update `eslint:recommended` configuration (eslint#17716)
  feat!: drop support for string configurations in flat config array (eslint#17717)
  feat!: Remove `SourceCode#getComments()` (eslint#17715)
  feat!: Remove deprecated context methods (eslint#17698)
  feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (eslint#17823)
  feat!: remove formatters except html, json(-with-metadata), and stylish (eslint#17531)
  feat!: Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` (eslint#17725)
  fix: allow circular references in config (eslint#17752)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion breaking This change is backwards-incompatible core Relates to ESLint's core APIs and features feature This change adds a new feature to ESLint
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

Change Request: [RuleTester] error if multiple suggestion fixers have the same message
4 participants