From e943047a1eccf863718c8ab33fa4ba8926dfa9b3 Mon Sep 17 00:00:00 2001 From: "Ioanna M. Dimitriou H" Date: Thu, 29 Feb 2024 23:28:28 +0100 Subject: [PATCH] Test parsing error when using unicode escape sequences to express i, m, s As suggested in https://github.com/tc39/test262/pull/3960#issuecomment-1966827213 --- ...r-modifiers-should-not-unicode-escape-i.js | 19 +++++++++++++++++++ ...r-modifiers-should-not-unicode-escape-m.js | 19 +++++++++++++++++++ ...r-modifiers-should-not-unicode-escape-s.js | 19 +++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-i.js create mode 100644 test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-m.js create mode 100644 test/language/literals/regexp/early-err-modifiers-should-not-unicode-escape-s.js 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 00000000000..10e1883996f --- /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 00000000000..4916997fbfa --- /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 00000000000..4e91d5bb51b --- /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 */;