Skip to content

Commit f48a2a0

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

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy