]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/init-declarations.js
6324418c17475e860dfeb713da7da049773977c7
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 const ruleTester
= new RuleTester();
17 ruleTester
.run("init-declarations", rule
, {
21 "var foo = 1, bar = false, baz = {};",
22 "function foo() { var foo = 0; var bar = []; }",
23 "var fn = function() {};",
25 "for (var i = 0; i < 1; i++) {}",
26 "for (var foo in []) {}",
27 { code
: "for (var foo of []) {}", parserOptions
: { ecmaVersion
: 6 } },
29 code
: "let a = true;",
31 parserOptions
: { ecmaVersion
: 6 }
34 code
: "const a = {};",
36 parserOptions
: { ecmaVersion
: 6 }
39 code
: "function foo() { let a = 1, b = false; if (a) { let c = 3, d = null; } }",
41 parserOptions
: { ecmaVersion
: 6 }
44 code
: "function foo() { const a = 1, b = true; if (a) { const c = 3, d = null; } }",
46 parserOptions
: { ecmaVersion
: 6 }
49 code
: "function foo() { let a = 1; const b = false; var c = true; }",
51 parserOptions
: { ecmaVersion
: 6 }
56 parserOptions
: { ecmaVersion
: 6 }
59 code
: "var foo, bar, baz;",
61 parserOptions
: { ecmaVersion
: 6 }
64 code
: "function foo() { var foo; var bar; }",
66 parserOptions
: { ecmaVersion
: 6 }
71 parserOptions
: { ecmaVersion
: 6 }
76 parserOptions
: { ecmaVersion
: 6 }
79 code
: "function foo() { let a, b; if (a) { let c, d; } }",
81 parserOptions
: { ecmaVersion
: 6 }
84 code
: "function foo() { const a = 1, b = true; if (a) { const c = 3, d = null; } }",
86 parserOptions
: { ecmaVersion
: 6 }
89 code
: "function foo() { let a; const b = false; var c; }",
91 parserOptions
: { ecmaVersion
: 6 }
94 code
: "for(var i = 0; i < 1; i++){}",
95 options
: ["never", { ignoreForLoopInit
: true }]
98 code
: "for (var foo in []) {}",
99 options
: ["never", { ignoreForLoopInit
: true }]
102 code
: "for (var foo of []) {}",
103 options
: ["never", { ignoreForLoopInit
: true }],
104 parserOptions
: { ecmaVersion
: 6 }
113 messageId
: "initialized",
114 data
: { idName
: "foo" },
115 type
: "VariableDeclarator"
120 code
: "for (var a in []) var foo;",
124 messageId
: "initialized",
125 data
: { idName
: "foo" },
126 type
: "VariableDeclarator"
131 code
: "var foo, bar = false, baz;",
133 parserOptions
: { ecmaVersion
: 6 },
136 messageId
: "initialized",
137 data
: { idName
: "foo" },
138 type
: "VariableDeclarator"
141 messageId
: "initialized",
142 data
: { idName
: "baz" },
143 type
: "VariableDeclarator"
148 code
: "function foo() { var foo = 0; var bar; }",
150 parserOptions
: { ecmaVersion
: 6 },
153 messageId
: "initialized",
154 data
: { idName
: "bar" },
155 type
: "VariableDeclarator"
160 code
: "function foo() { var foo; var bar = foo; }",
162 parserOptions
: { ecmaVersion
: 6 },
165 messageId
: "initialized",
166 data
: { idName
: "foo" },
167 type
: "VariableDeclarator"
174 parserOptions
: { ecmaVersion
: 6 },
177 messageId
: "initialized",
178 data
: { idName
: "a" },
179 type
: "VariableDeclarator"
184 code
: "function foo() { let a = 1, b; if (a) { let c = 3, d = null; } }",
186 parserOptions
: { ecmaVersion
: 6 },
189 messageId
: "initialized",
190 data
: { idName
: "b" },
191 type
: "VariableDeclarator"
196 code
: "function foo() { let a; const b = false; var c; }",
198 parserOptions
: { ecmaVersion
: 6 },
201 messageId
: "initialized",
202 data
: { idName
: "a" },
203 type
: "VariableDeclarator"
206 messageId
: "initialized",
207 data
: { idName
: "c" },
208 type
: "VariableDeclarator"
213 code
: "var foo = bar = 2;",
215 parserOptions
: { ecmaVersion
: 6 },
218 messageId
: "notInitialized",
219 data
: { idName
: "foo" },
220 type
: "VariableDeclarator"
225 code
: "var foo = true;",
227 parserOptions
: { ecmaVersion
: 6 },
230 messageId
: "notInitialized",
231 data
: { idName
: "foo" },
232 type
: "VariableDeclarator"
237 code
: "var foo, bar = 5, baz = 3;",
239 parserOptions
: { ecmaVersion
: 6 },
242 messageId
: "notInitialized",
243 data
: { idName
: "bar" },
244 type
: "VariableDeclarator"
247 messageId
: "notInitialized",
248 data
: { idName
: "baz" },
249 type
: "VariableDeclarator"
254 code
: "function foo() { var foo; var bar = foo; }",
256 parserOptions
: { ecmaVersion
: 6 },
259 messageId
: "notInitialized",
260 data
: { idName
: "bar" },
262 type
: "VariableDeclarator"
269 parserOptions
: { ecmaVersion
: 6 },
272 messageId
: "notInitialized",
273 data
: { idName
: "a" },
274 type
: "VariableDeclarator"
279 code
: "function foo() { let a = 'foo', b; if (a) { let c, d; } }",
281 parserOptions
: { ecmaVersion
: 6 },
284 messageId
: "notInitialized",
285 data
: { idName
: "a" },
286 type
: "VariableDeclarator"
291 code
: "function foo() { let a; const b = false; var c = 1; }",
293 parserOptions
: { ecmaVersion
: 6 },
296 messageId
: "notInitialized",
297 data
: { idName
: "c" },
298 type
: "VariableDeclarator"
303 code
: "for(var i = 0; i < 1; i++){}",
307 messageId
: "notInitialized",
308 data
: { idName
: "i" },
309 type
: "VariableDeclarator"
314 code
: "for (var foo in []) {}",
318 messageId
: "notInitialized",
319 data
: { idName
: "foo" },
320 type
: "VariableDeclarator"
325 code
: "for (var foo of []) {}",
327 parserOptions
: { ecmaVersion
: 6 },
330 messageId
: "notInitialized",
331 data
: { idName
: "foo" },
332 type
: "VariableDeclarator"