Skip to content

Commit b42638f

Browse files
committed
fix(require-tothrow-message): rename rule to require-to-throw-message
This change makes consistent with other rule naming format and removes spelling error message from editors
1 parent 28bd1dc commit b42638f

File tree

5 files changed

+47
-38
lines changed

5 files changed

+47
-38
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ installations requiring long-term consistency.
134134
| [prefer-to-contain][] | Suggest using `toContain()` | | ![fixable-green][] |
135135
| [prefer-to-have-length][] | Suggest using `toHaveLength()` | | ![fixable-green][] |
136136
| [prefer-inline-snapshots][] | Suggest using `toMatchInlineSnapshot()` | | ![fixable-green][] |
137-
| [require-tothrow-message][] | Require that `toThrow()` and `toThrowError` includes a message | | |
137+
| [require-to-throw-message][] | Require that `toThrow()` and `toThrowError` includes a message | | |
138138
| [valid-describe][] | Enforce valid `describe()` callback | ![recommended][] | |
139139
| [valid-expect-in-promise][] | Enforce having return statement when testing with promises | ![recommended][] | |
140140
| [valid-expect][] | Enforce valid `expect()` usage | ![recommended][] | |
@@ -184,7 +184,7 @@ https://github.com/dangreenisrael/eslint-plugin-jest-formatting
184184
[prefer-to-contain]: docs/rules/prefer-to-contain.md
185185
[prefer-to-have-length]: docs/rules/prefer-to-have-length.md
186186
[prefer-inline-snapshots]: docs/rules/prefer-inline-snapshots.md
187-
[require-tothrow-message]: docs/rules/require-tothrow-message.md
187+
[require-to-throw-message]: docs/rules/require-to-throw-message.md
188188
[valid-describe]: docs/rules/valid-describe.md
189189
[valid-expect-in-promise]: docs/rules/valid-expect-in-promise.md
190190
[valid-expect]: docs/rules/valid-expect.md

docs/rules/require-tothrow-message.md renamed to docs/rules/require-to-throw-message.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Require a message for `toThrow()` (require-tothrow-message)
1+
# Require a message for `toThrow()` (require-to-throw-message)
22

33
`toThrow()`, and its alias `toThrowError()`, are used to check if an error is
44
thrown by a function call, such as in `expect(() => a()).toThrow()`. However, if

src/rules/__tests__/require-tothrow-message.test.js renamed to src/rules/__tests__/require-to-throw-message.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { RuleTester } from 'eslint';
2-
import rule from '../require-tothrow-message';
2+
import rule from '../require-to-throw-message';
33

44
const ruleTester = new RuleTester({
55
parserOptions: {
66
ecmaVersion: 6,
77
},
88
});
99

10-
ruleTester.run('require-tothrow-message', rule, {
10+
ruleTester.run('require-to-throw-message', rule, {
1111
valid: [
1212
// String
1313
"expect(() => { throw new Error('a'); }).toThrow('a');",

src/rules/require-to-throw-message.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { argument, expectCase, getDocsUrl, method } from './util';
2+
3+
export default {
4+
meta: {
5+
docs: {
6+
url: getDocsUrl(__filename),
7+
},
8+
messages: {
9+
requireRethrow: 'Add an error message to {{ propertyName }}()',
10+
},
11+
schema: [],
12+
},
13+
create(context) {
14+
return {
15+
CallExpression(node) {
16+
if (!expectCase(node)) {
17+
return;
18+
}
19+
20+
const propertyName = method(node) && method(node).name;
21+
22+
// Look for `toThrow` calls with no arguments.
23+
if (
24+
['toThrow', 'toThrowError'].includes(propertyName) &&
25+
!argument(node)
26+
) {
27+
context.report({
28+
messageId: 'requireRethrow',
29+
data: { propertyName },
30+
node: method(node),
31+
});
32+
}
33+
},
34+
};
35+
},
36+
};

src/rules/require-tothrow-message.js

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,9 @@
1-
import { argument, expectCase, getDocsUrl, method } from './util';
1+
import requireToThrowMessage from './require-to-throw-message';
22

3-
export default {
4-
meta: {
5-
docs: {
6-
url: getDocsUrl(__filename),
7-
},
8-
messages: {
9-
requireRethrow: 'Add an error message to {{ propertyName }}()',
10-
},
11-
schema: [],
12-
},
13-
create(context) {
14-
return {
15-
CallExpression(node) {
16-
if (!expectCase(node)) {
17-
return;
18-
}
3+
const requireTothrowMessage = Object.assign({}, requireToThrowMessage);
194

20-
const propertyName = method(node) && method(node).name;
5+
requireTothrowMessage.meta.deprecated = true;
6+
requireTothrowMessage.meta.replacedBy = ['require-to-throw-message'];
7+
requireTothrowMessage.meta.docs.replacedBy = ['require-to-throw-message'];
218

22-
// Look for `toThrow` calls with no arguments.
23-
if (
24-
['toThrow', 'toThrowError'].includes(propertyName) &&
25-
!argument(node)
26-
) {
27-
context.report({
28-
messageId: 'requireRethrow',
29-
data: { propertyName },
30-
node: method(node),
31-
});
32-
}
33-
},
34-
};
35-
},
36-
};
9+
export default requireTothrowMessage;

0 commit comments

Comments
 (0)