Skip to content

Commit f48a2a0

Browse files
authored
test: add no-invalid-regexp tests with RegExp Modifiers (#19075)
1 parent 37c9177 commit f48a2a0

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

tests/lib/rules/no-invalid-regexp.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ ruleTester.run("no-invalid-regexp", rule, {
9191

9292
// ES2025
9393
"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)')",
9498

9599
// allowConstructorFlags
96100
{
@@ -441,6 +445,54 @@ ruleTester.run("no-invalid-regexp", rule, {
441445
data: { message: "Invalid regular expression: /(?<k>a)(?<k>b)/: Duplicate capture group name" },
442446
type: "NewExpression"
443447
}]
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+
}]
444496
}
445497
]
446498
});

0 commit comments

Comments
 (0)