]> git.proxmox.com Git - pve-eslint.git/blobdiff - eslint/tests/lib/rules/accessor-pairs.js
import 8.3.0 source
[pve-eslint.git] / eslint / tests / lib / rules / accessor-pairs.js
index c6341326647460ffc00cf165763c8f12d48522a3..d74913f4e74d13bdd4f0f9ad5f6fb385ff1c54b5 100644 (file)
@@ -335,6 +335,11 @@ ruleTester.run("accessor-pairs", rule, {
             options: [{ enforceForClassMembers: true }],
             parserOptions: { ecmaVersion: 6 }
         },
+        {
+            code: "class A { get #a() {} }",
+            options: [{ enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 }
+        },
 
         // Explicitly disabled option
         {
@@ -1207,6 +1212,26 @@ ruleTester.run("accessor-pairs", rule, {
             parserOptions: { ecmaVersion: 6 },
             errors: [{ message: "Getter is not present for class static setter 'a'.", type: "MethodDefinition" }]
         },
+        {
+            code: "class A { set '#a'(foo) {} }",
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Getter is not present for class setter '#a'.", type: "MethodDefinition" }]
+        },
+        {
+            code: "class A { set #a(foo) {} }",
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Getter is not present for class private setter #a.", type: "MethodDefinition" }]
+        },
+        {
+            code: "class A { static set '#a'(foo) {} }",
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Getter is not present for class static setter '#a'.", type: "MethodDefinition" }]
+        },
+        {
+            code: "class A { static set #a(foo) {} }",
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Getter is not present for class static private setter #a.", type: "MethodDefinition" }]
+        },
 
         // Test that the accessor kind options do not affect each other
         {
@@ -1239,6 +1264,30 @@ ruleTester.run("accessor-pairs", rule, {
             parserOptions: { ecmaVersion: 6 },
             errors: [{ message: "Setter is not present for class getter 'a'.", type: "MethodDefinition" }]
         },
+        {
+            code: "class A { get '#a'() {} };",
+            options: [{ setWithoutGet: false, getWithoutSet: true, enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Setter is not present for class getter '#a'.", type: "MethodDefinition" }]
+        },
+        {
+            code: "class A { get #a() {} };",
+            options: [{ setWithoutGet: false, getWithoutSet: true, enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Setter is not present for class private getter #a.", type: "MethodDefinition" }]
+        },
+        {
+            code: "class A { static get '#a'() {} };",
+            options: [{ setWithoutGet: false, getWithoutSet: true, enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Setter is not present for class static getter '#a'.", type: "MethodDefinition" }]
+        },
+        {
+            code: "class A { static get #a() {} };",
+            options: [{ setWithoutGet: false, getWithoutSet: true, enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 },
+            errors: [{ message: "Setter is not present for class static private getter #a.", type: "MethodDefinition" }]
+        },
 
         // Various kinds of keys
         {
@@ -1424,6 +1473,24 @@ ruleTester.run("accessor-pairs", rule, {
                 { message: "Getter is not present for class setter.", type: "MethodDefinition", column: 28 }
             ]
         },
+        {
+            code: "class A { get #a() {} set '#a'(foo) {} }",
+            options: [{ setWithoutGet: true, getWithoutSet: true, enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 },
+            errors: [
+                { message: "Setter is not present for class private getter #a.", type: "MethodDefinition", column: 11 },
+                { message: "Getter is not present for class setter '#a'.", type: "MethodDefinition", column: 23 }
+            ]
+        },
+        {
+            code: "class A { get '#a'() {} set #a(foo) {} }",
+            options: [{ setWithoutGet: true, getWithoutSet: true, enforceForClassMembers: true }],
+            parserOptions: { ecmaVersion: 13 },
+            errors: [
+                { message: "Setter is not present for class getter '#a'.", type: "MethodDefinition", column: 11 },
+                { message: "Getter is not present for class private setter #a.", type: "MethodDefinition", column: 25 }
+            ]
+        },
 
         // Prototype and static accessors with same keys
         {