]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-unneeded-ternary.js
25aab8a0cd181477c2f0a102dbd351c8a7820305
2 * @fileoverview Tests for no-unneeded-ternary rule.
3 * @author Gyandeep Singh
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/no-unneeded-ternary"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester();
21 ruleTester
.run("no-unneeded-ternary", rule
, {
23 "config.newIsCap = config.newIsCap !== false",
24 "var a = x === 2 ? 'Yes' : 'No';",
25 "var a = x === 2 ? true : 'No';",
26 "var a = x === 2 ? 'Yes' : false;",
27 "var a = x === 2 ? 'true' : 'false';",
28 "var a = foo ? foo : bar;",
29 "var value = 'a';var canSet = true;var result = value || (canSet ? 'unset' : 'can not set')",
30 "var a = foo ? bar : foo;",
32 "var a = f(x ? x : 1)",
35 "var a = foo ? 'Yes' : foo;",
37 code
: "var a = foo ? 'Yes' : foo;",
38 options
: [{ defaultAssignment
: false }]
41 code
: "var a = foo ? bar : foo;",
42 options
: [{ defaultAssignment
: false }]
45 code
: "foo ? bar : foo;",
46 options
: [{ defaultAssignment
: false }]
51 code
: "var a = x === 2 ? true : false;",
52 output
: "var a = x === 2;",
54 messageId
: "unnecessaryConditionalExpression",
55 type
: "ConditionalExpression",
61 code
: "var a = x >= 2 ? true : false;",
62 output
: "var a = x >= 2;",
64 messageId
: "unnecessaryConditionalExpression",
65 type
: "ConditionalExpression",
71 code
: "var a = x ? true : false;",
72 output
: "var a = !!x;",
74 messageId
: "unnecessaryConditionalExpression",
75 type
: "ConditionalExpression",
81 code
: "var a = x === 1 ? false : true;",
82 output
: "var a = x !== 1;",
84 messageId
: "unnecessaryConditionalExpression",
85 type
: "ConditionalExpression",
91 code
: "var a = x != 1 ? false : true;",
92 output
: "var a = x == 1;",
94 messageId
: "unnecessaryConditionalExpression",
95 type
: "ConditionalExpression",
101 code
: "var a = foo() ? false : true;",
102 output
: "var a = !foo();",
104 messageId
: "unnecessaryConditionalExpression",
105 type
: "ConditionalExpression",
111 code
: "var a = !foo() ? false : true;",
112 output
: "var a = !!foo();",
114 messageId
: "unnecessaryConditionalExpression",
115 type
: "ConditionalExpression",
121 code
: "var a = foo + bar ? false : true;",
122 output
: "var a = !(foo + bar);",
124 messageId
: "unnecessaryConditionalExpression",
125 type
: "ConditionalExpression",
131 code
: "var a = x instanceof foo ? false : true;",
132 output
: "var a = !(x instanceof foo);",
134 messageId
: "unnecessaryConditionalExpression",
135 type
: "ConditionalExpression",
141 code
: "var a = foo ? false : false;",
142 output
: "var a = false;",
144 messageId
: "unnecessaryConditionalExpression",
145 type
: "ConditionalExpression",
151 code
: "var a = foo() ? false : false;",
154 messageId
: "unnecessaryConditionalExpression",
155 type
: "ConditionalExpression",
161 code
: "var a = x instanceof foo ? true : false;",
162 output
: "var a = x instanceof foo;",
164 messageId
: "unnecessaryConditionalExpression",
165 type
: "ConditionalExpression",
171 code
: "var a = !foo ? true : false;",
172 output
: "var a = !foo;",
174 messageId
: "unnecessaryConditionalExpression",
175 type
: "ConditionalExpression",
184 var result = value ? value : canSet ? 'unset' : 'can not set'
189 var result = value || (canSet ? 'unset' : 'can not set')
191 options
: [{ defaultAssignment
: false }],
193 messageId
: "unnecessaryConditionalAssignment",
194 type
: "ConditionalExpression",
200 code
: "foo ? foo : (bar ? baz : qux)",
201 output
: "foo || (bar ? baz : qux)",
202 options
: [{ defaultAssignment
: false }],
204 messageId
: "unnecessaryConditionalAssignment",
205 type
: "ConditionalExpression",
211 code
: "function* fn() { foo ? foo : yield bar }",
212 output
: "function* fn() { foo || (yield bar) }",
213 options
: [{ defaultAssignment
: false }],
214 parserOptions
: { ecmaVersion
: 6 },
216 messageId
: "unnecessaryConditionalAssignment",
217 type
: "ConditionalExpression",
223 code
: "var a = foo ? foo : 'No';",
224 output
: "var a = foo || 'No';",
225 options
: [{ defaultAssignment
: false }],
227 messageId
: "unnecessaryConditionalAssignment",
228 type
: "ConditionalExpression",
234 code
: "var a = ((foo)) ? (((((foo))))) : ((((((((((((((bar))))))))))))));",
235 output
: "var a = ((foo)) || ((((((((((((((bar))))))))))))));",
236 options
: [{ defaultAssignment
: false }],
238 messageId
: "unnecessaryConditionalAssignment",
239 type
: "ConditionalExpression",
245 code
: "var a = b ? b : c => c;",
246 output
: "var a = b || (c => c);",
247 options
: [{ defaultAssignment
: false }],
248 parserOptions
: { ecmaVersion
: 2015 },
250 messageId
: "unnecessaryConditionalAssignment",
251 type
: "ConditionalExpression",
257 code
: "var a = b ? b : c = 0;",
258 output
: "var a = b || (c = 0);",
259 options
: [{ defaultAssignment
: false }],
260 parserOptions
: { ecmaVersion
: 2015 },
262 messageId
: "unnecessaryConditionalAssignment",
263 type
: "ConditionalExpression",
269 code
: "var a = b ? b : (c => c);",
270 output
: "var a = b || (c => c);",
271 options
: [{ defaultAssignment
: false }],
272 parserOptions
: { ecmaVersion
: 2015 },
274 messageId
: "unnecessaryConditionalAssignment",
275 type
: "ConditionalExpression",
281 code
: "var a = b ? b : (c = 0);",
282 output
: "var a = b || (c = 0);",
283 options
: [{ defaultAssignment
: false }],
284 parserOptions
: { ecmaVersion
: 2015 },
286 messageId
: "unnecessaryConditionalAssignment",
287 type
: "ConditionalExpression",
293 code
: "var a = b ? b : (c) => (c);",
294 output
: "var a = b || ((c) => (c));",
295 options
: [{ defaultAssignment
: false }],
296 parserOptions
: { ecmaVersion
: 2015 },
298 messageId
: "unnecessaryConditionalAssignment",
299 type
: "ConditionalExpression",
305 code
: "var a = b ? b : c, d; // this is ((b ? b : c), (d))",
306 output
: "var a = b || c, d; // this is ((b ? b : c), (d))",
307 options
: [{ defaultAssignment
: false }],
308 parserOptions
: { ecmaVersion
: 2015 },
310 messageId
: "unnecessaryConditionalAssignment",
311 type
: "ConditionalExpression",
317 code
: "var a = b ? b : (c, d);",
318 output
: "var a = b || (c, d);",
319 options
: [{ defaultAssignment
: false }],
320 parserOptions
: { ecmaVersion
: 2015 },
322 messageId
: "unnecessaryConditionalAssignment",
323 type
: "ConditionalExpression",
329 code
: "f(x ? x : 1);",
330 output
: "f(x || 1);",
331 options
: [{ defaultAssignment
: false }],
333 messageId
: "unnecessaryConditionalAssignment",
334 type
: "ConditionalExpression",
342 options
: [{ defaultAssignment
: false }],
344 messageId
: "unnecessaryConditionalAssignment",
345 type
: "ConditionalExpression",
351 code
: "var a = foo ? foo : bar;",
352 output
: "var a = foo || bar;",
353 options
: [{ defaultAssignment
: false }],
355 messageId
: "unnecessaryConditionalAssignment",
356 type
: "ConditionalExpression",