]> git.proxmox.com Git - pve-eslint.git/blobdiff - eslint/tests/lib/rules/func-names.js
import 8.3.0 source
[pve-eslint.git] / eslint / tests / lib / rules / func-names.js
index bf930eecfc9562a0b90342ac2710bfaeb97c0050..3341df7f0166b2bee80bf2dfaff916cbf954f277 100644 (file)
@@ -262,6 +262,23 @@ ruleTester.run("func-names", rule, {
             code: "(function*() {}())",
             options: ["as-needed", { generators: "never" }],
             parserOptions: { ecmaVersion: 6 }
+        },
+
+        // class fields
+        {
+            code: "class C { foo = function() {}; }",
+            options: ["as-needed"],
+            parserOptions: { ecmaVersion: 2022 }
+        },
+        {
+            code: "class C { [foo] = function() {}; }",
+            options: ["as-needed"],
+            parserOptions: { ecmaVersion: 2022 }
+        },
+        {
+            code: "class C { #foo = function() {}; }",
+            options: ["as-needed"],
+            parserOptions: { ecmaVersion: 2022 }
         }
     ],
     invalid: [
@@ -805,6 +822,63 @@ ruleTester.run("func-names", rule, {
                 column: 15,
                 endColumn: 28
             }]
+        },
+
+        // class fields
+        {
+            code: "class C { foo = function() {} }",
+            options: ["always"],
+            parserOptions: { ecmaVersion: 2022 },
+            errors: [{
+                messageId: "unnamed",
+                data: { name: "method 'foo'" },
+                column: 11,
+                endColumn: 25
+            }]
+        },
+        {
+            code: "class C { [foo] = function() {} }",
+            options: ["always"],
+            parserOptions: { ecmaVersion: 2022 },
+            errors: [{
+                messageId: "unnamed",
+                data: { name: "method" },
+                column: 11,
+                endColumn: 27
+            }]
+        },
+        {
+            code: "class C { #foo = function() {} }",
+            options: ["always"],
+            parserOptions: { ecmaVersion: 2022 },
+            errors: [{
+                messageId: "unnamed",
+                data: { name: "private method #foo" },
+                column: 11,
+                endColumn: 26
+            }]
+        },
+        {
+            code: "class C { foo = bar(function() {}) }",
+            options: ["as-needed"],
+            parserOptions: { ecmaVersion: 2022 },
+            errors: [{
+                messageId: "unnamed",
+                data: { name: "function" },
+                column: 21,
+                endColumn: 29
+            }]
+        },
+        {
+            code: "class C { foo = function bar() {} }",
+            options: ["never"],
+            parserOptions: { ecmaVersion: 2022 },
+            errors: [{
+                messageId: "named",
+                data: { name: "method 'foo'" },
+                column: 11,
+                endColumn: 29
+            }]
         }
     ]
 });