]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-unmodified-loop-condition.js
2 * @fileoverview Tests for no-unmodified-loop-condition rule.
3 * @author Toru Nagashima
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/no-unmodified-loop-condition"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester();
21 ruleTester
.run("no-unmodified-loop-condition", rule
, {
23 "var foo = 0; while (foo) { ++foo; }",
24 { code
: "let foo = 0; while (foo) { ++foo; }", env
: { es6
: true } },
25 "var foo = 0; while (foo) { foo += 1; }",
26 "var foo = 0; while (foo++) { }",
27 "var foo = 0; while (foo = next()) { }",
28 "var foo = 0; while (ok(foo)) { }",
29 "var foo = 0, bar = 0; while (++foo < bar) { }",
30 "var foo = 0, obj = {}; while (foo === obj.bar) { }",
31 "var foo = 0, f = {}, bar = {}; while (foo === f(bar)) { }",
32 "var foo = 0, f = {}; while (foo === f()) { }",
33 { code
: "var foo = 0, tag = 0; while (foo === tag`abc`) { }", env
: { es6
: true } },
34 { code
: "function* foo() { var foo = 0; while (yield foo) { } }", env
: { es6
: true } },
35 { code
: "function* foo() { var foo = 0; while (foo === (yield)) { } }", env
: { es6
: true } },
36 "var foo = 0; while (foo.ok) { }",
37 "var foo = 0; while (foo) { update(); } function update() { ++foo; }",
38 "var foo = 0, bar = 9; while (foo < bar) { foo += 1; }",
39 "var foo = 0, bar = 1, baz = 2; while (foo ? bar : baz) { foo += 1; }",
40 "var foo = 0, bar = 0; while (foo && bar) { ++foo; ++bar; }",
41 "var foo = 0, bar = 0; while (foo || bar) { ++foo; ++bar; }",
42 "var foo = 0; do { ++foo; } while (foo);",
43 "var foo = 0; do { } while (foo++);",
44 "for (var foo = 0; foo; ++foo) { }",
45 "for (var foo = 0; foo;) { ++foo }",
46 "var foo = 0, bar = 0; for (bar; foo;) { ++foo }",
47 "var foo; if (foo) { }",
48 "var a = [1, 2, 3]; var len = a.length; for (var i = 0; i < len - 1; i++) {}"
51 { code
: "var foo = 0; while (foo) { } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
52 { code
: "var foo = 0; while (!foo) { } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
53 { code
: "var foo = 0; while (foo != null) { } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
55 code
: "var foo = 0, bar = 9; while (foo < bar) { } foo = 1;",
57 { messageId
: "loopConditionNotModified", data
: { name
: "foo" } },
58 { messageId
: "loopConditionNotModified", data
: { name
: "bar" } }
61 { code
: "var foo = 0, bar = 0; while (foo && bar) { ++bar; } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
62 { code
: "var foo = 0, bar = 0; while (foo && bar) { ++foo; } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "bar" } }] },
64 code
: "var a, b, c; while (a < c && b < c) { ++a; } foo = 1;",
66 { messageId
: "loopConditionNotModified", data
: { name
: "b" } },
67 { messageId
: "loopConditionNotModified", data
: { name
: "c" } }
70 { code
: "var foo = 0; while (foo ? 1 : 0) { } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
71 { code
: "var foo = 0; while (foo) { update(); } function update(foo) { ++foo; }", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
72 { code
: "var foo; do { } while (foo);", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] },
73 { code
: "for (var foo = 0; foo < 10; ) { } foo = 1;", errors
: [{ messageId
: "loopConditionNotModified", data
: { name
: "foo" } }] }