diff --git a/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-i.js b/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-i.js new file mode 100644 index 0000000000..10e1883996 --- /dev/null +++ b/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-i.js @@ -0,0 +1,19 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: Source text cannot use unicode escape sequences to express code points "i", "m", "s" (regular expression flags) +esid: sec-patterns-static-semantics-early-errors +features: [regexp-modifiers] +negative: + phase: parse + type: SyntaxError +info: | + Atom :: ( ? RegularExpresisonFlags : Disjunction ) + It is a Syntax Error if the source text matched by RegularExpressionFlags contains any code points other than "i", "m", "s", or if it contains the same code point more than once. + +---*/ + +$DONOTEVALUATE(); + +/(?\u0069:a)/u /* i */; diff --git a/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-m.js b/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-m.js new file mode 100644 index 0000000000..4916997fbf --- /dev/null +++ b/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-m.js @@ -0,0 +1,19 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: Source text cannot use unicode escape sequences to express code points "i", "m", "s" (regular expression flags) +esid: sec-patterns-static-semantics-early-errors +features: [regexp-modifiers] +negative: + phase: parse + type: SyntaxError +info: | + Atom :: ( ? RegularExpresisonFlags : Disjunction ) + It is a Syntax Error if the source text matched by RegularExpressionFlags contains any code points other than "i", "m", "s", or if it contains the same code point more than once. + +---*/ + +$DONOTEVALUATE(); + +/(?\u006D:a)/u /* m */; diff --git a/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-s.js b/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-s.js new file mode 100644 index 0000000000..4e91d5bb51 --- /dev/null +++ b/test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-s.js @@ -0,0 +1,19 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: Source text cannot use unicode escape sequences to express code points "i", "m", "s" (regular expression flags) +esid: sec-patterns-static-semantics-early-errors +features: [regexp-modifiers] +negative: + phase: parse + type: SyntaxError +info: | + Atom :: ( ? RegularExpresisonFlags : Disjunction ) + It is a Syntax Error if the source text matched by RegularExpressionFlags contains any code points other than "i", "m", "s", or if it contains the same code point more than once. + +---*/ + +$DONOTEVALUATE(); + +/(?\u0073:a)/u /* s */;