]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/init-declarations.js
2 * @fileoverview A rule to control the style of variable initializations.
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/init-declarations"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester();
21 ruleTester
.run("init-declarations", rule
, {
25 "var foo = 1, bar = false, baz = {};",
26 "function foo() { var foo = 0; var bar = []; }",
27 "var fn = function() {};",
29 "for (var i = 0; i < 1; i++) {}",
30 "for (var foo in []) {}",
31 { code
: "for (var foo of []) {}", parserOptions
: { ecmaVersion
: 6 } },
33 code
: "let a = true;",
35 parserOptions
: { ecmaVersion
: 6 }
38 code
: "const a = {};",
40 parserOptions
: { ecmaVersion
: 6 }
43 code
: "function foo() { let a = 1, b = false; if (a) { let c = 3, d = null; } }",
45 parserOptions
: { ecmaVersion
: 6 }
48 code
: "function foo() { const a = 1, b = true; if (a) { const c = 3, d = null; } }",
50 parserOptions
: { ecmaVersion
: 6 }
53 code
: "function foo() { let a = 1; const b = false; var c = true; }",
55 parserOptions
: { ecmaVersion
: 6 }
60 parserOptions
: { ecmaVersion
: 6 }
63 code
: "var foo, bar, baz;",
65 parserOptions
: { ecmaVersion
: 6 }
68 code
: "function foo() { var foo; var bar; }",
70 parserOptions
: { ecmaVersion
: 6 }
75 parserOptions
: { ecmaVersion
: 6 }
80 parserOptions
: { ecmaVersion
: 6 }
83 code
: "function foo() { let a, b; if (a) { let c, d; } }",
85 parserOptions
: { ecmaVersion
: 6 }
88 code
: "function foo() { const a = 1, b = true; if (a) { const c = 3, d = null; } }",
90 parserOptions
: { ecmaVersion
: 6 }
93 code
: "function foo() { let a; const b = false; var c; }",
95 parserOptions
: { ecmaVersion
: 6 }
98 code
: "for(var i = 0; i < 1; i++){}",
99 options
: ["never", { ignoreForLoopInit
: true }]
102 code
: "for (var foo in []) {}",
103 options
: ["never", { ignoreForLoopInit
: true }]
106 code
: "for (var foo of []) {}",
107 options
: ["never", { ignoreForLoopInit
: true }],
108 parserOptions
: { ecmaVersion
: 6 }
117 messageId
: "initialized",
118 data
: { idName
: "foo" },
119 type
: "VariableDeclarator"
124 code
: "for (var a in []) var foo;",
128 messageId
: "initialized",
129 data
: { idName
: "foo" },
130 type
: "VariableDeclarator"
135 code
: "var foo, bar = false, baz;",
137 parserOptions
: { ecmaVersion
: 6 },
140 messageId
: "initialized",
141 data
: { idName
: "foo" },
142 type
: "VariableDeclarator"
145 messageId
: "initialized",
146 data
: { idName
: "baz" },
147 type
: "VariableDeclarator"
152 code
: "function foo() { var foo = 0; var bar; }",
154 parserOptions
: { ecmaVersion
: 6 },
157 messageId
: "initialized",
158 data
: { idName
: "bar" },
159 type
: "VariableDeclarator"
164 code
: "function foo() { var foo; var bar = foo; }",
166 parserOptions
: { ecmaVersion
: 6 },
169 messageId
: "initialized",
170 data
: { idName
: "foo" },
171 type
: "VariableDeclarator"
178 parserOptions
: { ecmaVersion
: 6 },
181 messageId
: "initialized",
182 data
: { idName
: "a" },
183 type
: "VariableDeclarator"
188 code
: "function foo() { let a = 1, b; if (a) { let c = 3, d = null; } }",
190 parserOptions
: { ecmaVersion
: 6 },
193 messageId
: "initialized",
194 data
: { idName
: "b" },
195 type
: "VariableDeclarator"
200 code
: "function foo() { let a; const b = false; var c; }",
202 parserOptions
: { ecmaVersion
: 6 },
205 messageId
: "initialized",
206 data
: { idName
: "a" },
207 type
: "VariableDeclarator"
210 messageId
: "initialized",
211 data
: { idName
: "c" },
212 type
: "VariableDeclarator"
217 code
: "var foo = bar = 2;",
219 parserOptions
: { ecmaVersion
: 6 },
222 messageId
: "notInitialized",
223 data
: { idName
: "foo" },
224 type
: "VariableDeclarator"
229 code
: "var foo = true;",
231 parserOptions
: { ecmaVersion
: 6 },
234 messageId
: "notInitialized",
235 data
: { idName
: "foo" },
236 type
: "VariableDeclarator"
241 code
: "var foo, bar = 5, baz = 3;",
243 parserOptions
: { ecmaVersion
: 6 },
246 messageId
: "notInitialized",
247 data
: { idName
: "bar" },
248 type
: "VariableDeclarator"
251 messageId
: "notInitialized",
252 data
: { idName
: "baz" },
253 type
: "VariableDeclarator"
258 code
: "function foo() { var foo; var bar = foo; }",
260 parserOptions
: { ecmaVersion
: 6 },
263 messageId
: "notInitialized",
264 data
: { idName
: "bar" },
266 type
: "VariableDeclarator"
273 parserOptions
: { ecmaVersion
: 6 },
276 messageId
: "notInitialized",
277 data
: { idName
: "a" },
278 type
: "VariableDeclarator"
283 code
: "function foo() { let a = 'foo', b; if (a) { let c, d; } }",
285 parserOptions
: { ecmaVersion
: 6 },
288 messageId
: "notInitialized",
289 data
: { idName
: "a" },
290 type
: "VariableDeclarator"
295 code
: "function foo() { let a; const b = false; var c = 1; }",
297 parserOptions
: { ecmaVersion
: 6 },
300 messageId
: "notInitialized",
301 data
: { idName
: "c" },
302 type
: "VariableDeclarator"
307 code
: "for(var i = 0; i < 1; i++){}",
311 messageId
: "notInitialized",
312 data
: { idName
: "i" },
313 type
: "VariableDeclarator"
318 code
: "for (var foo in []) {}",
322 messageId
: "notInitialized",
323 data
: { idName
: "foo" },
324 type
: "VariableDeclarator"
329 code
: "for (var foo of []) {}",
331 parserOptions
: { ecmaVersion
: 6 },
334 messageId
: "notInitialized",
335 data
: { idName
: "foo" },
336 type
: "VariableDeclarator"