]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-multi-spaces.js
2 * @fileoverview tests for checking multiple spaces.
3 * @author Vignesh Anand aka vegetableman
7 //------------------------------------------------------------------------------
9 //------------------------------------------------------------------------------
11 const rule
= require("../../../lib/rules/no-multi-spaces"),
12 { RuleTester
} = require("../../../lib/rule-tester");
14 //------------------------------------------------------------------------------
16 //------------------------------------------------------------------------------
18 const ruleTester
= new RuleTester();
20 ruleTester
.run("no-multi-spaces", rule
, {
27 "var arr = [ (1), (2) ];",
28 "var obj = {'a': 1, 'b': (2)};",
29 "\t\tvar x = 5,\n\t\t y = 2;",
39 "function foo(a,b) {}",
40 "function foo(a, b) {}",
41 "if ( a === 3 && b === 4) {}",
42 "if ( a === 3||b === 4 ) {}",
44 "var foo = bar === 1 ? 2: 3",
51 "(function(a,/* b, */c){})",
52 "(function(a,/*b,*/c){})",
53 "(function(a, /*b,*/c){})",
54 "(function(a,/*b,*/ c){})",
55 "(function(a, /*b,*/ c){})",
56 "(function(/*a, b, */c){})",
57 "(function(/*a, */b, c){})",
58 "(function(a, b/*, c*/){})",
59 "(function(a, b/*,c*/){})",
60 "(function(a, b /*,c*/){})",
61 "(function(a/*, b ,c*/){})",
62 "(function(a /*, b ,c*/){})",
63 "(function(a /*, b ,c*/){})",
64 "/**\n * hello\n * @param {foo} int hi\n * set.\n * @private\n*/",
65 "/**\n * hello\n * @param {foo} int hi\n * set.\n * set.\n * @private\n*/",
67 "var foo = [1,/* 2,*/3];",
68 "var bar = {a: 1,/* b: 2*/c: 3};",
69 "var foo = \"hello world\";",
70 "function foo() {\n return;\n}",
71 "function foo() {\n if (foo) {\n return;\n }\n}",
72 { code
: "var foo = `hello world`;", parserOptions
: { ecmaVersion
: 6 } },
75 code
: "var answer = 6 * 7;",
76 options
: [{ exceptions
: { VariableDeclaration
: true, BinaryExpression
: true } }]
79 // https://github.com/eslint/eslint/issues/7693
80 "var x = 5; // comment",
81 "var x = 5; /* multiline\n * comment\n */",
82 "var x = 5;\n // comment",
83 "var x = 5; \n// comment",
84 "var x = 5;\n /* multiline\n * comment\n */",
85 "var x = 5; \n/* multiline\n * comment\n */",
86 { code
: "var x = 5; // comment", options
: [{ ignoreEOLComments
: false }] },
87 { code
: "var x = 5; /* multiline\n * comment\n */", options
: [{ ignoreEOLComments
: false }] },
88 { code
: "var x = 5;\n // comment", options
: [{ ignoreEOLComments
: false }] },
89 { code
: "var x = 5; \n// comment", options
: [{ ignoreEOLComments
: false }] },
90 { code
: "var x = 5;\n /* multiline\n * comment\n */", options
: [{ ignoreEOLComments
: false }] },
91 { code
: "var x = 5; \n/* multiline\n * comment\n */", options
: [{ ignoreEOLComments
: false }] },
92 { code
: "var x = 5; // comment", options
: [{ ignoreEOLComments
: true }] },
93 { code
: "var x = 5; /* multiline\n * comment\n */", options
: [{ ignoreEOLComments
: true }] },
94 { code
: "var x = 5;\n // comment", options
: [{ ignoreEOLComments
: true }] },
95 { code
: "var x = 5; \n// comment", options
: [{ ignoreEOLComments
: true }] },
96 { code
: "var x = 5;\n /* multiline\n * comment\n */", options
: [{ ignoreEOLComments
: true }] },
97 { code
: "var x = 5; \n/* multiline\n * comment\n */", options
: [{ ignoreEOLComments
: true }] },
103 // https://github.com/eslint/eslint/issues/9001
111 code
: "function foo(a, b) {}",
112 output
: "function foo(a, b) {}",
114 messageId
: "multipleSpaces",
115 data
: { displayValue
: "b" },
122 code
: "var foo = (a, b) => {}",
123 output
: "var foo = (a, b) => {}",
124 parserOptions
: { ecmaVersion
: 6 },
126 messageId
: "multipleSpaces",
127 data
: { displayValue
: "b" },
137 messageId
: "multipleSpaces",
138 data
: { displayValue
: "1" },
145 code
: "var a = 1, b = 2;",
146 output
: "var a = 1, b = 2;",
148 messageId
: "multipleSpaces",
149 data
: { displayValue
: "b" },
157 messageId
: "multipleSpaces",
158 data
: { displayValue
: "b" },
163 code
: "var arr = {'a': 1, 'b': 2};",
164 output
: "var arr = {'a': 1, 'b': 2};",
166 messageId
: "multipleSpaces",
167 data
: { displayValue
: "'b'" },
174 code
: "if (a & b) { }",
175 output
: "if (a & b) { }",
177 messageId
: "multipleSpaces",
178 data
: { displayValue
: "b" },
183 code
: "if ( a === 3 && b === 4) {}",
184 output
: "if ( a === 3 && b === 4) {}",
186 messageId
: "multipleSpaces",
187 data
: { displayValue
: "&&" },
190 messageId
: "multipleSpaces",
191 data
: { displayValue
: "b" },
196 code
: "var foo = bar === 1 ? 2: 3",
197 output
: "var foo = bar === 1 ? 2: 3",
199 messageId
: "multipleSpaces",
200 data
: { displayValue
: "2" },
203 messageId
: "multipleSpaces",
204 data
: { displayValue
: "3" },
209 code
: "var a = [1, 2, 3, 4]",
210 output
: "var a = [1, 2, 3, 4]",
212 messageId
: "multipleSpaces",
213 data
: { displayValue
: "2" },
216 messageId
: "multipleSpaces",
217 data
: { displayValue
: "3" },
220 messageId
: "multipleSpaces",
221 data
: { displayValue
: "4" },
226 code
: "var arr = [1, 2];",
227 output
: "var arr = [1, 2];",
229 messageId
: "multipleSpaces",
230 data
: { displayValue
: "2" },
235 code
: "[ , 1, , 3, , ]",
236 output
: "[ , 1, , 3, , ]",
238 messageId
: "multipleSpaces",
239 data
: { displayValue
: "," },
244 messageId
: "multipleSpaces",
245 data
: { displayValue
: "," },
250 messageId
: "multipleSpaces",
251 data
: { displayValue
: "," },
256 messageId
: "multipleSpaces",
257 data
: { displayValue
: "]" },
267 messageId
: "multipleSpaces",
268 data
: { displayValue
: "b" },
273 code
: "a = 1, b = 2;",
274 output
: "a = 1, b = 2;",
276 messageId
: "multipleSpaces",
277 data
: { displayValue
: "b" },
280 messageId
: "multipleSpaces",
281 data
: { displayValue
: "2" },
286 code
: "(function(a, b){})",
287 output
: "(function(a, b){})",
289 messageId
: "multipleSpaces",
290 data
: { displayValue
: "b" },
295 code
: "function foo(a, b){}",
296 output
: "function foo(a, b){}",
298 messageId
: "multipleSpaces",
299 data
: { displayValue
: "b" },
304 code
: "var o = { fetch: function () {} };",
305 output
: "var o = { fetch: function () {} };",
307 messageId
: "multipleSpaces",
308 data
: { displayValue
: "(" },
313 code
: "function foo () {}",
314 output
: "function foo () {}",
316 messageId
: "multipleSpaces",
317 data
: { displayValue
: "(" },
325 output
: "if (foo) {}",
327 messageId
: "multipleSpaces",
328 data
: { displayValue
: "{" },
333 code
: "function foo(){}",
334 output
: "function foo(){}",
336 messageId
: "multipleSpaces",
337 data
: { displayValue
: "foo" },
343 output
: "if (foo) {}",
345 messageId
: "multipleSpaces",
346 data
: { displayValue
: "(" },
351 code
: "try {} catch(ex) {}",
352 output
: "try {} catch(ex) {}",
354 messageId
: "multipleSpaces",
355 data
: { displayValue
: "{" },
360 code
: "try {} catch (ex) {}",
361 output
: "try {} catch (ex) {}",
363 messageId
: "multipleSpaces",
364 data
: { displayValue
: "(" },
369 code
: "throw error;",
370 output
: "throw error;",
372 messageId
: "multipleSpaces",
373 data
: { displayValue
: "error" },
378 code
: "function foo() { return bar; }",
379 output
: "function foo() { return bar; }",
381 messageId
: "multipleSpaces",
382 data
: { displayValue
: "bar" },
387 code
: "switch (a) {default: foo(); break;}",
388 output
: "switch (a) {default: foo(); break;}",
390 messageId
: "multipleSpaces",
391 data
: { displayValue
: "(" },
396 code
: "var answer = 6 * 7;",
397 output
: "var answer = 6 * 7;",
399 messageId
: "multipleSpaces",
400 data
: { displayValue
: "answer" },
403 messageId
: "multipleSpaces",
404 data
: { displayValue
: "7" },
409 code
: "({ a: 6 * 7 })",
410 output
: "({ a: 6 * 7 })",
412 messageId
: "multipleSpaces",
413 data
: { displayValue
: "*" },
419 output
: "({ a: b })",
420 options
: [{ exceptions
: { Property
: false } }],
422 messageId
: "multipleSpaces",
423 data
: { displayValue
: "b" },
428 code
: "var foo = { bar: function() { return 1 + 2; } };",
429 output
: "var foo = { bar: function() { return 1 + 2; } };",
431 messageId
: "multipleSpaces",
432 data
: { displayValue
: "+" },
437 code
: "\t\tvar x = 5,\n\t\t y = 2;",
438 output
: "\t\tvar x = 5,\n\t\t y = 2;",
440 messageId
: "multipleSpaces",
441 data
: { displayValue
: "2" },
446 code
: "var x =\t 5;",
447 output
: "var x = 5;",
449 messageId
: "multipleSpaces",
450 data
: { displayValue
: "5" },
457 // https://github.com/eslint/eslint/issues/7693
459 code
: "var x = /* comment */ 5;",
460 output
: "var x = /* comment */ 5;",
462 messageId
: "multipleSpaces",
463 data
: { displayValue
: "/* comment */" },
468 code
: "var x = /* comment */ 5;",
469 output
: "var x = /* comment */ 5;",
471 messageId
: "multipleSpaces",
472 data
: { displayValue
: "5" },
477 code
: "var x = 5; // comment",
478 output
: "var x = 5; // comment",
480 messageId
: "multipleSpaces",
481 data
: { displayValue
: "// comment" },
488 code
: "var x = 5; // comment\nvar y = 6;",
489 output
: "var x = 5; // comment\nvar y = 6;",
491 messageId
: "multipleSpaces",
492 data
: { displayValue
: "// comment" },
497 code
: "var x = 5; /* multiline\n * comment\n */",
498 output
: "var x = 5; /* multiline\n * comment\n */",
500 messageId
: "multipleSpaces",
501 data
: { displayValue
: "/* multiline...*/" },
506 code
: "var x = 5; /* multiline\n * comment\n */\nvar y = 6;",
507 output
: "var x = 5; /* multiline\n * comment\n */\nvar y = 6;",
509 messageId
: "multipleSpaces",
510 data
: { displayValue
: "/* multiline...*/" },
515 code
: "var x = 5; // this is a long comment",
516 output
: "var x = 5; // this is a long comment",
518 messageId
: "multipleSpaces",
519 data
: { displayValue
: "// this is a l..." },
524 code
: "var x = /* comment */ 5;",
525 output
: "var x = /* comment */ 5;",
526 options
: [{ ignoreEOLComments
: false }],
528 messageId
: "multipleSpaces",
529 data
: { displayValue
: "/* comment */" },
534 code
: "var x = /* comment */ 5;",
535 output
: "var x = /* comment */ 5;",
536 options
: [{ ignoreEOLComments
: false }],
538 messageId
: "multipleSpaces",
539 data
: { displayValue
: "5" },
544 code
: "var x = 5; // comment",
545 output
: "var x = 5; // comment",
546 options
: [{ ignoreEOLComments
: false }],
548 messageId
: "multipleSpaces",
549 data
: { displayValue
: "// comment" },
554 code
: "var x = 5; // comment\nvar y = 6;",
555 output
: "var x = 5; // comment\nvar y = 6;",
556 options
: [{ ignoreEOLComments
: false }],
558 messageId
: "multipleSpaces",
559 data
: { displayValue
: "// comment" },
564 code
: "var x = 5; /* multiline\n * comment\n */",
565 output
: "var x = 5; /* multiline\n * comment\n */",
566 options
: [{ ignoreEOLComments
: false }],
568 messageId
: "multipleSpaces",
569 data
: { displayValue
: "/* multiline...*/" },
574 code
: "var x = 5; /* multiline\n * comment\n */\nvar y = 6;",
575 output
: "var x = 5; /* multiline\n * comment\n */\nvar y = 6;",
576 options
: [{ ignoreEOLComments
: false }],
578 messageId
: "multipleSpaces",
579 data
: { displayValue
: "/* multiline...*/" },
584 code
: "var x = 5; // this is a long comment",
585 output
: "var x = 5; // this is a long comment",
586 options
: [{ ignoreEOLComments
: false }],
588 messageId
: "multipleSpaces",
589 data
: { displayValue
: "// this is a l..." },
594 code
: "var x = /* comment */ 5; // EOL comment",
595 output
: "var x = /* comment */ 5; // EOL comment",
596 options
: [{ ignoreEOLComments
: true }],
598 messageId
: "multipleSpaces",
599 data
: { displayValue
: "/* comment */" },
604 code
: "var x = /* comment */ 5; // EOL comment\nvar y = 6;",
605 output
: "var x = /* comment */ 5; // EOL comment\nvar y = 6;",
606 options
: [{ ignoreEOLComments
: true }],
608 messageId
: "multipleSpaces",
609 data
: { displayValue
: "/* comment */" },
614 code
: "var x = /* comment */ 5; /* EOL comment */",
615 output
: "var x = /* comment */ 5; /* EOL comment */",
616 options
: [{ ignoreEOLComments
: true }],
618 messageId
: "multipleSpaces",
619 data
: { displayValue
: "5" },
624 code
: "var x = /* comment */ 5; /* EOL comment */\nvar y = 6;",
625 output
: "var x = /* comment */ 5; /* EOL comment */\nvar y = 6;",
626 options
: [{ ignoreEOLComments
: true }],
628 messageId
: "multipleSpaces",
629 data
: { displayValue
: "5" },
634 code
: "var x = /*comment without spaces*/ 5;",
635 output
: "var x = /*comment without spaces*/ 5;",
636 options
: [{ ignoreEOLComments
: true }],
638 messageId
: "multipleSpaces",
639 data
: { displayValue
: "/*comment with...*/" },
644 code
: "var x = 5; //comment without spaces",
645 output
: "var x = 5; //comment without spaces",
646 options
: [{ ignoreEOLComments
: false }],
648 messageId
: "multipleSpaces",
649 data
: { displayValue
: "//comment with..." },
654 code
: "var x = 5; /*comment without spaces*/",
655 output
: "var x = 5; /*comment without spaces*/",
656 options
: [{ ignoreEOLComments
: false }],
658 messageId
: "multipleSpaces",
659 data
: { displayValue
: "/*comment with...*/" },
664 code
: "var x = 5; /*comment\n without spaces*/",
665 output
: "var x = 5; /*comment\n without spaces*/",
666 options
: [{ ignoreEOLComments
: false }],
668 messageId
: "multipleSpaces",
669 data
: { displayValue
: "/*comment...*/" },
676 code
: "foo\n\f bar + baz",
677 output
: "foo\n\f bar + baz",
679 messageId
: "multipleSpaces",
680 data
: { displayValue
: "+" },