]> git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-unused-labels.js
first commit
[pve-eslint.git] / eslint / tests / lib / rules / no-unused-labels.js
1 /**
2 * @fileoverview Tests for no-unused-labels rule.
3 * @author Toru Nagashima
4 */
5
6 "use strict";
7
8 //------------------------------------------------------------------------------
9 // Requirements
10 //------------------------------------------------------------------------------
11
12 const rule = require("../../../lib/rules/no-unused-labels"),
13 { RuleTester } = require("../../../lib/rule-tester");
14
15 //------------------------------------------------------------------------------
16 // Tests
17 //------------------------------------------------------------------------------
18
19 const ruleTester = new RuleTester();
20
21 ruleTester.run("no-unused-labels", rule, {
22 valid: [
23 "A: break A;",
24 "A: { foo(); break A; bar(); }",
25 "A: if (a) { foo(); if (b) break A; bar(); }",
26 "A: for (var i = 0; i < 10; ++i) { foo(); if (a) break A; bar(); }",
27 "A: for (var i = 0; i < 10; ++i) { foo(); if (a) continue A; bar(); }",
28 "A: { B: break B; C: for (var i = 0; i < 10; ++i) { foo(); if (a) break A; if (c) continue C; bar(); } }",
29 "A: { var A = 0; console.log(A); break A; console.log(A); }"
30 ],
31 invalid: [
32 {
33 code: "A: var foo = 0;",
34 output: "var foo = 0;",
35 errors: [{ messageId: "unused" }]
36 },
37 {
38 code: "A: { foo(); bar(); }",
39 output: "{ foo(); bar(); }",
40 errors: [{ messageId: "unused" }]
41 },
42 {
43 code: "A: if (a) { foo(); bar(); }",
44 output: "if (a) { foo(); bar(); }",
45 errors: [{ messageId: "unused" }]
46 },
47 {
48 code: "A: for (var i = 0; i < 10; ++i) { foo(); if (a) break; bar(); }",
49 output: "for (var i = 0; i < 10; ++i) { foo(); if (a) break; bar(); }",
50 errors: [{ messageId: "unused" }]
51 },
52 {
53 code: "A: for (var i = 0; i < 10; ++i) { foo(); if (a) continue; bar(); }",
54 output: "for (var i = 0; i < 10; ++i) { foo(); if (a) continue; bar(); }",
55 errors: [{ messageId: "unused" }]
56 },
57 {
58 code: "A: for (var i = 0; i < 10; ++i) { B: break A; }",
59 output: "A: for (var i = 0; i < 10; ++i) { break A; }",
60 errors: [{ messageId: "unused", data: { name: "B" } }]
61 },
62 {
63 code: "A: { var A = 0; console.log(A); }",
64 output: "{ var A = 0; console.log(A); }",
65 errors: [{ messageId: "unused" }]
66 },
67 {
68 code: "A: /* comment */ foo",
69 output: null,
70 errors: [{ messageId: "unused" }]
71 },
72 {
73 code: "A /* comment */: foo",
74 output: null,
75 errors: [{ messageId: "unused" }]
76 }
77
78 /*
79 * Below is fatal errors.
80 * "A: break B",
81 * "A: function foo() { break A; }",
82 * "A: class Foo { foo() { break A; } }",
83 * "A: { A: { break A; } }"
84 */
85 ]
86 });