Skip to content

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

Open
@JoshuaKGoldberg

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?

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