eslint-plugin-jest 27.4.2 → 27.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/docs/rules/valid-title.md +15 -4
  2. package/lib/index.js +2 -2
  3. package/lib/rules/consistent-test-it.js +1 -2
  4. package/lib/rules/expect-expect.js +3 -4
  5. package/lib/rules/max-expects.js +2 -3
  6. package/lib/rules/max-nested-describe.js +2 -3
  7. package/lib/rules/no-alias-methods.js +2 -3
  8. package/lib/rules/no-commented-out-tests.js +2 -3
  9. package/lib/rules/no-conditional-expect.js +2 -3
  10. package/lib/rules/no-conditional-in-test.js +2 -3
  11. package/lib/rules/no-confusing-set-timeout.js +2 -3
  12. package/lib/rules/no-deprecated-functions.js +2 -3
  13. package/lib/rules/no-disabled-tests.js +2 -3
  14. package/lib/rules/no-done-callback.js +2 -3
  15. package/lib/rules/no-duplicate-hooks.js +2 -3
  16. package/lib/rules/no-export.js +2 -3
  17. package/lib/rules/no-focused-tests.js +2 -3
  18. package/lib/rules/no-hooks.js +2 -3
  19. package/lib/rules/no-identical-title.js +2 -3
  20. package/lib/rules/no-if.js +2 -3
  21. package/lib/rules/no-interpolation-in-snapshots.js +2 -3
  22. package/lib/rules/no-jasmine-globals.js +2 -3
  23. package/lib/rules/no-large-snapshots.js +2 -3
  24. package/lib/rules/no-mocks-import.js +2 -3
  25. package/lib/rules/no-restricted-jest-methods.js +2 -3
  26. package/lib/rules/no-restricted-matchers.js +2 -3
  27. package/lib/rules/no-standalone-expect.js +2 -3
  28. package/lib/rules/no-test-prefixes.js +2 -3
  29. package/lib/rules/no-test-return-statement.js +2 -3
  30. package/lib/rules/no-untyped-mock-factory.js +2 -3
  31. package/lib/rules/prefer-called-with.js +2 -3
  32. package/lib/rules/prefer-comparison-matcher.js +2 -3
  33. package/lib/rules/prefer-each.js +2 -3
  34. package/lib/rules/prefer-equality-matcher.js +2 -3
  35. package/lib/rules/prefer-expect-assertions.js +2 -3
  36. package/lib/rules/prefer-expect-resolves.js +2 -3
  37. package/lib/rules/prefer-hooks-in-order.js +2 -3
  38. package/lib/rules/prefer-hooks-on-top.js +2 -3
  39. package/lib/rules/prefer-lowercase-title.js +2 -3
  40. package/lib/rules/prefer-mock-promise-shorthand.js +2 -3
  41. package/lib/rules/prefer-snapshot-hint.js +2 -3
  42. package/lib/rules/prefer-spy-on.js +2 -3
  43. package/lib/rules/prefer-strict-equal.js +2 -3
  44. package/lib/rules/prefer-to-be.js +2 -3
  45. package/lib/rules/prefer-to-contain.js +2 -3
  46. package/lib/rules/prefer-to-have-length.js +2 -3
  47. package/lib/rules/prefer-todo.js +2 -3
  48. package/lib/rules/require-hook.js +2 -3
  49. package/lib/rules/require-to-throw-message.js +2 -3
  50. package/lib/rules/require-top-level-describe.js +2 -3
  51. package/lib/rules/unbound-method.js +2 -3
  52. package/lib/rules/utils/misc.js +7 -12
  53. package/lib/rules/valid-describe-callback.js +2 -3
  54. package/lib/rules/valid-expect-in-promise.js +2 -3
  55. package/lib/rules/valid-expect.js +2 -3
  56. package/lib/rules/valid-title.js +9 -4
  57. package/package.json +3 -2
@@ -51,10 +51,9 @@ xtest('foo', () => {});
51
51
 
52
52
  **titleMustBeString**
53
53
 
54
- Titles for test blocks should always be a string.
55
-
56
- This is also applied to `describe` blocks by default, but can be turned off via
57
- the `ignoreTypeOfDescribeName` option:
54
+ Titles for `describe`, `test`, and `it` blocks should always be a string; you
55
+ can disable this with the `ignoreTypeOfDescribeName` and `ignoreTypeOfTestName`
56
+ options.
58
57
 
59
58
  Examples of **incorrect** code for this rule:
60
59
 
@@ -93,6 +92,18 @@ xdescribe(myFunction, () => {});
93
92
  describe(6, function () {});
94
93
  ```
95
94
 
95
+ Examples of **correct** code when `ignoreTypeOfTestName` is `true`:
96
+
97
+ ```js
98
+ const myTestName = 'is a string';
99
+
100
+ it(String(/.+/), () => {});
101
+ it(myFunction, () => {});
102
+ it(myTestName, () => {});
103
+ xit(myFunction, () => {});
104
+ it(6, function () {});
105
+ ```
106
+
96
107
  **duplicatePrefix**
97
108
 
98
109
  A `describe` / `test` block should not start with `duplicatePrefix`
package/lib/index.js CHANGED
@@ -4,8 +4,8 @@ var _fs = require("fs");
4
4
  var _path = require("path");
5
5
  var _globals = _interopRequireDefault(require("./globals.json"));
6
6
  var snapshotProcessor = _interopRequireWildcard(require("./processors/snapshot-processor"));
7
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
7
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  // v5 of `@typescript-eslint/experimental-utils` removed this
11
11
 
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
9
  const buildFixer = (callee, nodeName, preferredTestKeyword) => fixer => [fixer.replaceText(callee.type === _utils.AST_NODE_TYPES.MemberExpression ? callee.object : callee, getPreferredNodeName(nodeName, preferredTestKeyword))];
10
- var _default = (0, _utils2.createRule)({
10
+ var _default = exports.default = (0, _utils2.createRule)({
11
11
  name: __filename,
12
12
  meta: {
13
13
  docs: {
@@ -87,7 +87,6 @@ var _default = (0, _utils2.createRule)({
87
87
  };
88
88
  }
89
89
  });
90
- exports.default = _default;
91
90
  function getPreferredNodeName(nodeName, preferredTestKeyword) {
92
91
  if (nodeName === _utils2.TestCaseName.fit) {
93
92
  return 'test.only';
@@ -26,7 +26,7 @@ function matchesAssertFunctionName(nodeName, patterns) {
26
26
  return x.replace(/\*/gu, '[a-z\\d]*');
27
27
  }).join('\\.')}(\\.|$)`, 'ui').test(nodeName));
28
28
  }
29
- var _default = (0, _utils2.createRule)({
29
+ var _default = exports.default = (0, _utils2.createRule)({
30
30
  name: __filename,
31
31
  meta: {
32
32
  docs: {
@@ -96,10 +96,9 @@ var _default = (0, _utils2.createRule)({
96
96
  'Program:exit'() {
97
97
  unchecked.forEach(node => context.report({
98
98
  messageId: 'noAssertions',
99
- node
99
+ node: node.callee
100
100
  }));
101
101
  }
102
102
  };
103
103
  }
104
- });
105
- exports.default = _default;
104
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -68,5 +68,4 @@ var _default = (0, _utils2.createRule)({
68
68
  }
69
69
  };
70
70
  }
71
- });
72
- exports.default = _default;
71
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -58,5 +58,4 @@ var _default = (0, _utils.createRule)({
58
58
  }
59
59
  };
60
60
  }
61
- });
62
- exports.default = _default;
61
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -61,5 +61,4 @@ var _default = (0, _utils.createRule)({
61
61
  }
62
62
  };
63
63
  }
64
- });
65
- exports.default = _default;
64
+ });
@@ -8,7 +8,7 @@ var _utils = require("./utils");
8
8
  function hasTests(node) {
9
9
  return /^\s*[xf]?(test|it|describe)(\.\w+|\[['"]\w+['"]\])?\s*\(/mu.test(node.value);
10
10
  }
11
- var _default = (0, _utils.createRule)({
11
+ var _default = exports.default = (0, _utils.createRule)({
12
12
  name: __filename,
13
13
  meta: {
14
14
  docs: {
@@ -41,5 +41,4 @@ var _default = (0, _utils.createRule)({
41
41
  }
42
42
  };
43
43
  }
44
- });
45
- exports.default = _default;
44
+ });
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
9
  const isCatchCall = node => node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.property, 'catch');
10
- var _default = (0, _utils2.createRule)({
10
+ var _default = exports.default = (0, _utils2.createRule)({
11
11
  name: __filename,
12
12
  meta: {
13
13
  docs: {
@@ -79,5 +79,4 @@ var _default = (0, _utils2.createRule)({
79
79
  'LogicalExpression:exit': decreaseConditionalDepth
80
80
  };
81
81
  }
82
- });
83
- exports.default = _default;
82
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -47,5 +47,4 @@ var _default = (0, _utils.createRule)({
47
47
  LogicalExpression: maybeReportConditional
48
48
  };
49
49
  }
50
- });
51
- exports.default = _default;
50
+ });
@@ -8,7 +8,7 @@ var _utils = require("./utils");
8
8
  function isJestSetTimeout(jestFnCall) {
9
9
  return jestFnCall.type === 'jest' && jestFnCall.members.length === 1 && (0, _utils.isIdentifier)(jestFnCall.members[0], 'setTimeout');
10
10
  }
11
- var _default = (0, _utils.createRule)({
11
+ var _default = exports.default = (0, _utils.createRule)({
12
12
  name: __filename,
13
13
  meta: {
14
14
  docs: {
@@ -61,5 +61,4 @@ var _default = (0, _utils.createRule)({
61
61
  }
62
62
  };
63
63
  }
64
- });
65
- exports.default = _default;
64
+ });
@@ -13,7 +13,7 @@ const parseJestVersion = rawVersion => {
13
13
  const [majorVersion] = rawVersion.split('.');
14
14
  return parseInt(majorVersion, 10);
15
15
  };
16
- var _default = (0, _utils2.createRule)({
16
+ var _default = exports.default = (0, _utils2.createRule)({
17
17
  name: __filename,
18
18
  meta: {
19
19
  docs: {
@@ -81,5 +81,4 @@ var _default = (0, _utils2.createRule)({
81
81
  }
82
82
  };
83
83
  }
84
- });
85
- exports.default = _default;
84
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -90,5 +90,4 @@ var _default = (0, _utils.createRule)({
90
90
  }
91
91
  };
92
92
  }
93
- });
94
- exports.default = _default;
93
+ });
@@ -19,7 +19,7 @@ const findCallbackArg = (node, isJestEach, context) => {
19
19
  }
20
20
  return null;
21
21
  };
22
- var _default = (0, _utils2.createRule)({
22
+ var _default = exports.default = (0, _utils2.createRule)({
23
23
  name: __filename,
24
24
  meta: {
25
25
  docs: {
@@ -119,5 +119,4 @@ var _default = (0, _utils2.createRule)({
119
119
  }
120
120
  };
121
121
  }
122
- });
123
- exports.default = _default;
122
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -52,5 +52,4 @@ var _default = (0, _utils.createRule)({
52
52
  }
53
53
  };
54
54
  }
55
- });
56
- exports.default = _default;
55
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -60,5 +60,4 @@ var _default = (0, _utils2.createRule)({
60
60
  }
61
61
  };
62
62
  }
63
- });
64
- exports.default = _default;
63
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -62,5 +62,4 @@ var _default = (0, _utils2.createRule)({
62
62
  }
63
63
  };
64
64
  }
65
- });
66
- exports.default = _default;
65
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -49,5 +49,4 @@ var _default = (0, _utils.createRule)({
49
49
  }
50
50
  };
51
51
  }
52
- });
53
- exports.default = _default;
52
+ });
@@ -9,7 +9,7 @@ const newDescribeContext = () => ({
9
9
  describeTitles: [],
10
10
  testTitles: []
11
11
  });
12
- var _default = (0, _utils.createRule)({
12
+ var _default = exports.default = (0, _utils.createRule)({
13
13
  name: __filename,
14
14
  meta: {
15
15
  docs: {
@@ -72,5 +72,4 @@ var _default = (0, _utils.createRule)({
72
72
  }
73
73
  };
74
74
  }
75
- });
76
- exports.default = _default;
75
+ });
@@ -13,7 +13,7 @@ const conditionName = {
13
13
  [_utils.AST_NODE_TYPES.SwitchStatement]: 'switch',
14
14
  [_utils.AST_NODE_TYPES.IfStatement]: 'if'
15
15
  };
16
- var _default = (0, _utils2.createRule)({
16
+ var _default = exports.default = (0, _utils2.createRule)({
17
17
  name: __filename,
18
18
  meta: {
19
19
  docs: {
@@ -83,5 +83,4 @@ var _default = (0, _utils2.createRule)({
83
83
  }
84
84
  };
85
85
  }
86
- });
87
- exports.default = _default;
86
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -42,5 +42,4 @@ var _default = (0, _utils2.createRule)({
42
42
  }
43
43
  };
44
44
  }
45
- });
46
- exports.default = _default;
45
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -139,5 +139,4 @@ var _default = (0, _utils2.createRule)({
139
139
  }
140
140
  };
141
141
  }
142
- });
143
- exports.default = _default;
142
+ });
@@ -43,7 +43,7 @@ const reportOnViolation = (context, node, {
43
43
  });
44
44
  }
45
45
  };
46
- var _default = (0, _utils2.createRule)({
46
+ var _default = exports.default = (0, _utils2.createRule)({
47
47
  name: __filename,
48
48
  meta: {
49
49
  docs: {
@@ -99,5 +99,4 @@ var _default = (0, _utils2.createRule)({
99
99
  }
100
100
  };
101
101
  }
102
- });
103
- exports.default = _default;
102
+ });
@@ -9,7 +9,7 @@ var _utils = require("./utils");
9
9
  const mocksDirName = '__mocks__';
10
10
  const isMockPath = path => path.split(_path.posix.sep).includes(mocksDirName);
11
11
  const isMockImportLiteral = expression => (0, _utils.isStringNode)(expression) && isMockPath((0, _utils.getStringValue)(expression));
12
- var _default = (0, _utils.createRule)({
12
+ var _default = exports.default = (0, _utils.createRule)({
13
13
  name: __filename,
14
14
  meta: {
15
15
  type: 'problem',
@@ -45,5 +45,4 @@ var _default = (0, _utils.createRule)({
45
45
  }
46
46
  };
47
47
  }
48
- });
49
- exports.default = _default;
48
+ });
@@ -9,7 +9,7 @@ const messages = {
9
9
  restrictedJestMethod: 'Use of `{{ restriction }}` is disallowed',
10
10
  restrictedJestMethodWithMessage: '{{ message }}'
11
11
  };
12
- var _default = (0, _utils.createRule)({
12
+ var _default = exports.default = (0, _utils.createRule)({
13
13
  name: __filename,
14
14
  meta: {
15
15
  docs: {
@@ -52,5 +52,4 @@ var _default = (0, _utils.createRule)({
52
52
  }
53
53
  };
54
54
  }
55
- });
56
- exports.default = _default;
55
+ });
@@ -11,7 +11,7 @@ const isChainRestricted = (chain, restriction) => {
11
11
  }
12
12
  return chain === restriction;
13
13
  };
14
- var _default = (0, _utils.createRule)({
14
+ var _default = exports.default = (0, _utils.createRule)({
15
15
  name: __filename,
16
16
  meta: {
17
17
  docs: {
@@ -59,5 +59,4 @@ var _default = (0, _utils.createRule)({
59
59
  }
60
60
  };
61
61
  }
62
- });
63
- exports.default = _default;
62
+ });
@@ -33,7 +33,7 @@ const getBlockType = (statement, context) => {
33
33
  }
34
34
  return null;
35
35
  };
36
- var _default = (0, _utils2.createRule)({
36
+ var _default = exports.default = (0, _utils2.createRule)({
37
37
  name: __filename,
38
38
  meta: {
39
39
  docs: {
@@ -119,5 +119,4 @@ var _default = (0, _utils2.createRule)({
119
119
  }
120
120
  };
121
121
  }
122
- });
123
- exports.default = _default;
122
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -47,5 +47,4 @@ var _default = (0, _utils2.createRule)({
47
47
  }
48
48
  };
49
49
  }
50
- });
51
- exports.default = _default;
50
+ });
@@ -13,7 +13,7 @@ const getBody = args => {
13
13
  }
14
14
  return [];
15
15
  };
16
- var _default = (0, _utils2.createRule)({
16
+ var _default = exports.default = (0, _utils2.createRule)({
17
17
  name: __filename,
18
18
  meta: {
19
19
  docs: {
@@ -61,5 +61,4 @@ var _default = (0, _utils2.createRule)({
61
61
  }
62
62
  };
63
63
  }
64
- });
65
- exports.default = _default;
64
+ });
@@ -12,7 +12,7 @@ const findModuleName = node => {
12
12
  }
13
13
  return null;
14
14
  };
15
- var _default = (0, _utils2.createRule)({
15
+ var _default = exports.default = (0, _utils2.createRule)({
16
16
  name: __filename,
17
17
  meta: {
18
18
  docs: {
@@ -66,5 +66,4 @@ var _default = (0, _utils2.createRule)({
66
66
  }
67
67
  };
68
68
  }
69
- });
70
- exports.default = _default;
69
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -46,5 +46,4 @@ var _default = (0, _utils.createRule)({
46
46
  }
47
47
  };
48
48
  }
49
- });
50
- exports.default = _default;
49
+ });
@@ -39,7 +39,7 @@ const determineMatcher = (operator, negated) => {
39
39
  }
40
40
  return null;
41
41
  };
42
- var _default = (0, _utils2.createRule)({
42
+ var _default = exports.default = (0, _utils2.createRule)({
43
43
  name: __filename,
44
44
  meta: {
45
45
  docs: {
@@ -108,5 +108,4 @@ var _default = (0, _utils2.createRule)({
108
108
  }
109
109
  };
110
110
  }
111
- });
112
- exports.default = _default;
111
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -76,5 +76,4 @@ var _default = (0, _utils.createRule)({
76
76
  }
77
77
  };
78
78
  }
79
- });
80
- exports.default = _default;
79
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -84,5 +84,4 @@ var _default = (0, _utils2.createRule)({
84
84
  }
85
85
  };
86
86
  }
87
- });
88
- exports.default = _default;
87
+ });
@@ -29,7 +29,7 @@ const suggestRemovingExtraArguments = (context, func, from) => ({
29
29
  messageId: 'suggestRemovingExtraArguments',
30
30
  fix: fixer => (0, _utils2.removeExtraArgumentsFixer)(fixer, context, func, from)
31
31
  });
32
- var _default = (0, _utils2.createRule)({
32
+ var _default = exports.default = (0, _utils2.createRule)({
33
33
  name: __filename,
34
34
  meta: {
35
35
  docs: {
@@ -201,5 +201,4 @@ var _default = (0, _utils2.createRule)({
201
201
  }
202
202
  };
203
203
  }
204
- });
205
- exports.default = _default;
204
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -46,5 +46,4 @@ var _default = (0, _utils2.createRule)({
46
46
  }
47
47
  }
48
48
  })
49
- });
50
- exports.default = _default;
49
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
8
  const HooksOrder = ['beforeAll', 'beforeEach', 'afterEach', 'afterAll'];
9
- var _default = (0, _utils.createRule)({
9
+ var _default = exports.default = (0, _utils.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -66,5 +66,4 @@ var _default = (0, _utils.createRule)({
66
66
  }
67
67
  };
68
68
  }
69
- });
70
- exports.default = _default;
69
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -40,5 +40,4 @@ var _default = (0, _utils.createRule)({
40
40
  }
41
41
  };
42
42
  }
43
- });
44
- exports.default = _default;
43
+ });
@@ -19,7 +19,7 @@ const populateIgnores = ignore => {
19
19
  }
20
20
  return ignores;
21
21
  };
22
- var _default = (0, _utils.createRule)({
22
+ var _default = exports.default = (0, _utils.createRule)({
23
23
  name: __filename,
24
24
  meta: {
25
25
  type: 'suggestion',
@@ -113,5 +113,4 @@ var _default = (0, _utils.createRule)({
113
113
  }
114
114
  };
115
115
  }
116
- });
117
- exports.default = _default;
116
+ });
@@ -19,7 +19,7 @@ const findSingleReturnArgumentNode = fnNode => {
19
19
  }
20
20
  return null;
21
21
  };
22
- var _default = (0, _utils2.createRule)({
22
+ var _default = exports.default = (0, _utils2.createRule)({
23
23
  name: __filename,
24
24
  meta: {
25
25
  docs: {
@@ -86,5 +86,4 @@ var _default = (0, _utils2.createRule)({
86
86
  }
87
87
  };
88
88
  }
89
- });
90
- exports.default = _default;
89
+ });
@@ -32,7 +32,7 @@ const isSnapshotMatcherWithoutHint = expectFnCall => {
32
32
  const messages = {
33
33
  missingHint: 'You should provide a hint for this snapshot'
34
34
  };
35
- var _default = (0, _utils.createRule)({
35
+ var _default = exports.default = (0, _utils.createRule)({
36
36
  name: __filename,
37
37
  meta: {
38
38
  docs: {
@@ -110,5 +110,4 @@ var _default = (0, _utils.createRule)({
110
110
  }
111
111
  };
112
112
  }
113
- });
114
- exports.default = _default;
113
+ });
@@ -38,7 +38,7 @@ const getAutoFixMockImplementation = (jestFnCall, context) => {
38
38
  const argSource = arg && context.getSourceCode().getText(arg);
39
39
  return argSource ? `.mockImplementation(${argSource})` : '.mockImplementation()';
40
40
  };
41
- var _default = (0, _utils2.createRule)({
41
+ var _default = exports.default = (0, _utils2.createRule)({
42
42
  name: __filename,
43
43
  meta: {
44
44
  docs: {
@@ -80,5 +80,4 @@ var _default = (0, _utils2.createRule)({
80
80
  }
81
81
  };
82
82
  }
83
- });
84
- exports.default = _default;
83
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -45,5 +45,4 @@ var _default = (0, _utils.createRule)({
45
45
  }
46
46
  };
47
47
  }
48
- });
49
- exports.default = _default;
48
+ });
@@ -43,7 +43,7 @@ const reportPreferToBe = (context, whatToBe, expectFnCall, func, modifierNode) =
43
43
  node: expectFnCall.matcher
44
44
  });
