Skip to content

Add a rule to enforce test code cases are auto-formatted #486

Description

@JoshuaKGoldberg

Coming over from @bradzacher's typescript-eslint Discord comment about RuleTester usage around suggestions -> typescript-eslint/typescript-eslint#9639: typescript-eslint has an internal lint rule for test formatting which enforces things like "a template string must be either indented 0 or indented template indent + 2" and "all cases must be prettier formatted". This is really useful for keeping rule test code clean and readable.

Incorrect:

ruleTester.run("my-rule", {
  invalid: [ /* ... */ ],
  valid: [
    `console.log ( "some code" ) `
  ],
});

Correct:

ruleTester.run("my-rule", {
  invalid: [ /* ... */ ],
  valid: [
    `console.log("some code");`
  ],
});

Rule source: https://github.com/typescript-eslint/typescript-eslint/blob/eb76e34876ea973c462fad7073c134652f83c41b/packages/eslint-plugin-internal/src/rules/plugin-test-formatting.ts

This also isn't really specific to typescript-eslint. I could see a use case for any arbitrary plugin to want it.

Proposal: would you be interested in taking this rule into eslint-plugin-eslint-plugin?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedneeds designImportant details about this change need to be discussedrule

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions