@@ -91,6 +91,10 @@ ruleTester.run("no-invalid-regexp", rule, {
91
91
92
92
// ES2025
93
93
"new RegExp('((?<k>a)|(?<k>b))')" ,
94
+ "new RegExp('(?ims:foo)')" ,
95
+ "new RegExp('(?ims-:foo)')" ,
96
+ "new RegExp('(?-ims:foo)')" ,
97
+ "new RegExp('(?s-i:foo)')" ,
94
98
95
99
// allowConstructorFlags
96
100
{
@@ -441,6 +445,54 @@ ruleTester.run("no-invalid-regexp", rule, {
441
445
data : { message : "Invalid regular expression: /(?<k>a)(?<k>b)/: Duplicate capture group name" } ,
442
446
type : "NewExpression"
443
447
} ]
448
+ } ,
449
+ {
450
+ code : "new RegExp('(?ii:foo)')" ,
451
+ errors : [ {
452
+ messageId : "regexMessage" ,
453
+ data : { message : "Invalid regular expression: /(?ii:foo)/: Duplicated flag 'i'" } ,
454
+ type : "NewExpression"
455
+ } ]
456
+ } ,
457
+ {
458
+ code : "new RegExp('(?-ii:foo)')" ,
459
+ errors : [ {
460
+ messageId : "regexMessage" ,
461
+ data : { message : "Invalid regular expression: /(?-ii:foo)/: Duplicated flag 'i'" } ,
462
+ type : "NewExpression"
463
+ } ]
464
+ } ,
465
+ {
466
+ code : "new RegExp('(?i-i:foo)')" ,
467
+ errors : [ {
468
+ messageId : "regexMessage" ,
469
+ data : { message : "Invalid regular expression: /(?i-i:foo)/: Duplicated flag 'i'" } ,
470
+ type : "NewExpression"
471
+ } ]
472
+ } ,
473
+ {
474
+ code : "new RegExp('(?-:foo)')" ,
475
+ errors : [ {
476
+ messageId : "regexMessage" ,
477
+ data : { message : "Invalid regular expression: /(?-:foo)/: Invalid empty flags" } ,
478
+ type : "NewExpression"
479
+ } ]
480
+ } ,
481
+ {
482
+ code : "new RegExp('(?g:foo)')" ,
483
+ errors : [ {
484
+ messageId : "regexMessage" ,
485
+ data : { message : "Invalid regular expression: /(?g:foo)/: Invalid group" } ,
486
+ type : "NewExpression"
487
+ } ]
488
+ } ,
489
+ {
490
+ code : "new RegExp('(?-u:foo)')" ,
491
+ errors : [ {
492
+ messageId : "regexMessage" ,
493
+ data : { message : "Invalid regular expression: /(?-u:foo)/: Invalid group" } ,
494
+ type : "NewExpression"
495
+ } ]
444
496
}
445
497
]
446
498
} ) ;
0 commit comments