45
45
  };
46
- var _default = (0, _utils2.createRule)({
46
+ var _default = exports.default = (0, _utils2.createRule)({
47
47
  name: __filename,
48
48
  meta: {
49
49
  docs: {
@@ -98,5 +98,4 @@ var _default = (0, _utils2.createRule)({
98
98
  }
99
99
  };
100
100
  }
101
- });
102
- exports.default = _default;
101
+ });
@@ -17,7 +17,7 @@ var _utils2 = require("./utils");
17
17
  const isFixableIncludesCallExpression = node => node.type === _utils.AST_NODE_TYPES.CallExpression && node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.property, 'includes') && (0, _utils2.hasOnlyOneArgument)(node) && node.arguments[0].type !== _utils.AST_NODE_TYPES.SpreadElement;
18
18
 
19
19
  // expect(array.includes(<value>)[not.]{toBe,toEqual}(<boolean>)
20
- var _default = (0, _utils2.createRule)({
20
+ var _default = exports.default = (0, _utils2.createRule)({
21
21
  name: __filename,
22
22
  meta: {
23
23
  docs: {
@@ -79,5 +79,4 @@ var _default = (0, _utils2.createRule)({
79
79
  }
80
80
  };
81
81
  }
82
- });
83
- exports.default = _default;
82
+ });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
8
  var _utils2 = require("./utils");
9
- var _default = (0, _utils2.createRule)({
9
+ var _default = exports.default = (0, _utils2.createRule)({
10
10
  name: __filename,
11
11
  meta: {
12
12
  docs: {
@@ -56,5 +56,4 @@ var _default = (0, _utils2.createRule)({
56
56
  }
57
57
  };
58
58
  }
59
- });
60
- exports.default = _default;
59
+ });
@@ -29,7 +29,7 @@ const isTargetedTestCase = jestFnCall => {
29
29
  }
30
30
  return !jestFnCall.name.startsWith('f');
31
31
  };
32
- var _default = (0, _utils2.createRule)({
32
+ var _default = exports.default = (0, _utils2.createRule)({
33
33
  name: __filename,
34
34
  meta: {
35
35
  docs: {
@@ -71,5 +71,4 @@ var _default = (0, _utils2.createRule)({
71
71
  }
72
72
  };
73
73
  }
74
- });
75
- exports.default = _default;
74
+ });
@@ -35,7 +35,7 @@ const shouldBeInHook = (node, context, allowedFunctionCalls = []) => {
35
35
  return false;
36
36
  }
37
37
  };
38
- var _default = (0, _utils2.createRule)({
38
+ var _default = exports.default = (0, _utils2.createRule)({
39
39
  name: __filename,
40
40
  meta: {
41
41
  docs: {
@@ -93,5 +93,4 @@ var _default = (0, _utils2.createRule)({
93
93
  }
94
94
  };
95
95
  }
96
- });
97
- exports.default = _default;
96
+ });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./utils");
8
- var _default = (0, _utils.createRule)({
8
+ var _default = exports.default = (0, _utils.createRule)({
9
9
  name: __filename,
10
10
  meta: {
11
11
  docs: {
@@ -44,5 +44,4 @@ var _default = (0, _utils.createRule)({
44
44
  }
45
45
  };
46
46
  }
47
- });
48
- exports.default = _default;
47
+ });
@@ -10,7 +10,7 @@ const messages = {
10
10
  unexpectedTestCase: 'All test cases must be wrapped in a describe block.',
11
11
  unexpectedHook: 'All hooks must be wrapped in a describe block.'
12
12
  };
13
- var _default = (0, _utils.createRule)({
13
+ var _default = exports.default = (0, _utils.createRule)({
14
14
  name: __filename,
15
15
  meta: {
16
16
  docs: {
@@ -85,5 +85,4 @@ var _default = (0, _utils.createRule)({
85
85
  }
86
86
  };
87
87
  }
88
- });
89
- exports.default = _default;
88
+ });
@@ -21,7 +21,7 @@ const baseRule = (() => {
21
21
  }
22
22
  })();
23
23
  const DEFAULT_MESSAGE = 'This rule requires `@typescript-eslint/eslint-plugin`';
24
- var _default = (0, _utils2.createRule)({
24
+ var _default = exports.default = (0, _utils2.createRule)({
25
25
  defaultOptions: [{
26
26
  ignoreStatic: false
27
27
  }],
@@ -67,5 +67,4 @@ var _default = (0, _utils2.createRule)({
67
67
  }
68
68
  };
69
69
  }
70
- });
71
- exports.default = _default;
70
+ });
@@ -13,7 +13,7 @@ var _accessors = require("./accessors");
13
13
  var _followTypeAssertionChain = require("./followTypeAssertionChain");
14
14
  var _parseJestFnCall = require("./parseJestFnCall");
15
15
  const REPO_URL = 'https://github.com/jest-community/eslint-plugin-jest';
16
- const createRule = _utils.ESLintUtils.RuleCreator(name => {
16
+ const createRule = exports.createRule = _utils.ESLintUtils.RuleCreator(name => {
17
17
  const ruleName = (0, _path.parse)(name).name;
18
18
  return `${REPO_URL}/blob/v${_package.version}/docs/rules/${ruleName}.md`;
19
19
  });
@@ -37,7 +37,7 @@ const createRule = _utils.ESLintUtils.RuleCreator(name => {
37
37
  /**
38
38
  * Represents a `CallExpression` with a single argument.
39
39
  */
40
- exports.createRule = createRule;
40
+
41
41
  /**
42
42
  * Guards that the given `call` has only one `argument`.
43
43
  *
@@ -47,14 +47,13 @@ exports.createRule = createRule;
47
47
  */
48
48
  const hasOnlyOneArgument = call => call.arguments.length === 1;
49
49
  exports.hasOnlyOneArgument = hasOnlyOneArgument;
50
- let DescribeAlias = /*#__PURE__*/function (DescribeAlias) {
50
+ let DescribeAlias = exports.DescribeAlias = /*#__PURE__*/function (DescribeAlias) {
51
51
  DescribeAlias["describe"] = "describe";
52
52
  DescribeAlias["fdescribe"] = "fdescribe";
53
53
  DescribeAlias["xdescribe"] = "xdescribe";
54
54
  return DescribeAlias;
55
55
  }({});
56
- exports.DescribeAlias = DescribeAlias;
57
- let TestCaseName = /*#__PURE__*/function (TestCaseName) {
56
+ let TestCaseName = exports.TestCaseName = /*#__PURE__*/function (TestCaseName) {
58
57
  TestCaseName["fit"] = "fit";
59
58
  TestCaseName["it"] = "it";
60
59
  TestCaseName["test"] = "test";
@@ -62,29 +61,25 @@ let TestCaseName = /*#__PURE__*/function (TestCaseName) {
62
61
  TestCaseName["xtest"] = "xtest";
63
62
  return TestCaseName;
64
63
  }({});
65
- exports.TestCaseName = TestCaseName;
66
- let HookName = /*#__PURE__*/function (HookName) {
64
+ let HookName = exports.HookName = /*#__PURE__*/function (HookName) {
67
65
  HookName["beforeAll"] = "beforeAll";
68
66
  HookName["beforeEach"] = "beforeEach";
69
67
  HookName["afterAll"] = "afterAll";
70
68
  HookName["afterEach"] = "afterEach";
71
69
  return HookName;
72
70
  }({});
73
- exports.HookName = HookName;
74
- let ModifierName = /*#__PURE__*/function (ModifierName) {
71
+ let ModifierName = exports.ModifierName = /*#__PURE__*/function (ModifierName) {
75
72
  ModifierName["not"] = "not";
76
73
  ModifierName["rejects"] = "rejects";
77
74
  ModifierName["resolves"] = "resolves";
78
75
  return ModifierName;
79
76
  }({});
80
- exports.ModifierName = ModifierName;
81
- let EqualityMatcher = /*#__PURE__*/function (EqualityMatcher) {
77
+ let EqualityMatcher = exports.EqualityMatcher = /*#__PURE__*/function (EqualityMatcher) {
82
78
  EqualityMatcher["toBe"] = "toBe";
83
79
  EqualityMatcher["toEqual"] = "toEqual";
84
80
  EqualityMatcher["toStrictEqual"] = "toStrictEqual";
85
81
  return EqualityMatcher;
86
82
  }({});
87
- exports.EqualityMatcher = EqualityMatcher;
88
83
  const joinNames = (a, b) => a && b ? `${a}.${b}` : null;
89
84
  function getNodeName(node) {
90
85
  if ((0, _accessors.isSupportedAccessor)(node)) {
@@ -14,7 +14,7 @@ const paramsLocation = params => {
14
14
  end: last.loc.end
15
15
  };
16
16
  };
17
- var _default = (0, _utils2.createRule)({
17
+ var _default = exports.default = (0, _utils2.createRule)({
18
18
  name: __filename,
19
19
  meta: {
20
20
  type: 'problem',
@@ -92,5 +92,4 @@ var _default = (0, _utils2.createRule)({
92
92
  }
93
93
  };
94
94
  }
95
- });
96
- exports.default = _default;
95
+ });
@@ -203,7 +203,7 @@ const isVariableAwaitedOrReturned = (variable, context) => {
203
203
  }
204
204
  return isValueAwaitedOrReturned(variable.id, body, context);
205
205
  };
206
- var _default = (0, _utils2.createRule)({
206
+ var _default = exports.default = (0, _utils2.createRule)({
207
207
  name: __filename,
208
208
  meta: {
209
209
  docs: {
@@ -313,5 +313,4 @@ var _default = (0, _utils2.createRule)({
313
313
  }
314
314
  };
315
315
  }
316
- });
317
- exports.default = _default;
316
+ });
@@ -54,7 +54,7 @@ const promiseArrayExceptionKey = ({
54
54
  end
55
55
  }) => `${start.line}:${start.column}-${end.line}:${end.column}`;
56
56
  const defaultAsyncMatchers = ['toReject', 'toResolve'];
57
- var _default = (0, _utils2.createRule)({
57
+ var _default = exports.default = (0, _utils2.createRule)({
58
58
  name: __filename,
59
59
  meta: {
60
60
  docs: {
@@ -258,5 +258,4 @@ var _default = (0, _utils2.createRule)({
258
258
  }
259
259
  };
260
260
  }
261
- });
262
- exports.default = _default;
261
+ });
@@ -45,7 +45,7 @@ const MatcherAndMessageSchema = {
45
45
  maxItems: 2,
46
46
  additionalItems: false
47
47
  };
48
- var _default = (0, _utils2.createRule)({
48
+ var _default = exports.default = (0, _utils2.createRule)({
49
49
  name: __filename,
50
50
  meta: {
51
51
  docs: {
@@ -76,6 +76,10 @@ var _default = (0, _utils2.createRule)({
76
76
  type: 'boolean',
77
77
  default: false
78
78
  },
79
+ ignoreTypeOfTestName: {
80
+ type: 'boolean',
81
+ default: false
82
+ },
79
83
  disallowedWords: {
80
84
  type: 'array',
81
85
  items: {
@@ -107,11 +111,13 @@ var _default = (0, _utils2.createRule)({
107
111
  defaultOptions: [{
108
112
  ignoreSpaces: false,
109
113
  ignoreTypeOfDescribeName: false,
114
+ ignoreTypeOfTestName: false,
110
115
  disallowedWords: []
111
116
  }],
112
117
  create(context, [{
113
118
  ignoreSpaces,
114
119
  ignoreTypeOfDescribeName,
120
+ ignoreTypeOfTestName,
115
121
  disallowedWords = [],
116
122
  mustNotMatch,
117
123
  mustMatch
@@ -133,7 +139,7 @@ var _default = (0, _utils2.createRule)({
133
139
  if (argument.type === _utils.AST_NODE_TYPES.BinaryExpression && doesBinaryExpressionContainStringNode(argument)) {
134
140
  return;
135
141
  }
136
- if (argument.type !== _utils.AST_NODE_TYPES.TemplateLiteral && !(ignoreTypeOfDescribeName && jestFnCall.type === 'describe')) {
142
+ if (!(jestFnCall.type === 'describe' && ignoreTypeOfDescribeName || jestFnCall.type === 'test' && ignoreTypeOfTestName) && argument.type !== _utils.AST_NODE_TYPES.TemplateLiteral) {
137
143
  context.report({
138
144
  messageId: 'titleMustBeString',
139
145
  loc: argument.loc
@@ -215,5 +221,4 @@ var _default = (0, _utils2.createRule)({
215
221
  }
216
222
  };
217
223
  }
218
- });
219
- exports.default = _default;
224
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-jest",
3
- "version": "27.4.2",
3
+ "version": "27.5.0",
4
4
  "description": "ESLint rules for Jest",
5
5
  "keywords": [
6
6
  "eslint",
@@ -137,6 +137,7 @@
137
137
  "rimraf": "^5.0.0",
138
138
  "semantic-release": "^22.0.0",
139
139
  "semver": "^7.3.5",
140
+ "strip-ansi": "^6.0.0",
140
141
  "ts-node": "^10.2.1",
141
142
  "typescript": "^5.0.4"
142
143
  },
@@ -153,7 +154,7 @@
153
154
  "optional": true
154
155
  }
155
156
  },
156
- "packageManager": "yarn@3.6.3",
157
+ "packageManager": "yarn@3.6.4",
157
158
  "engines": {
158
159
  "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
159
160
  },