eslint-plugin-jest-formatting 3.0.0 → 4.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/AGENTS.md +110 -0
- package/CHANGELOG.md +33 -0
- package/README.md +44 -1
- package/docs/rules/padding-around-after-all-blocks.md +73 -11
- package/docs/rules/padding-around-after-each-blocks.md +67 -11
- package/docs/rules/padding-around-all.md +102 -9
- package/docs/rules/padding-around-before-all-blocks.md +67 -13
- package/docs/rules/padding-around-before-each-blocks.md +65 -11
- package/docs/rules/padding-around-describe-blocks.md +64 -5
- package/docs/rules/padding-around-expect-groups.md +64 -6
- package/docs/rules/padding-around-test-blocks.md +76 -13
- package/lib/ast-utils.js +15 -8
- package/lib/index.js +84 -54
- package/lib/rules/padding.js +47 -21
- package/llms.txt +29 -0
- package/package.json +28 -21
- package/.circleci/config.yml +0 -67
- package/.eslintignore +0 -3
- package/.eslintrc +0 -34
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
- package/.github/ISSUE_TEMPLATE/rule-request.md +0 -21
- package/.prettierignore +0 -4
- package/.prettierrc +0 -4
- package/docs/rules/padding-before-after-all-blocks.md +0 -24
- package/docs/rules/padding-before-after-each-blocks.md +0 -24
- package/docs/rules/padding-before-all.md +0 -15
- package/docs/rules/padding-before-before-all-blocks.md +0 -24
- package/docs/rules/padding-before-before-each-blocks.md +0 -24
- package/docs/rules/padding-before-describe-blocks.md +0 -28
- package/docs/rules/padding-before-expect-statements.md +0 -22
- package/docs/rules/padding-before-test-blocks.md +0 -31
- package/jest.config.js +0 -4
- package/renovate.json +0 -3
- package/src/ast-utils.ts +0 -80
- package/src/index.ts +0 -182
- package/src/rules/padding.ts +0 -357
- package/tests/catfood.js +0 -41
- package/tests/dogfood.spec.js +0 -32
- package/tests/lib/ast-utils.spec.ts +0 -94
- package/tests/lib/rules/padding-around-after-all-blocks.spec.js +0 -115
- package/tests/lib/rules/padding-around-after-each-blocks.spec.js +0 -113
- package/tests/lib/rules/padding-around-before-all-blocks.spec.js +0 -115
- package/tests/lib/rules/padding-around-before-each-blocks.spec.js +0 -115
- package/tests/lib/rules/padding-around-describe-blocks.spec.js +0 -153
- package/tests/lib/rules/padding-around-expect-groups.spec.js +0 -217
- package/tests/lib/rules/padding-around-test-blocks.spec.js +0 -162
- package/tsconfig.json +0 -12
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { isValidParent, isTokenASemicolon, areTokensOnSameLine } from "../../src/ast-utils";
|
|
2
|
-
import { AST } from "eslint";
|
|
3
|
-
import { Node } from "estree";
|
|
4
|
-
|
|
5
|
-
describe('isValidParent', () => {
|
|
6
|
-
test.each`
|
|
7
|
-
type | expected
|
|
8
|
-
${'Program'} | ${true}
|
|
9
|
-
${'BlockStatement'} | ${true}
|
|
10
|
-
${'SwitchCase'} | ${true}
|
|
11
|
-
${'SwitchStatement'} | ${true}
|
|
12
|
-
${'Statement'} | ${false}
|
|
13
|
-
`('returns $expected for parent value of $type', ({ type, expected }) => {
|
|
14
|
-
expect(isValidParent(type)).toBe(expected);
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
describe('isTokenASemicolon', () => {
|
|
19
|
-
test.each`
|
|
20
|
-
type | value | expected
|
|
21
|
-
${'Punctuator'} | ${';'} | ${true}
|
|
22
|
-
${'Punctuator'} | ${'.'} | ${false}
|
|
23
|
-
${'String'} | ${';'} | ${false}
|
|
24
|
-
`('returns $expected for $type and $value', ({ type, value, expected}) => {
|
|
25
|
-
const token: AST.Token = {
|
|
26
|
-
type,
|
|
27
|
-
value,
|
|
28
|
-
range: [0, 1],
|
|
29
|
-
loc: {
|
|
30
|
-
start: {
|
|
31
|
-
line: 0,
|
|
32
|
-
column: 0,
|
|
33
|
-
},
|
|
34
|
-
end: {
|
|
35
|
-
line: 0,
|
|
36
|
-
column: 1,
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
expect(isTokenASemicolon(token)).toBe(expected);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
describe('areTokensOnSameLine', () => {
|
|
46
|
-
const makeNode = (line: number): Node => {
|
|
47
|
-
return {
|
|
48
|
-
type: 'Identifier',
|
|
49
|
-
name: 'describe',
|
|
50
|
-
loc: {
|
|
51
|
-
start: {
|
|
52
|
-
line,
|
|
53
|
-
column: 10
|
|
54
|
-
},
|
|
55
|
-
end: {
|
|
56
|
-
line,
|
|
57
|
-
column: 10
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const makeToken = (line: number): AST.Token => {
|
|
64
|
-
return {
|
|
65
|
-
type: 'Punctuator',
|
|
66
|
-
value: ';',
|
|
67
|
-
range: [0, 1],
|
|
68
|
-
loc: {
|
|
69
|
-
start: {
|
|
70
|
-
line,
|
|
71
|
-
column: 10
|
|
72
|
-
},
|
|
73
|
-
end: {
|
|
74
|
-
line,
|
|
75
|
-
column: 10
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
test.each`
|
|
82
|
-
left | right | expected
|
|
83
|
-
${makeNode(1)} | ${makeNode(1)} | ${true}
|
|
84
|
-
${makeNode(1)} | ${makeToken(1)} | ${true}
|
|
85
|
-
${makeToken(1)} | ${makeNode(1)} | ${true}
|
|
86
|
-
${makeToken(1)} | ${makeToken(1)} | ${true}
|
|
87
|
-
${makeNode(1)} | ${makeNode(2)} | ${false}
|
|
88
|
-
${makeNode(1)} | ${makeToken(2)} | ${false}
|
|
89
|
-
${makeToken(1)} | ${makeNode(2)} | ${false}
|
|
90
|
-
${makeToken(1)} | ${makeToken(2)} | ${false}
|
|
91
|
-
`('returns $expected for left node/token ending on $left.loc.end.line and right node/token starting on $right.loc.start.line', ({ left, right, expected }) => {
|
|
92
|
-
expect(areTokensOnSameLine(left, right)).toBe(expected);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
@@ -1,115 +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-around-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
|
-
describe('someText', () => {
|
|
27
|
-
const something = 'abc';
|
|
28
|
-
// A comment
|
|
29
|
-
afterAll(() => {
|
|
30
|
-
// stuff
|
|
31
|
-
});
|
|
32
|
-
afterAll(() => {
|
|
33
|
-
// other stuff
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
describe('someText', () => {
|
|
38
|
-
const something = 'abc';
|
|
39
|
-
afterAll(() => {
|
|
40
|
-
// stuff
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
`;
|
|
44
|
-
|
|
45
|
-
const valid = `
|
|
46
|
-
const someText = 'abc';
|
|
47
|
-
|
|
48
|
-
afterAll(() => {
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
describe('someText', () => {
|
|
52
|
-
const something = 'abc';
|
|
53
|
-
|
|
54
|
-
// A comment
|
|
55
|
-
afterAll(() => {
|
|
56
|
-
// stuff
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
afterAll(() => {
|
|
60
|
-
// other stuff
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe('someText', () => {
|
|
65
|
-
const something = 'abc';
|
|
66
|
-
|
|
67
|
-
afterAll(() => {
|
|
68
|
-
// stuff
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
`;
|
|
72
|
-
|
|
73
|
-
ruleTester.run('padding-before-after-all-blocks', rule, {
|
|
74
|
-
valid: [valid],
|
|
75
|
-
invalid: [
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.jsx',
|
|
79
|
-
errors: 5,
|
|
80
|
-
output: valid,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
code: invalid,
|
|
84
|
-
filename: 'src/component.test.js',
|
|
85
|
-
errors: [
|
|
86
|
-
{
|
|
87
|
-
message: 'Expected blank line before this statement.',
|
|
88
|
-
line: 3,
|
|
89
|
-
column: 1
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
message: 'Expected blank line before this statement.',
|
|
93
|
-
line: 5,
|
|
94
|
-
column: 1
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
message: 'Expected blank line before this statement.',
|
|
98
|
-
line: 8,
|
|
99
|
-
column: 3
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
message: 'Expected blank line before this statement.',
|
|
103
|
-
line: 11,
|
|
104
|
-
column: 3
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
message: 'Expected blank line before this statement.',
|
|
108
|
-
line: 18,
|
|
109
|
-
column: 3
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
output: valid,
|
|
113
|
-
},
|
|
114
|
-
]
|
|
115
|
-
});
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding around afterEach blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-around-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
|
-
describe('someText', () => {
|
|
27
|
-
const something = 'abc';
|
|
28
|
-
// A comment
|
|
29
|
-
afterEach(() => {
|
|
30
|
-
// stuff
|
|
31
|
-
});
|
|
32
|
-
afterEach(() => {
|
|
33
|
-
// other stuff
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
describe('someText', () => {
|
|
37
|
-
const something = 'abc';
|
|
38
|
-
afterEach(() => {
|
|
39
|
-
// stuff
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
`;
|
|
43
|
-
|
|
44
|
-
const valid = `
|
|
45
|
-
const someText = 'abc';
|
|
46
|
-
|
|
47
|
-
afterEach(() => {
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
describe('someText', () => {
|
|
51
|
-
const something = 'abc';
|
|
52
|
-
|
|
53
|
-
// A comment
|
|
54
|
-
afterEach(() => {
|
|
55
|
-
// stuff
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
afterEach(() => {
|
|
59
|
-
// other stuff
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
describe('someText', () => {
|
|
63
|
-
const something = 'abc';
|
|
64
|
-
|
|
65
|
-
afterEach(() => {
|
|
66
|
-
// stuff
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
`;
|
|
70
|
-
|
|
71
|
-
ruleTester.run('padding-before-after-each-blocks', rule, {
|
|
72
|
-
valid: [valid],
|
|
73
|
-
invalid: [
|
|
74
|
-
{
|
|
75
|
-
code: invalid,
|
|
76
|
-
errors: 5,
|
|
77
|
-
filename: 'src/component.test.jsx',
|
|
78
|
-
output: valid,
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
code: invalid,
|
|
82
|
-
filename: 'src/component.test.js',
|
|
83
|
-
errors: [
|
|
84
|
-
{
|
|
85
|
-
message: 'Expected blank line before this statement.',
|
|
86
|
-
line: 3,
|
|
87
|
-
column: 1
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
message: 'Expected blank line before this statement.',
|
|
91
|
-
line: 5,
|
|
92
|
-
column: 1
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
message: 'Expected blank line before this statement.',
|
|
96
|
-
line: 8,
|
|
97
|
-
column: 3
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
message: 'Expected blank line before this statement.',
|
|
101
|
-
line: 11,
|
|
102
|
-
column: 3
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
message: 'Expected blank line before this statement.',
|
|
106
|
-
line: 17,
|
|
107
|
-
column: 3
|
|
108
|
-
},
|
|
109
|
-
],
|
|
110
|
-
output: valid,
|
|
111
|
-
},
|
|
112
|
-
]
|
|
113
|
-
});
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding around beforeAll blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-around-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
|
-
describe('someText', () => {
|
|
27
|
-
const something = 'abc';
|
|
28
|
-
// A comment
|
|
29
|
-
beforeAll(() => {
|
|
30
|
-
// stuff
|
|
31
|
-
});
|
|
32
|
-
beforeAll(() => {
|
|
33
|
-
// other stuff
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
describe('someText', () => {
|
|
38
|
-
const something = 'abc';
|
|
39
|
-
beforeAll(() => {
|
|
40
|
-
// stuff
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
`;
|
|
44
|
-
|
|
45
|
-
const valid = `
|
|
46
|
-
const someText = 'abc';
|
|
47
|
-
|
|
48
|
-
beforeAll(() => {
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
describe('someText', () => {
|
|
52
|
-
const something = 'abc';
|
|
53
|
-
|
|
54
|
-
// A comment
|
|
55
|
-
beforeAll(() => {
|
|
56
|
-
// stuff
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
beforeAll(() => {
|
|
60
|
-
// other stuff
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe('someText', () => {
|
|
65
|
-
const something = 'abc';
|
|
66
|
-
|
|
67
|
-
beforeAll(() => {
|
|
68
|
-
// stuff
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
`;
|
|
72
|
-
|
|
73
|
-
ruleTester.run('padding-before-before-all-blocks', rule, {
|
|
74
|
-
valid: [valid],
|
|
75
|
-
invalid: [
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.jsx',
|
|
79
|
-
errors: 5,
|
|
80
|
-
output: valid,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
code: invalid,
|
|
84
|
-
filename: 'src/component.test.js',
|
|
85
|
-
errors: [
|
|
86
|
-
{
|
|
87
|
-
message: 'Expected blank line before this statement.',
|
|
88
|
-
line: 3,
|
|
89
|
-
column: 1
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
message: 'Expected blank line before this statement.',
|
|
93
|
-
line: 5,
|
|
94
|
-
column: 1
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
message: 'Expected blank line before this statement.',
|
|
98
|
-
line: 8,
|
|
99
|
-
column: 3
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
message: 'Expected blank line before this statement.',
|
|
103
|
-
line: 11,
|
|
104
|
-
column: 3
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
message: 'Expected blank line before this statement.',
|
|
108
|
-
line: 18,
|
|
109
|
-
column: 3
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
output: valid,
|
|
113
|
-
},
|
|
114
|
-
]
|
|
115
|
-
});
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces single line padding around beforeEach blocks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
const { RuleTester } = require('eslint');
|
|
10
|
-
const rule = require('../../../lib').rules['padding-around-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
|
-
describe('someText', () => {
|
|
27
|
-
const something = 'abc';
|
|
28
|
-
// A comment
|
|
29
|
-
beforeEach(() => {
|
|
30
|
-
// stuff
|
|
31
|
-
});
|
|
32
|
-
beforeEach(() => {
|
|
33
|
-
// other stuff
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
describe('someText', () => {
|
|
38
|
-
const something = 'abc';
|
|
39
|
-
beforeEach(() => {
|
|
40
|
-
// stuff
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
`;
|
|
44
|
-
|
|
45
|
-
const valid = `
|
|
46
|
-
const someText = 'abc';
|
|
47
|
-
|
|
48
|
-
beforeEach(() => {
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
describe('someText', () => {
|
|
52
|
-
const something = 'abc';
|
|
53
|
-
|
|
54
|
-
// A comment
|
|
55
|
-
beforeEach(() => {
|
|
56
|
-
// stuff
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
beforeEach(() => {
|
|
60
|
-
// other stuff
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe('someText', () => {
|
|
65
|
-
const something = 'abc';
|
|
66
|
-
|
|
67
|
-
beforeEach(() => {
|
|
68
|
-
// stuff
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
`;
|
|
72
|
-
|
|
73
|
-
ruleTester.run('padding-before-before-each-blocks', rule, {
|
|
74
|
-
valid: [valid],
|
|
75
|
-
invalid: [
|
|
76
|
-
{
|
|
77
|
-
code: invalid,
|
|
78
|
-
filename: 'src/component.test.jsx',
|
|
79
|
-
errors: 5,
|
|
80
|
-
output: valid,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
code: invalid,
|
|
84
|
-
filename: 'src/component.test.js',
|
|
85
|
-
errors: [
|
|
86
|
-
{
|
|
87
|
-
message: 'Expected blank line before this statement.',
|
|
88
|
-
line: 3,
|
|
89
|
-
column: 1
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
message: 'Expected blank line before this statement.',
|
|
93
|
-
line: 5,
|
|
94
|
-
column: 1
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
message: 'Expected blank line before this statement.',
|
|
98
|
-
line: 8,
|
|
99
|
-
column: 3
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
message: 'Expected blank line before this statement.',
|
|
103
|
-
line: 11,
|
|
104
|
-
column: 3
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
message: 'Expected blank line before this statement.',
|
|
108
|
-
line: 18,
|
|
109
|
-
column: 3
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
output: valid,
|
|
113
|
-
},
|
|
114
|
-
]
|
|
115
|
-
});
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Enforces padding line around describe blocks
|
|
3
|
-
* @author Dan Green-Leipciger
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
//------------------------------------------------------------------------------
|
|
7
|
-
// Requirements
|
|
8
|
-
//------------------------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
const { RuleTester } = require('eslint');
|
|
11
|
-
const rule = require('../../../lib').rules['padding-around-describe-blocks'];
|
|
12
|
-
|
|
13
|
-
const ruleTester = new RuleTester({
|
|
14
|
-
parserOptions: {
|
|
15
|
-
ecmaVersion: 6,
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
//------------------------------------------------------------------------------
|
|
20
|
-
// Tests
|
|
21
|
-
//------------------------------------------------------------------------------
|
|
22
|
-
|
|
23
|
-
const valid = `
|
|
24
|
-
foo();
|
|
25
|
-
bar();
|
|
26
|
-
|
|
27
|
-
const someText = 'abc';
|
|
28
|
-
const someObject = {
|
|
29
|
-
one: 1,
|
|
30
|
-
two: 2,
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
// A comment before describe
|
|
34
|
-
describe('someText', () => {
|
|
35
|
-
describe('some condition', () => {
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
describe('some other condition', () => {
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
xdescribe('someObject', () => {
|
|
43
|
-
// Another comment
|
|
44
|
-
describe('some condition', () => {
|
|
45
|
-
const anotherThing = 500;
|
|
46
|
-
|
|
47
|
-
describe('yet another condition', () => { // A comment over here!
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
fdescribe('weird', () => {});
|
|
53
|
-
|
|
54
|
-
describe.skip('skip me', () => {});
|
|
55
|
-
|
|
56
|
-
const BOOP = "boop";
|
|
57
|
-
|
|
58
|
-
describe
|
|
59
|
-
.skip('skip me too', () => {
|
|
60
|
-
// stuff
|
|
61
|
-
});
|
|
62
|
-
`;
|
|
63
|
-
|
|
64
|
-
const invalid = `
|
|
65
|
-
foo();
|
|
66
|
-
bar();
|
|
67
|
-
|
|
68
|
-
const someText = 'abc';
|
|
69
|
-
const someObject = {
|
|
70
|
-
one: 1,
|
|
71
|
-
two: 2,
|
|
72
|
-
};
|
|
73
|
-
// A comment before describe
|
|
74
|
-
describe('someText', () => {
|
|
75
|
-
describe('some condition', () => {
|
|
76
|
-
});
|
|
77
|
-
describe('some other condition', () => {
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
xdescribe('someObject', () => {
|
|
81
|
-
// Another comment
|
|
82
|
-
describe('some condition', () => {
|
|
83
|
-
const anotherThing = 500;
|
|
84
|
-
describe('yet another condition', () => { // A comment over here!
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
});fdescribe('weird', () => {});
|
|
88
|
-
describe.skip('skip me', () => {});
|
|
89
|
-
const BOOP = "boop";
|
|
90
|
-
describe
|
|
91
|
-
.skip('skip me too', () => {
|
|
92
|
-
// stuff
|
|
93
|
-
});
|
|
94
|
-
`;
|
|
95
|
-
|
|
96
|
-
ruleTester.run('padding-around-describe-blocks', rule, {
|
|
97
|
-
valid: [valid],
|
|
98
|
-
invalid: [
|
|
99
|
-
{
|
|
100
|
-
code: invalid,
|
|
101
|
-
filename: 'src/component.test.jsx',
|
|
102
|
-
errors: 8,
|
|
103
|
-
output: valid,
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
code: invalid,
|
|
107
|
-
filename: 'src/component.test.js',
|
|
108
|
-
errors: [
|
|
109
|
-
{
|
|
110
|
-
message: 'Expected blank line before this statement.',
|
|
111
|
-
line: 11,
|
|
112
|
-
column: 1
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
message: 'Expected blank line before this statement.',
|
|
116
|
-
line: 14,
|
|
117
|
-
column: 3
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
message: 'Expected blank line before this statement.',
|
|
121
|
-
line: 17,
|
|
122
|
-
column: 1
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
message: 'Expected blank line before this statement.',
|
|
126
|
-
line: 21,
|
|
127
|
-
column: 5
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
message: 'Expected blank line before this statement.',
|
|
131
|
-
line: 24,
|
|
132
|
-
column: 4
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
message: 'Expected blank line before this statement.',
|
|
136
|
-
line: 25,
|
|
137
|
-
column: 1
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
message: 'Expected blank line before this statement.',
|
|
141
|
-
line: 26,
|
|
142
|
-
column: 1
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
message: 'Expected blank line before this statement.',
|
|
146
|
-
line: 27,
|
|
147
|
-
column: 1
|
|
148
|
-
},
|
|
149
|
-
],
|
|
150
|
-
output: valid,
|
|
151
|
-
},
|
|
152
|
-
]
|
|
153
|
-
});
|