-
Notifications
You must be signed in to change notification settings - Fork 1
/
equal-next-line.test.js
123 lines (119 loc) · 3.2 KB
/
equal-next-line.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
"use strict";
const rule = require("../../lib/rules/equal-next-line");
const RuleTester = require("eslint").RuleTester;
const ruleTester = new RuleTester({
parser: require.resolve("@peggyjs/eslint-parser"),
});
ruleTester.run("equal-next-line", rule, {
valid: [
{
code: "foo = '1'",
},
{
code: "foo = '1'",
options: ["never"],
},
{
code: "foo\n = '1'",
options: ["always"],
},
{
code: "foo\n = '1'\n / '2'",
options: [{ style: "never", exceptions: ["choice"] }],
},
{
code: "foo 'Foo has a name'\n = '1'",
options: [{ style: "never", exceptions: ["named"] }],
},
],
invalid: [
{
code: "foo = '1'",
options: ["always"],
errors: [{ messageId: "next" }],
output: "foo\n = '1'",
},
{
code: "foo\n = '1'",
options: ["never"],
errors: [{ messageId: "same" }],
output: "foo = '1'",
},
{
code: "foo = '1'",
options: ["always"],
errors: [{ messageId: "next" }],
output: "foo\n = '1'",
},
{
code: "foo\n = '1'",
options: [{ style: "never", exceptions: ["choice"] }],
errors: [{ messageId: "same" }],
output: "foo = '1'",
},
{
code: "foo = '1' / '2'",
options: [{ style: "never", exceptions: ["choice"] }],
errors: [{ messageId: "next" }],
output: "foo\n = '1' / '2'",
},
{
code: "foo\n\n = '1' / '2'",
options: [{ style: "never", exceptions: ["choice"] }],
errors: [{ messageId: "next" }],
output: "foo\n = '1' / '2'",
},
{
code: "foo 'Foo has a name 1' = '1'",
options: ["always"],
errors: [{ messageId: "next" }],
output: "foo 'Foo has a name 1'\n = '1'",
},
{
code: "foo 'Foo has a name 2'\n = '1'",
options: [{ style: "never", exceptions: [] }],
errors: [{ messageId: "same" }],
output: "foo 'Foo has a name 2' = '1'",
},
{
code: "foo 'Foo has a name 3' = '1'",
options: [{ style: "never", exceptions: ["named"] }],
errors: [{ messageId: "next" }],
output: "foo 'Foo has a name 3'\n = '1'",
},
{
code: "foo 'Foo has a name 4'\n\n = '1'",
options: [{ style: "never", exceptions: ["named"] }],
errors: [{ messageId: "next" }],
output: "foo 'Foo has a name 4'\n = '1'",
},
{
code: "foo 'Foo has a name 5'\n\n = '1'",
options: [{ style: "never", exceptions: ["named"] }],
errors: [{ messageId: "next" }],
settings: {
"@peggyjs/indent": "tab",
"@peggyjs/newline": "\r\n",
},
output: "foo 'Foo has a name 5'\r\n\t= '1'",
},
{
code: "foo 'Foo has a name 6'\n\n = '1'",
options: [{ style: "never", exceptions: ["named"] }],
errors: [{ messageId: "next" }],
settings: {
"@peggyjs/indent": " ",
},
output: "foo 'Foo has a name 6'\n = '1'",
},
{
code: "foo 'Foo has a name 7'\n\n = '1'",
options: [{ style: "never", exceptions: ["named"] }],
errors: [{ messageId: "next" }],
settings: {
"@peggyjs/indent": 3,
},
output: "foo 'Foo has a name 7'\n = '1'",
},
],
});