options: [{ enforceForClassMembers: true }],
parserOptions: { ecmaVersion: 6 }
},
+ {
+ code: "class A { get #a() {} }",
+ options: [{ enforceForClassMembers: true }],
+ parserOptions: { ecmaVersion: 13 }
+ },
// Explicitly disabled option
{
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
{
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
{
{ 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
{