@@ -257,6 +257,33 @@ ruleTester.run("no-magic-numbers", rule, {
257257 code : "foo?.[777]" ,
258258 options : [ { ignoreArrayIndexes : true } ] ,
259259 parserOptions : { ecmaVersion : 2020 }
260+ } ,
261+
262+ // ignoreClassFieldInitialValues
263+ {
264+ code : "class C { foo = 2; }" ,
265+ options : [ { ignoreClassFieldInitialValues : true } ] ,
266+ parserOptions : { ecmaVersion : 2022 }
267+ } ,
268+ {
269+ code : "class C { foo = -2; }" ,
270+ options : [ { ignoreClassFieldInitialValues : true } ] ,
271+ parserOptions : { ecmaVersion : 2022 }
272+ } ,
273+ {
274+ code : "class C { static foo = 2; }" ,
275+ options : [ { ignoreClassFieldInitialValues : true } ] ,
276+ parserOptions : { ecmaVersion : 2022 }
277+ } ,
278+ {
279+ code : "class C { #foo = 2; }" ,
280+ options : [ { ignoreClassFieldInitialValues : true } ] ,
281+ parserOptions : { ecmaVersion : 2022 }
282+ } ,
283+ {
284+ code : "class C { static #foo = 2; }" ,
285+ options : [ { ignoreClassFieldInitialValues : true } ] ,
286+ parserOptions : { ecmaVersion : 2022 }
260287 }
261288 ] ,
262289 invalid : [
@@ -812,6 +839,88 @@ ruleTester.run("no-magic-numbers", rule, {
812839 { messageId : "noMagic" , data : { raw : "1" } , line : 1 } ,
813840 { messageId : "noMagic" , data : { raw : "2" } , line : 1 }
814841 ]
842+ } ,
843+
844+ // ignoreClassFieldInitialValues
845+ {
846+ code : "class C { foo = 2; }" ,
847+ parserOptions : { ecmaVersion : 2022 } ,
848+ errors : [
849+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 17 }
850+ ]
851+ } ,
852+ {
853+ code : "class C { foo = 2; }" ,
854+ options : [ { } ] ,
855+ parserOptions : { ecmaVersion : 2022 } ,
856+ errors : [
857+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 17 }
858+ ]
859+ } ,
860+ {
861+ code : "class C { foo = 2; }" ,
862+ options : [ { ignoreClassFieldInitialValues : false } ] ,
863+ parserOptions : { ecmaVersion : 2022 } ,
864+ errors : [
865+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 17 }
866+ ]
867+ } ,
868+ {
869+ code : "class C { foo = -2; }" ,
870+ options : [ { ignoreClassFieldInitialValues : false } ] ,
871+ parserOptions : { ecmaVersion : 2022 } ,
872+ errors : [
873+ { messageId : "noMagic" , data : { raw : "-2" } , line : 1 , column : 17 }
874+ ]
875+ } ,
876+ {
877+ code : "class C { static foo = 2; }" ,
878+ options : [ { ignoreClassFieldInitialValues : false } ] ,
879+ parserOptions : { ecmaVersion : 2022 } ,
880+ errors : [
881+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 24 }
882+ ]
883+ } ,
884+ {
885+ code : "class C { #foo = 2; }" ,
886+ options : [ { ignoreClassFieldInitialValues : false } ] ,
887+ parserOptions : { ecmaVersion : 2022 } ,
888+ errors : [
889+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 18 }
890+ ]
891+ } ,
892+ {
893+ code : "class C { static #foo = 2; }" ,
894+ options : [ { ignoreClassFieldInitialValues : false } ] ,
895+ parserOptions : { ecmaVersion : 2022 } ,
896+ errors : [
897+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 25 }
898+ ]
899+ } ,
900+ {
901+ code : "class C { foo = 2 + 3; }" ,
902+ options : [ { ignoreClassFieldInitialValues : true } ] ,
903+ parserOptions : { ecmaVersion : 2022 } ,
904+ errors : [
905+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 17 } ,
906+ { messageId : "noMagic" , data : { raw : "3" } , line : 1 , column : 21 }
907+ ]
908+ } ,
909+ {
910+ code : "class C { 2; }" ,
911+ options : [ { ignoreClassFieldInitialValues : true } ] ,
912+ parserOptions : { ecmaVersion : 2022 } ,
913+ errors : [
914+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 11 }
915+ ]
916+ } ,
917+ {
918+ code : "class C { [2]; }" ,
919+ options : [ { ignoreClassFieldInitialValues : true } ] ,
920+ parserOptions : { ecmaVersion : 2022 } ,
921+ errors : [
922+ { messageId : "noMagic" , data : { raw : "2" } , line : 1 , column : 12 }
923+ ]
815924 }
816925 ]
817926} ) ;
0 commit comments