]> git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/max-classes-per-file.js
ca9cba7a4a254240caf0a7e9b0f7e359b943934f
[pve-eslint.git] / eslint / tests / lib / rules / max-classes-per-file.js
1 /**
2 * @fileoverview Tests for max-classes-per-file rule.
3 * @author James Garbutt <https://github.com/43081j>
4 */
5 "use strict";
6
7 //------------------------------------------------------------------------------
8 // Requirements
9 //------------------------------------------------------------------------------
10
11 const rule = require("../../../lib/rules/max-classes-per-file"),
12 { RuleTester } = require("../../../lib/rule-tester");
13
14 //------------------------------------------------------------------------------
15 // Tests
16 //------------------------------------------------------------------------------
17
18 const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
19
20 ruleTester.run("max-classes-per-file", rule, {
21 valid: [
22 "class Foo {}",
23 "var x = class {};",
24 "var x = 5;",
25 {
26 code: "class Foo {}",
27 options: [1]
28 },
29 {
30 code: "class Foo {}\nclass Bar {}",
31 options: [2]
32 }
33 ],
34
35 invalid: [
36 {
37 code: "class Foo {}\nclass Bar {}",
38 errors: [{ messageId: "maximumExceeded", type: "Program" }]
39 },
40 {
41 code: "var x = class {};\nvar y = class {};",
42 errors: [{ messageId: "maximumExceeded", type: "Program" }]
43 },
44 {
45 code: "class Foo {}\nvar x = class {};",
46 errors: [{ messageId: "maximumExceeded", type: "Program" }]
47 },
48 {
49 code: "class Foo {} class Bar {}",
50 options: [1],
51 errors: [{ messageId: "maximumExceeded", type: "Program" }]
52 },
53 {
54 code: "class Foo {} class Bar {} class Baz {}",
55 options: [2],
56 errors: [{ messageId: "maximumExceeded", type: "Program" }]
57 }
58 ]
59 });