diff --git a/README.md b/README.md index c68d6ed7..00ec7ed8 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ Name | ✔️ | 🛠 | Description [no-missing-placeholders](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/no-missing-placeholders.md) | ✔️ | | Disallows missing placeholders in rule report messages [no-unused-placeholders](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/no-unused-placeholders.md) | ✔️ | | Disallows unused placeholders in rule report messages [no-useless-token-range](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/no-useless-token-range.md) | ✔️ | 🛠 | Disallows unnecessary calls to sourceCode.getFirstToken and sourceCode.getLastToken -[prefer-output-null](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/prefer-output-null.md) | | | Disallows invalid RuleTester test cases with the output the same as the code. +[prefer-output-null](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/prefer-output-null.md) | | 🛠 | Disallows invalid RuleTester test cases with the output the same as the code. [prefer-placeholders](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/prefer-placeholders.md) | | | Disallows template literals as report messages [report-message-format](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/report-message-format.md) | | | Enforces a consistent format for report messages [require-meta-fixable](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/blob/master/docs/rules/require-meta-fixable.md) | ✔️ | | Requires a `meta.fixable` property for fixable rules diff --git a/docs/rules/prefer-output-null.md b/docs/rules/prefer-output-null.md index 3a95b525..d247504d 100644 --- a/docs/rules/prefer-output-null.md +++ b/docs/rules/prefer-output-null.md @@ -1,5 +1,7 @@ # Disallows invalid RuleTester test cases with the output the same as the code. (prefer-output-null) +(fixable) The `--fix` option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule. + ## Rule Details The rule reports an error if it encounters a test case where the output is the same as the code. diff --git a/lib/rules/prefer-output-null.js b/lib/rules/prefer-output-null.js index 22fd7f1a..64d2a6b4 100644 --- a/lib/rules/prefer-output-null.js +++ b/lib/rules/prefer-output-null.js @@ -18,7 +18,7 @@ module.exports = { category: 'Tests', recommended: false, }, - fixable: null, + fixable: 'code', schema: [], }, @@ -52,8 +52,9 @@ module.exports = { if (output && sourceCode.getText(output.value) === sourceCode.getText(code.value)) { context.report({ - node: test, + node: output, message, + fix: fixer => fixer.replaceText(output.value, 'null'), }); } }); diff --git a/tests/lib/rules/prefer-output-null.js b/tests/lib/rules/prefer-output-null.js index 0d705fe9..2c85ee86 100644 --- a/tests/lib/rules/prefer-output-null.js +++ b/tests/lib/rules/prefer-output-null.js @@ -58,6 +58,14 @@ ruleTester.run('prefer-output-null', rule, { ] }); `, + output: ` + new RuleTester().run('foo', bar, { + valid: [], + invalid: [ + {code: 'foo', output: null, errors: ['bar']}, + ] + }); + `, errors: [ERROR], }, ],