eslint-plugin-jest-formatting 1.1.1 → 3.0.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.
- package/.circleci/config.yml +2 -2
- package/.eslintrc +15 -4
- package/CHANGELOG.md +6 -0
- package/README.md +11 -11
- package/docs/rules/padding-around-all.md +13 -0
- package/lib/ast-utils.js +1 -0
- package/lib/index.js +37 -107
- package/lib/rules/padding.js +11 -5
- package/package.json +21 -20
- package/src/ast-utils.ts +2 -0
- package/src/index.ts +36 -141
- package/src/rules/padding.ts +19 -10
- package/tests/catfood.js +2 -0
- package/tests/dogfood.spec.js +2 -0
- package/tests/lib/rules/padding-around-after-all-blocks.spec.js +2 -1
- package/tests/lib/rules/padding-around-after-each-blocks.spec.js +2 -1
- package/tests/lib/rules/padding-around-before-all-blocks.spec.js +2 -1
- package/tests/lib/rules/padding-around-before-each-blocks.spec.js +2 -1
- package/tests/lib/rules/padding-around-describe-blocks.spec.js +2 -1
- package/tests/lib/rules/padding-around-expect-groups.spec.js +66 -3
- package/tests/lib/rules/padding-around-test-blocks.spec.js +1 -0
- package/.nvmrc +0 -1
- package/tests/lib/rules/padding-before-after-all-blocks.spec.js +0 -98
- package/tests/lib/rules/padding-before-after-each-blocks.spec.js +0 -98
- package/tests/lib/rules/padding-before-before-all-blocks.spec.js +0 -98
- package/tests/lib/rules/padding-before-before-each-blocks.spec.js +0 -98
- package/tests/lib/rules/padding-before-describe-blocks.spec.js +0 -144
- package/tests/lib/rules/padding-before-expect-statements.spec.js +0 -138
- package/tests/lib/rules/padding-before-test-blocks.spec.js +0 -153
- package/yarn.lock +0 -4234
package/tests/catfood.js
CHANGED
package/tests/dogfood.spec.js
CHANGED
|
@@ -11,7 +11,7 @@ const rule = require('../../../lib').rules['padding-around-expect-groups'];
|
|
|
11
11
|
|
|
12
12
|
const ruleTester = new RuleTester({
|
|
13
13
|
parserOptions: {
|
|
14
|
-
ecmaVersion:
|
|
14
|
+
ecmaVersion: 2017,
|
|
15
15
|
},
|
|
16
16
|
});
|
|
17
17
|
|
|
@@ -63,6 +63,29 @@ describe('someText', () => {
|
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
|
+
|
|
67
|
+
test('awaited expect', async () => {
|
|
68
|
+
const abc = 123;
|
|
69
|
+
const hasAPromise = () => Promise.resolve('foo');
|
|
70
|
+
|
|
71
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
72
|
+
expect(abc).toEqual(123);
|
|
73
|
+
|
|
74
|
+
const efg = 456;
|
|
75
|
+
|
|
76
|
+
expect(123).toEqual(abc);
|
|
77
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
78
|
+
|
|
79
|
+
const hij = 789;
|
|
80
|
+
|
|
81
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
82
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
83
|
+
|
|
84
|
+
const somethingElseAsync = () => Promise.resolve('bar');
|
|
85
|
+
await somethingElseAsync();
|
|
86
|
+
|
|
87
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
88
|
+
});
|
|
66
89
|
`;
|
|
67
90
|
|
|
68
91
|
const invalid = `
|
|
@@ -103,6 +126,25 @@ describe('someText', () => {
|
|
|
103
126
|
});
|
|
104
127
|
});
|
|
105
128
|
});
|
|
129
|
+
|
|
130
|
+
test('awaited expect', async () => {
|
|
131
|
+
const abc = 123;
|
|
132
|
+
const hasAPromise = () => Promise.resolve('foo');
|
|
133
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
134
|
+
expect(abc).toEqual(123);
|
|
135
|
+
|
|
136
|
+
const efg = 456;
|
|
137
|
+
expect(123).toEqual(abc);
|
|
138
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
139
|
+
|
|
140
|
+
const hij = 789;
|
|
141
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
142
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
143
|
+
|
|
144
|
+
const somethingElseAsync = () => Promise.resolve('bar');
|
|
145
|
+
await somethingElseAsync();
|
|
146
|
+
await expect(hasAPromise()).resolves.toEqual('foo');
|
|
147
|
+
});
|
|
106
148
|
`;
|
|
107
149
|
|
|
108
150
|
ruleTester.run('padding-around-expect-groups', rule, {
|
|
@@ -111,7 +153,7 @@ ruleTester.run('padding-around-expect-groups', rule, {
|
|
|
111
153
|
{
|
|
112
154
|
code: invalid,
|
|
113
155
|
filename: 'src/component.test.jsx',
|
|
114
|
-
errors:
|
|
156
|
+
errors: 10,
|
|
115
157
|
output: valid,
|
|
116
158
|
},
|
|
117
159
|
{
|
|
@@ -148,7 +190,28 @@ ruleTester.run('padding-around-expect-groups', rule, {
|
|
|
148
190
|
line: 32,
|
|
149
191
|
column: 7
|
|
150
192
|
},
|
|
151
|
-
|
|
193
|
+
{
|
|
194
|
+
message: 'Expected blank line before this statement.',
|
|
195
|
+
line: 43,
|
|
196
|
+
column: 3
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
message: 'Expected blank line before this statement.',
|
|
200
|
+
line: 47,
|
|
201
|
+
column: 3
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
message: 'Expected blank line before this statement.',
|
|
205
|
+
line: 51,
|
|
206
|
+
column: 3
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
message: 'Expected blank line before this statement.',
|
|
210
|
+
line: 56,
|
|
211
|
+
column: 3
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
output: valid,
|
|
152
215
|
},
|
|
153
216
|
]
|
|
154
217
|
});
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
v8.10.0
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding before afterAll blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-before-after-all-blocks'];
|
|
11
|
-
|
|
12
|
-
const ruleTester = new RuleTester({
|
|
13
|
-
parserOptions: {
|
|
14
|
-
ecmaVersion: 6,
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//------------------------------------------------------------------------------
|
|
19
|
-
// Tests
|
|
20
|
-
//------------------------------------------------------------------------------
|
|
21
|
-
|
|
22
|
-
const invalid = `
|
|
23
|
-
const someText = 'abc';
|
|
24
|
-
afterAll(() => {
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
describe('someText', () => {
|
|
28
|
-
const something = 'abc';
|
|
29
|
-
// A comment
|
|
30
|
-
afterAll(() => {
|
|
31
|
-
// stuff
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
describe('someText', () => {
|
|
36
|
-
const something = 'abc';
|
|
37
|
-
afterAll(() => {
|
|
38
|
-
// stuff
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
`;
|
|
42
|
-
|
|
43
|
-
const valid = `
|
|
44
|
-
const someText = 'abc';
|
|
45
|
-
|
|
46
|
-
afterAll(() => {
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
describe('someText', () => {
|
|
50
|
-
const something = 'abc';
|
|
51
|
-
|
|
52
|
-
// A comment
|
|
53
|
-
afterAll(() => {
|
|
54
|
-
// stuff
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
describe('someText', () => {
|
|
59
|
-
const something = 'abc';
|
|
60
|
-
|
|
61
|
-
afterAll(() => {
|
|
62
|
-
// stuff
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
`;
|
|
66
|
-
|
|
67
|
-
ruleTester.run('padding-before-after-all-blocks', rule, {
|
|
68
|
-
valid: [valid],
|
|
69
|
-
invalid: [
|
|
70
|
-
{
|
|
71
|
-
code: invalid,
|
|
72
|
-
filename: 'src/component.test.jsx',
|
|
73
|
-
errors: 3,
|
|
74
|
-
output: valid,
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.js',
|
|
79
|
-
errors: [
|
|
80
|
-
{
|
|
81
|
-
message: 'Expected blank line before this statement.',
|
|
82
|
-
line: 3,
|
|
83
|
-
column: 1
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
message: 'Expected blank line before this statement.',
|
|
87
|
-
line: 9,
|
|
88
|
-
column: 3
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
message: 'Expected blank line before this statement.',
|
|
92
|
-
line: 16,
|
|
93
|
-
column: 3
|
|
94
|
-
},
|
|
95
|
-
]
|
|
96
|
-
},
|
|
97
|
-
]
|
|
98
|
-
});
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding before afterEach blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-before-after-each-blocks'];
|
|
11
|
-
|
|
12
|
-
const ruleTester = new RuleTester({
|
|
13
|
-
parserOptions: {
|
|
14
|
-
ecmaVersion: 6,
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//------------------------------------------------------------------------------
|
|
19
|
-
// Tests
|
|
20
|
-
//------------------------------------------------------------------------------
|
|
21
|
-
|
|
22
|
-
const invalid = `
|
|
23
|
-
const someText = 'abc';
|
|
24
|
-
afterEach(() => {
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
describe('someText', () => {
|
|
28
|
-
const something = 'abc';
|
|
29
|
-
// A comment
|
|
30
|
-
afterEach(() => {
|
|
31
|
-
// stuff
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
describe('someText', () => {
|
|
36
|
-
const something = 'abc';
|
|
37
|
-
afterEach(() => {
|
|
38
|
-
// stuff
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
`;
|
|
42
|
-
|
|
43
|
-
const valid = `
|
|
44
|
-
const someText = 'abc';
|
|
45
|
-
|
|
46
|
-
afterEach(() => {
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
describe('someText', () => {
|
|
50
|
-
const something = 'abc';
|
|
51
|
-
|
|
52
|
-
// A comment
|
|
53
|
-
afterEach(() => {
|
|
54
|
-
// stuff
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
describe('someText', () => {
|
|
59
|
-
const something = 'abc';
|
|
60
|
-
|
|
61
|
-
afterEach(() => {
|
|
62
|
-
// stuff
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
`;
|
|
66
|
-
|
|
67
|
-
ruleTester.run('padding-before-after-each-blocks', rule, {
|
|
68
|
-
valid: [valid],
|
|
69
|
-
invalid: [
|
|
70
|
-
{
|
|
71
|
-
code: invalid,
|
|
72
|
-
errors: 3,
|
|
73
|
-
filename: 'src/component.test.jsx',
|
|
74
|
-
output: valid,
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.js',
|
|
79
|
-
errors: [
|
|
80
|
-
{
|
|
81
|
-
message: 'Expected blank line before this statement.',
|
|
82
|
-
line: 3,
|
|
83
|
-
column: 1
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
message: 'Expected blank line before this statement.',
|
|
87
|
-
line: 9,
|
|
88
|
-
column: 3
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
message: 'Expected blank line before this statement.',
|
|
92
|
-
line: 16,
|
|
93
|
-
column: 3
|
|
94
|
-
},
|
|
95
|
-
]
|
|
96
|
-
},
|
|
97
|
-
]
|
|
98
|
-
});
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding before beforeAll blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-before-before-all-blocks'];
|
|
11
|
-
|
|
12
|
-
const ruleTester = new RuleTester({
|
|
13
|
-
parserOptions: {
|
|
14
|
-
ecmaVersion: 6,
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//------------------------------------------------------------------------------
|
|
19
|
-
// Tests
|
|
20
|
-
//------------------------------------------------------------------------------
|
|
21
|
-
|
|
22
|
-
const invalid = `
|
|
23
|
-
const someText = 'abc';
|
|
24
|
-
beforeAll(() => {
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
describe('someText', () => {
|
|
28
|
-
const something = 'abc';
|
|
29
|
-
// A comment
|
|
30
|
-
beforeAll(() => {
|
|
31
|
-
// stuff
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
describe('someText', () => {
|
|
36
|
-
const something = 'abc';
|
|
37
|
-
beforeAll(() => {
|
|
38
|
-
// stuff
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
`;
|
|
42
|
-
|
|
43
|
-
const valid = `
|
|
44
|
-
const someText = 'abc';
|
|
45
|
-
|
|
46
|
-
beforeAll(() => {
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
describe('someText', () => {
|
|
50
|
-
const something = 'abc';
|
|
51
|
-
|
|
52
|
-
// A comment
|
|
53
|
-
beforeAll(() => {
|
|
54
|
-
// stuff
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
describe('someText', () => {
|
|
59
|
-
const something = 'abc';
|
|
60
|
-
|
|
61
|
-
beforeAll(() => {
|
|
62
|
-
// stuff
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
`;
|
|
66
|
-
|
|
67
|
-
ruleTester.run('padding-before-before-all-blocks', rule, {
|
|
68
|
-
valid: [valid],
|
|
69
|
-
invalid: [
|
|
70
|
-
{
|
|
71
|
-
code: invalid,
|
|
72
|
-
filename: 'src/component.test.jsx',
|
|
73
|
-
errors: 3,
|
|
74
|
-
output: valid,
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.js',
|
|
79
|
-
errors: [
|
|
80
|
-
{
|
|
81
|
-
message: 'Expected blank line before this statement.',
|
|
82
|
-
line: 3,
|
|
83
|
-
column: 1
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
message: 'Expected blank line before this statement.',
|
|
87
|
-
line: 9,
|
|
88
|
-
column: 3
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
message: 'Expected blank line before this statement.',
|
|
92
|
-
line: 16,
|
|
93
|
-
column: 3
|
|
94
|
-
},
|
|
95
|
-
]
|
|
96
|
-
},
|
|
97
|
-
]
|
|
98
|
-
});
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding before beforeEach blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-before-before-each-blocks'];
|
|
11
|
-
|
|
12
|
-
const ruleTester = new RuleTester({
|
|
13
|
-
parserOptions: {
|
|
14
|
-
ecmaVersion: 6,
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//------------------------------------------------------------------------------
|
|
19
|
-
// Tests
|
|
20
|
-
//------------------------------------------------------------------------------
|
|
21
|
-
|
|
22
|
-
const invalid = `
|
|
23
|
-
const someText = 'abc';
|
|
24
|
-
beforeEach(() => {
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
describe('someText', () => {
|
|
28
|
-
const something = 'abc';
|
|
29
|
-
// A comment
|
|
30
|
-
beforeEach(() => {
|
|
31
|
-
// stuff
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
describe('someText', () => {
|
|
36
|
-
const something = 'abc';
|
|
37
|
-
beforeEach(() => {
|
|
38
|
-
// stuff
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
`;
|
|
42
|
-
|
|
43
|
-
const valid = `
|
|
44
|
-
const someText = 'abc';
|
|
45
|
-
|
|
46
|
-
beforeEach(() => {
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
describe('someText', () => {
|
|
50
|
-
const something = 'abc';
|
|
51
|
-
|
|
52
|
-
// A comment
|
|
53
|
-
beforeEach(() => {
|
|
54
|
-
// stuff
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
describe('someText', () => {
|
|
59
|
-
const something = 'abc';
|
|
60
|
-
|
|
61
|
-
beforeEach(() => {
|
|
62
|
-
// stuff
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
`;
|
|
66
|
-
|
|
67
|
-
ruleTester.run('padding-before-before-each-blocks', rule, {
|
|
68
|
-
valid: [valid],
|
|
69
|
-
invalid: [
|
|
70
|
-
{
|
|
71
|
-
code: invalid,
|
|
72
|
-
filename: 'src/component.test.jsx',
|
|
73
|
-
errors: 3,
|
|
74
|
-
output: valid,
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.js',
|
|
79
|
-
errors: [
|
|
80
|
-
{
|
|
81
|
-
message: 'Expected blank line before this statement.',
|
|
82
|
-
line: 3,
|
|
83
|
-
column: 1
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
message: 'Expected blank line before this statement.',
|
|
87
|
-
line: 9,
|
|
88
|
-
column: 3
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
message: 'Expected blank line before this statement.',
|
|
92
|
-
line: 16,
|
|
93
|
-
column: 3
|
|
94
|
-
},
|
|
95
|
-
]
|
|
96
|
-
},
|
|
97
|
-
]
|
|
98
|
-
});
|