]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/operator-linebreak.js
3910ac8a0e7f45b1b6ccf0f2e3de06425a79e3ab
2 * @fileoverview Operator linebreak rule tests
3 * @author BenoƮt Zugmeyer
7 //------------------------------------------------------------------------------
9 //------------------------------------------------------------------------------
11 const rule
= require("../../../lib/rules/operator-linebreak"),
12 { RuleTester
} = require("../../../lib/rule-tester");
14 //------------------------------------------------------------------------------
16 //------------------------------------------------------------------------------
18 const ruleTester
= new RuleTester();
20 ruleTester
.run("operator-linebreak", rule
, {
32 "var o = \nsomething",
37 "answer = everything \n? 42 \n: foo;",
38 { code
: "answer = everything ?\n 42 :\n foo;", options
: ["after"] },
40 { code
: "a ? 1 + 1\n:2", options
: [null, { overrides
: { "?": "after" } }] },
41 { code
: "a ?\n1 +\n 1\n:2", options
: [null, { overrides
: { "?": "after" } }] },
42 { code
: "o = 1 \n+ 1 - foo", options
: [null, { overrides
: { "+": "before" } }] },
44 { code
: "1\n+ 1", options
: ["before"] },
45 { code
: "1 + 1\n+ 1", options
: ["before"] },
46 { code
: "f(1\n+ 1)", options
: ["before"] },
47 { code
: "1 \n|| 1", options
: ["before"] },
48 { code
: "a += 1", options
: ["before"] },
49 { code
: "answer = everything \n? 42 \n: foo;", options
: ["before"] },
51 { code
: "1 + 1", options
: ["none"] },
52 { code
: "1 + 1 + 1", options
: ["none"] },
53 { code
: "1 || 1", options
: ["none"] },
54 { code
: "a += 1", options
: ["none"] },
55 { code
: "var a;", options
: ["none"] },
56 { code
: "\n1 + 1", options
: ["none"] },
57 { code
: "1 + 1\n", options
: ["none"] },
58 { code
: "answer = everything ? 42 : foo;", options
: ["none"] },
59 { code
: "answer = everything \n?\n 42 : foo;", options
: [null, { overrides
: { "?": "ignore" } }] },
60 { code
: "answer = everything ? 42 \n:\n foo;", options
: [null, { overrides
: { ":": "ignore" } }] }
68 messageId
: "operatorAtEnd",
69 data
: { operator
: "+" },
70 type
: "BinaryExpression",
79 output
: "1 + 2 + \n 3",
81 messageId
: "operatorAtEnd",
82 data
: { operator
: "+" },
83 type
: "BinaryExpression",
94 messageId
: "badLinebreak",
95 data
: { operator
: "+" },
96 type
: "BinaryExpression",
104 code
: "1 + (1\n+ 1)",
105 output
: "1 + (1 +\n1)",
107 messageId
: "operatorAtEnd",
108 data
: { operator
: "+" },
109 type
: "BinaryExpression",
118 output
: "f(1 +\n1);",
120 messageId
: "operatorAtEnd",
121 data
: { operator
: "+" },
122 type
: "BinaryExpression",
133 messageId
: "operatorAtEnd",
134 data
: { operator
: "||" },
135 type
: "LogicalExpression",
146 messageId
: "operatorAtEnd",
147 data
: { operator
: "+=" },
148 type
: "AssignmentExpression",
157 output
: "var a =\n 1",
159 messageId
: "operatorAtEnd",
160 data
: { operator
: "=" },
161 type
: "VariableDeclarator",
172 messageId
: "badLinebreak",
173 data
: { operator
: "*" },
174 type
: "BinaryExpression",
182 code
: "answer = everything ?\n 42 :\n foo;",
183 output
: "answer = everything\n ? 42\n : foo;",
185 messageId
: "operatorAtBeginning",
186 data
: { operator
: "?" },
187 type
: "ConditionalExpression",
194 messageId
: "operatorAtBeginning",
195 data
: { operator
: ":" },
196 type
: "ConditionalExpression",
205 code
: "answer = everything \n? 42 \n: foo;",
206 output
: "answer = everything ? \n42 : \nfoo;",
209 messageId
: "operatorAtEnd",
210 data
: { operator
: "?" },
211 type
: "ConditionalExpression",
218 messageId
: "operatorAtEnd",
219 data
: { operator
: ":" },
220 type
: "ConditionalExpression",
233 messageId
: "operatorAtBeginning",
234 data
: { operator
: "+" },
235 type
: "BinaryExpression",
244 output
: "f(1\n+ 1);",
247 messageId
: "operatorAtBeginning",
248 data
: { operator
: "+" },
249 type
: "BinaryExpression",
261 messageId
: "operatorAtBeginning",
262 data
: { operator
: "||" },
263 type
: "LogicalExpression",
275 messageId
: "operatorAtBeginning",
276 data
: { operator
: "+=" },
277 type
: "AssignmentExpression",
286 output
: "var a \n= 1",
289 messageId
: "operatorAtBeginning",
290 data
: { operator
: "=" },
291 type
: "VariableDeclarator",
299 code
: "answer = everything ?\n 42 :\n foo;",
300 output
: "answer = everything\n ? 42\n : foo;",
303 messageId
: "operatorAtBeginning",
304 data
: { operator
: "?" },
305 type
: "ConditionalExpression",
312 messageId
: "operatorAtBeginning",
313 data
: { operator
: ":" },
314 type
: "ConditionalExpression",
327 messageId
: "noLinebreak",
328 data
: { operator
: "+" },
329 type
: "BinaryExpression",
341 messageId
: "noLinebreak",
342 data
: { operator
: "+" },
343 type
: "BinaryExpression",
355 messageId
: "noLinebreak",
356 data
: { operator
: "+" },
357 type
: "BinaryExpression",
369 messageId
: "noLinebreak",
370 data
: { operator
: "+" },
371 type
: "BinaryExpression",
383 messageId
: "noLinebreak",
384 data
: { operator
: "||" },
385 type
: "LogicalExpression",
397 messageId
: "noLinebreak",
398 data
: { operator
: "||" },
399 type
: "LogicalExpression",
411 messageId
: "noLinebreak",
412 data
: { operator
: "+=" },
413 type
: "AssignmentExpression",
425 messageId
: "noLinebreak",
426 data
: { operator
: "+=" },
427 type
: "AssignmentExpression",
439 messageId
: "noLinebreak",
440 data
: { operator
: "=" },
441 type
: "VariableDeclarator",
449 code
: "var a \n = 1",
453 messageId
: "noLinebreak",
454 data
: { operator
: "=" },
455 type
: "VariableDeclarator",
463 code
: "answer = everything ?\n 42 \n: foo;",
464 output
: "answer = everything ? 42 : foo;",
467 messageId
: "noLinebreak",
468 data
: { operator
: "?" },
469 type
: "ConditionalExpression",
476 messageId
: "noLinebreak",
477 data
: { operator
: ":" },
478 type
: "ConditionalExpression",
486 code
: "answer = everything\n?\n42 + 43\n:\nfoo;",
487 output
: "answer = everything?42 + 43:foo;",
490 messageId
: "badLinebreak",
491 data
: { operator
: "?" },
492 type
: "ConditionalExpression",
499 messageId
: "badLinebreak",
500 data
: { operator
: ":" },
501 type
: "ConditionalExpression",
509 code
: "a = b \n >>> \n c;",
510 output
: "a = b >>> \n c;",
512 messageId
: "badLinebreak",
513 data
: { operator
: ">>>" },
514 type
: "BinaryExpression",
522 code
: "foo +=\n42;\nbar -=\n12\n+ 5;",
523 output
: "foo +=42;\nbar -=\n12\n+ 5;",
524 options
: ["after", { overrides
: { "+=": "none", "+": "before" } }],
526 messageId
: "noLinebreak",
527 data
: { operator
: "+=" },
528 type
: "AssignmentExpression",
536 code
: "answer = everything\n?\n42\n:\nfoo;",
537 output
: "answer = everything\n?\n42\n:foo;",
538 options
: ["after", { overrides
: { "?": "ignore", ":": "before" } }],
540 messageId
: "badLinebreak",
541 data
: { operator
: ":" },
542 type
: "ConditionalExpression",
551 // Insert an additional space to avoid changing the operator to ++ or --.
553 output
: "foo\n+ +bar",
556 messageId
: "operatorAtBeginning",
557 data
: { operator
: "+" },
558 type
: "BinaryExpression",
566 code
: "foo //comment\n&& bar",
567 output
: "foo && //comment\nbar",
569 messageId
: "operatorAtEnd",
570 data
: { operator
: "&&" },
571 type
: "LogicalExpression",
579 code
: "foo//comment\n+\nbar",
582 messageId
: "badLinebreak",
583 data
: { operator
: "+" },
584 type
: "BinaryExpression",
592 code
: "foo\n+//comment\nbar",
596 messageId
: "badLinebreak",
597 data
: { operator
: "+" },
598 type
: "BinaryExpression",
606 code
: "foo /* a */ \n+ /* b */ bar",
607 output
: null, // Not fixed because there is a comment on both sides
609 messageId
: "operatorAtEnd",
610 data
: { operator
: "+" },
611 type
: "BinaryExpression",
619 code
: "foo /* a */ +\n /* b */ bar",
620 output
: null, // Not fixed because there is a comment on both sides
623 messageId
: "operatorAtBeginning",
624 data
: { operator
: "+" },
625 type
: "BinaryExpression",