]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-multi-assign.js
2 * @fileoverview Tests for no-multi-assign rule.
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/no-multi-assign"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
20 * Returns an error object at the specified line and column
22 * @param {int} line line number
23 * @param {int} column column number
24 * @param {string} type Type of node
25 * @returns {Object} Error object
27 function errorAt(line
, column
, type
) {
29 messageId
: "unexpectedChain",
37 //------------------------------------------------------------------------------
39 //------------------------------------------------------------------------------
41 const ruleTester
= new RuleTester();
43 ruleTester
.run("no-mutli-assign", rule
, {
45 "var a, b, c,\nd = 0;",
46 "var a = 1; var b = 2; var c = 3;\nvar d = 0;",
47 "var a = 1 + (b === 10 ? 5 : 4);",
48 { code
: "const a = 1, b = 2, c = 3;", parserOptions
: { ecmaVersion
: 6 } },
49 { code
: "const a = 1;\nconst b = 2;\n const c = 3;", parserOptions
: { ecmaVersion
: 6 } },
50 "for(var a = 0, b = 0;;){}",
51 { code
: "for(let a = 0, b = 0;;){}", parserOptions
: { ecmaVersion
: 6 } },
52 { code
: "for(const a = 0, b = 0;;){}", parserOptions
: { ecmaVersion
: 6 } },
53 { code
: "export let a, b;", parserOptions
: { ecmaVersion
: 6, sourceType
: "module" } },
54 { code
: "export let a,\n b = 0;", parserOptions
: { ecmaVersion
: 6, sourceType
: "module" } }
59 code
: "var a = b = c;",
61 errorAt(1, 9, "AssignmentExpression")
65 code
: "var a = b = c = d;",
67 errorAt(1, 9, "AssignmentExpression"),
68 errorAt(1, 13, "AssignmentExpression")
72 code
: "let foo = bar = cee = 100;",
73 parserOptions
: { ecmaVersion
: 6 },
75 errorAt(1, 11, "AssignmentExpression"),
76 errorAt(1, 17, "AssignmentExpression")
82 errorAt(1, 3, "AssignmentExpression"),
83 errorAt(1, 5, "AssignmentExpression"),
84 errorAt(1, 7, "AssignmentExpression")
90 errorAt(1, 3, "AssignmentExpression")
97 errorAt(2, 2, "AssignmentExpression")
102 code
: "var a = (b) = (((c)))",
104 errorAt(1, 9, "AssignmentExpression")
109 code
: "var a = ((b)) = (c)",
111 errorAt(1, 9, "AssignmentExpression")
116 code
: "var a = b = ( (c * 12) + 2)",
118 errorAt(1, 9, "AssignmentExpression")
123 code
: "var a =\n((b))\n = (c)",
125 errorAt(2, 1, "AssignmentExpression")
130 code
: "a = b = '=' + c + 'foo';",
132 errorAt(1, 5, "AssignmentExpression")
136 code
: "a = b = 7 * 12 + 5;",
138 errorAt(1, 5, "AssignmentExpression")