@@ -40,7 +40,19 @@ ruleTester.run("no-dupe-keys", rule, {
4040 { code : "var x = ({ null: 1, [/(?<zero>0)/]: 2 })" , languageOptions : { ecmaVersion : 2018 } } ,
4141 { code : "var {a, a} = obj" , languageOptions : { ecmaVersion : 6 } } ,
4242 "var x = { 012: 1, 12: 2 };" ,
43- { code : "var x = { 1_0: 1, 1: 2 };" , languageOptions : { ecmaVersion : 2021 } }
43+ { code : "var x = { 1_0: 1, 1: 2 };" , languageOptions : { ecmaVersion : 2021 } } ,
44+ { code : "var x = { __proto__: null, ['__proto__']: null };" , languageOptions : { ecmaVersion : 6 } } ,
45+ { code : "var x = { ['__proto__']: null, __proto__: null };" , languageOptions : { ecmaVersion : 6 } } ,
46+ { code : "var x = { '__proto__': null, ['__proto__']: null };" , languageOptions : { ecmaVersion : 6 } } ,
47+ { code : "var x = { ['__proto__']: null, '__proto__': null };" , languageOptions : { ecmaVersion : 6 } } ,
48+ { code : "var x = { __proto__: null, __proto__ };" , languageOptions : { ecmaVersion : 6 } } ,
49+ { code : "var x = { __proto__, __proto__: null };" , languageOptions : { ecmaVersion : 6 } } ,
50+ { code : "var x = { __proto__: null, __proto__() {} };" , languageOptions : { ecmaVersion : 6 } } ,
51+ { code : "var x = { __proto__() {}, __proto__: null };" , languageOptions : { ecmaVersion : 6 } } ,
52+ { code : "var x = { __proto__: null, get __proto__() {} };" , languageOptions : { ecmaVersion : 6 } } ,
53+ { code : "var x = { get __proto__() {}, __proto__: null };" , languageOptions : { ecmaVersion : 6 } } ,
54+ { code : "var x = { __proto__: null, set __proto__(value) {} };" , languageOptions : { ecmaVersion : 6 } } ,
55+ { code : "var x = { set __proto__(value) {}, __proto__: null };" , languageOptions : { ecmaVersion : 6 } }
4456 ] ,
4557 invalid : [
4658 { code : "var x = { a: b, ['a']: b };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "a" } , type : "ObjectExpression" } ] } ,
@@ -58,6 +70,12 @@ ruleTester.run("no-dupe-keys", rule, {
5870 { code : "var x = { a: 1, get a() {} };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "a" } , type : "ObjectExpression" } ] } ,
5971 { code : "var x = { a: 1, set a(value) {} };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "a" } , type : "ObjectExpression" } ] } ,
6072 { code : "var x = { a: 1, b: { a: 2 }, get b() {} };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "b" } , type : "ObjectExpression" } ] } ,
61- { code : "var x = ({ '/(?<zero>0)/': 1, [/(?<zero>0)/]: 2 })" , languageOptions : { ecmaVersion : 2018 } , errors : [ { messageId : "unexpected" , data : { name : "/(?<zero>0)/" } , type : "ObjectExpression" } ] }
73+ { code : "var x = ({ '/(?<zero>0)/': 1, [/(?<zero>0)/]: 2 })" , languageOptions : { ecmaVersion : 2018 } , errors : [ { messageId : "unexpected" , data : { name : "/(?<zero>0)/" } , type : "ObjectExpression" } ] } ,
74+ { code : "var x = { ['__proto__']: null, ['__proto__']: null };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "__proto__" } , type : "ObjectExpression" } ] } ,
75+ { code : "var x = { ['__proto__']: null, __proto__ };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "__proto__" } , type : "ObjectExpression" } ] } ,
76+ { code : "var x = { ['__proto__']: null, __proto__() {} };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "__proto__" } , type : "ObjectExpression" } ] } ,
77+ { code : "var x = { ['__proto__']: null, get __proto__() {} };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "__proto__" } , type : "ObjectExpression" } ] } ,
78+ { code : "var x = { ['__proto__']: null, set __proto__(value) {} };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "__proto__" } , type : "ObjectExpression" } ] } ,
79+ { code : "var x = { __proto__: null, a: 5, a: 6 };" , languageOptions : { ecmaVersion : 6 } , errors : [ { messageId : "unexpected" , data : { name : "a" } , type : "ObjectExpression" } ] }
6280 ]
6381} ) ;
0 commit comments