@@ -456,6 +456,14 @@ ruleTester.run("no-extra-parens", rule, {
456456 { code : "if((a, b)){}" , options : [ "all" , { enforceForSequenceExpressions : false } ] } ,
457457 { code : "while ((val = foo(), val < 10));" , options : [ "all" , { enforceForSequenceExpressions : false } ] } ,
458458
459+ // ["all", { enforceForNewInMemberExpressions: false }]
460+ { code : "(new foo()).bar" , options : [ "all" , { enforceForNewInMemberExpressions : false } ] } ,
461+ { code : "(new foo())[bar]" , options : [ "all" , { enforceForNewInMemberExpressions : false } ] } ,
462+ { code : "(new foo()).bar()" , options : [ "all" , { enforceForNewInMemberExpressions : false } ] } ,
463+ { code : "(new foo(bar)).baz" , options : [ "all" , { enforceForNewInMemberExpressions : false } ] } ,
464+ { code : "(new foo.bar()).baz" , options : [ "all" , { enforceForNewInMemberExpressions : false } ] } ,
465+ { code : "(new foo.bar()).baz()" , options : [ "all" , { enforceForNewInMemberExpressions : false } ] } ,
466+
459467 "let a = [ ...b ]" ,
460468 "let a = { ...b }" ,
461469 {
@@ -659,6 +667,7 @@ ruleTester.run("no-extra-parens", rule, {
659667 invalid ( "(foo.bar()).baz" , "foo.bar().baz" , "CallExpression" ) ,
660668 invalid ( "(foo\n.bar())\n.baz" , "foo\n.bar()\n.baz" , "CallExpression" ) ,
661669 invalid ( "(new foo()).bar" , "new foo().bar" , "NewExpression" ) ,
670+ invalid ( "(new foo())[bar]" , "new foo()[bar]" , "NewExpression" ) ,
662671 invalid ( "(new foo()).bar()" , "new foo().bar()" , "NewExpression" ) ,
663672 invalid ( "(new foo(bar)).baz" , "new foo(bar).baz" , "NewExpression" ) ,
664673 invalid ( "(new foo.bar()).baz" , "new foo.bar().baz" , "NewExpression" ) ,
@@ -1165,6 +1174,63 @@ ruleTester.run("no-extra-parens", rule, {
11651174 ]
11661175 } ,
11671176
1177+ // ["all", { enforceForNewInMemberExpressions: true }]
1178+ {
1179+ code : "(new foo()).bar" ,
1180+ output : "new foo().bar" ,
1181+ options : [ "all" ] ,
1182+ errors : [
1183+ {
1184+ messageId : "unexpected" ,
1185+ type : "NewExpression"
1186+ }
1187+ ]
1188+ } ,
1189+ {
1190+ code : "(new foo()).bar" ,
1191+ output : "new foo().bar" ,
1192+ options : [ "all" , { } ] ,
1193+ errors : [
1194+ {
1195+ messageId : "unexpected" ,
1196+ type : "NewExpression"
1197+ }
1198+ ]
1199+ } ,
1200+ {
1201+ code : "(new foo()).bar" ,
1202+ output : "new foo().bar" ,
1203+ options : [ "all" , { enforceForNewInMemberExpressions : true } ] ,
1204+ errors : [
1205+ {
1206+ messageId : "unexpected" ,
1207+ type : "NewExpression"
1208+ }
1209+ ]
1210+ } ,
1211+ {
1212+ code : "(new foo())[bar]" ,
1213+ output : "new foo()[bar]" ,
1214+ options : [ "all" , { enforceForNewInMemberExpressions : true } ] ,
1215+ errors : [
1216+ {
1217+ messageId : "unexpected" ,
1218+ type : "NewExpression"
1219+ }
1220+ ]
1221+ } ,
1222+ {
1223+ code : "(new foo.bar()).baz" ,
1224+ output : "new foo.bar().baz" ,
1225+ options : [ "all" , { enforceForNewInMemberExpressions : true } ] ,
1226+ errors : [
1227+ {
1228+ messageId : "unexpected" ,
1229+ type : "NewExpression"
1230+ }
1231+ ]
1232+ } ,
1233+
11681234 // https://github.com/eslint/eslint/issues/8175
11691235 invalid (
11701236 "let a = [...(b)]" ,
0 commit comments