From e7fa7858327cef9c633fa88d512d050a260254cd Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Sun, 28 Feb 2021 21:37:33 -0500 Subject: [PATCH] [[FIX]] Support RegExp Unicode property escapes --- src/lex.js | 54 ++ src/reg.js | 2 +- src/validate-unicode-escape-sequence.js | 534 ++++++++++++++++ tests/test262/expectations.txt | 806 ------------------------ tests/unit/parser.js | 96 +++ 5 files changed, 685 insertions(+), 807 deletions(-) create mode 100644 src/validate-unicode-escape-sequence.js diff --git a/src/lex.js b/src/lex.js index 05ba48f475..01e3f20261 100644 --- a/src/lex.js +++ b/src/lex.js @@ -1440,6 +1440,60 @@ Lexer.prototype = { } } + if (char === "p" || char === "P") { + var y = index + 2; + sequence = ""; + next = ""; + + if (this.peek(index + 1) === "{") { + next = this.peek(y); + while (next && next !== "}") { + sequence += next; + y += 1; + next = this.peek(y); + } + } + + // Module loading is intentionally deferred as an optimization for + // Node.js users who do not use Unicode escape sequences. + if (!sequence || !require("./validate-unicode-escape-sequence")(sequence)) { + this.triggerAsync( + "error", + { + code: "E016", + line: this.line, + character: this.char, + data: [ "Invalid Unicode property escape sequence" ] + }, + checks, + hasUFlag + ); + } + + if (sequence) { + sequence = char + "{" + sequence + "}"; + body += sequence; + value += sequence; + index = y + 1; + + if (!state.inES9()) { + this.triggerAsync( + "warning", + { + code: "W119", + line: this.line, + character: this.char, + data: [ "Unicode property escape", "9" ] + }, + checks, + hasUFlag + ); + } + + return sequence; + } + } + // Unexpected control character if (char < " ") { malformed = true; diff --git a/src/reg.js b/src/reg.js index 0595c7cdf3..7e8407ed1d 100644 --- a/src/reg.js +++ b/src/reg.js @@ -51,7 +51,7 @@ exports.regexpQuantifiers = /[*+?{]/; exports.regexpControlEscapes = /[fnrtv]/; -exports.regexpCharClasses = /[dDsSwW]/; +exports.regexpCharClasses = /[dDsSwWpP]/; // Identifies the "dot" atom in regular expressions exports.regexpDot = /(^|[^\\])(\\\\)*\./; diff --git a/src/validate-unicode-escape-sequence.js b/src/validate-unicode-escape-sequence.js new file mode 100644 index 0000000000..b1ea0507e5 --- /dev/null +++ b/src/validate-unicode-escape-sequence.js @@ -0,0 +1,534 @@ +/* + * Determine whether a given string is a valid UnicodePropertyValueExpression. + */ + +"use strict"; + +module.exports = function validate(sequence) { + var equalSignIndex = sequence.indexOf("="); + + if (equalSignIndex === -1) { + return sequence in names.binary || sequence in values.general; + } + + var name = sequence.substr(0, equalSignIndex); + var value = sequence.substr(equalSignIndex + 1); + + if (name === "General_Category" || name === "gc") { + return value in values.general; + } if (name === "Script" || name === "sc" || name === "Script_Extensions" || name === "scx") { + return value in values.script; + } + + return false; +}; + + +var names = { + nonBinary: Object.create(null), + binary: Object.create(null) +}; +var values = { + general: Object.create(null), + script: Object.create(null) +}; + +var nb = names.nonBinary; +nb.General_Category = true; +nb.gc = true; +nb.Script = true; +nb.sc = true; +nb.Script_Extensions = true; +nb.scx = true; + +var b = names.binary; +b.ASCII = true; +b.ASCII_Hex_Digit = true; +b.AHex = true; +b.Alphabetic = true; +b.Alpha = true; +b.Any = true; +b.Assigned = true; +b.Bidi_Control = true; +b.Bidi_C = true; +b.Bidi_Mirrored = true; +b.Bidi_M = true; +b.Case_Ignorable = true; +b.CI = true; +b.Cased = true; +b.Changes_When_Casefolded = true; +b.CWCF = true; +b.Changes_When_Casemapped = true; +b.CWCM = true; +b.Changes_When_Lowercased = true; +b.CWL = true; +b.Changes_When_NFKC_Casefolded = true; +b.CWKCF = true; +b.Changes_When_Titlecased = true; +b.CWT = true; +b.Changes_When_Uppercased = true; +b.CWU = true; +b.Dash = true; +b.Default_Ignorable_Code_Point = true; +b.DI = true; +b.Deprecated = true; +b.Dep = true; +b.Diacritic = true; +b.Dia = true; +b.Emoji = true; +b.Emoji_Component = true; +b.EComp = true; +b.Emoji_Modifier = true; +b.EMod = true; +b.Emoji_Modifier_Base = true; +b.EBase = true; +b.Emoji_Presentation = true; +b.EPres = true; +b.Extended_Pictographic = true; +b.ExtPict = true; +b.Extender = true; +b.Ext = true; +b.Grapheme_Base = true; +b.Gr_Base = true; +b.Grapheme_Extend = true; +b.Gr_Ext = true; +b.Hex_Digit = true; +b.Hex = true; +b.IDS_Binary_Operator = true; +b.IDSB = true; +b.IDS_Trinary_Operator = true; +b.IDST = true; +b.ID_Continue = true; +b.IDC = true; +b.ID_Start = true; +b.IDS = true; +b.Ideographic = true; +b.Ideo = true; +b.Join_Control = true; +b.Join_C = true; +b.Logical_Order_Exception = true; +b.LOE = true; +b.Lowercase = true; +b.Lower = true; +b.Math = true; +b.Noncharacter_Code_Point = true; +b.NChar = true; +b.Pattern_Syntax = true; +b.Pat_Syn = true; +b.Pattern_White_Space = true; +b.Pat_WS = true; +b.Quotation_Mark = true; +b.QMark = true; +b.Radical = true; +b.Regional_Indicator = true; +b.RI = true; +b.Sentence_Terminal = true; +b.STerm = true; +b.Soft_Dotted = true; +b.SD = true; +b.Terminal_Punctuation = true; +b.Term = true; +b.Unified_Ideograph = true; +b.UIdeo = true; +b.Uppercase = true; +b.Upper = true; +b.Variation_Selector = true; +b.VS = true; +b.White_Space = true; +b.space = true; +b.XID_Continue = true; +b.XIDC = true; +b.XID_Start = true; +b.XIDS = true; + +var g = values.general; +g.Cased_Letter = true; +g.LC = true; +g.Close_Punctuation = true; +g.Pe = true; +g.Connector_Punctuation = true; +g.Pc = true; +g.Control = true; +g.Cc = true; +g.cntrl = true; +g.Currency_Symbol = true; +g.Sc = true; +g.Dash_Punctuation = true; +g.Pd = true; +g.Decimal_Number = true; +g.Nd = true; +g.digit = true; +g.Enclosing_Mark = true; +g.Me = true; +g.Final_Punctuation = true; +g.Pf = true; +g.Format = true; +g.Cf = true; +g.Initial_Punctuation = true; +g.Pi = true; +g.Letter = true; +g.L = true; +g.Letter_Number = true; +g.Nl = true; +g.Line_Separator = true; +g.Zl = true; +g.Lowercase_Letter = true; +g.Ll = true; +g.Mark = true; +g.M = true; +g.Combining_Mark = true; +g.Math_Symbol = true; +g.Sm = true; +g.Modifier_Letter = true; +g.Lm = true; +g.Modifier_Symbol = true; +g.Sk = true; +g.Nonspacing_Mark = true; +g.Mn = true; +g.Number = true; +g.N = true; +g.Open_Punctuation = true; +g.Ps = true; +g.Other = true; +g.C = true; +g.Other_Letter = true; +g.Lo = true; +g.Other_Number = true; +g.No = true; +g.Other_Punctuation = true; +g.Po = true; +g.Other_Symbol = true; +g.So = true; +g.Paragraph_Separator = true; +g.Zp = true; +g.Private_Use = true; +g.Co = true; +g.Punctuation = true; +g.P = true; +g.punct = true; +g.Separator = true; +g.Z = true; +g.Space_Separator = true; +g.Zs = true; +g.Spacing_Mark = true; +g.Mc = true; +g.Surrogate = true; +g.Cs = true; +g.Symbol = true; +g.S = true; +g.Titlecase_Letter = true; +g.Lt = true; +g.Unassigned = true; +g.Cn = true; +g.Uppercase_Letter = true; +g.Lu = true; + +var s = values.script; +s.Adlam = true; +s.Adlm = true; +s.Ahom = true; +s.Anatolian_Hieroglyphs = true; +s.Hluw = true; +s.Arabic = true; +s.Arab = true; +s.Armenian = true; +s.Armn = true; +s.Avestan = true; +s.Avst = true; +s.Balinese = true; +s.Bali = true; +s.Bamum = true; +s.Bamu = true; +s.Bassa_Vah = true; +s.Bass = true; +s.Batak = true; +s.Batk = true; +s.Bengali = true; +s.Beng = true; +s.Bhaiksuki = true; +s.Bhks = true; +s.Bopomofo = true; +s.Bopo = true; +s.Brahmi = true; +s.Brah = true; +s.Braille = true; +s.Brai = true; +s.Buginese = true; +s.Bugi = true; +s.Buhid = true; +s.Buhd = true; +s.Canadian_Aboriginal = true; +s.Cans = true; +s.Carian = true; +s.Cari = true; +s.Caucasian_Albanian = true; +s.Aghb = true; +s.Chakma = true; +s.Cakm = true; +s.Cham = true; +s.Chorasmian = true; +s.Chrs = true; +s.Cherokee = true; +s.Cher = true; +s.Common = true; +s.Zyyy = true; +s.Coptic = true; +s.Copt = true; +s.Qaac = true; +s.Cuneiform = true; +s.Xsux = true; +s.Cypriot = true; +s.Cprt = true; +s.Cyrillic = true; +s.Cyrl = true; +s.Deseret = true; +s.Dsrt = true; +s.Devanagari = true; +s.Deva = true; +s.Dives_Akuru = true; +s.Diak = true; +s.Dogra = true; +s.Dogr = true; +s.Duployan = true; +s.Dupl = true; +s.Egyptian_Hieroglyphs = true; +s.Egyp = true; +s.Elbasan = true; +s.Elba = true; +s.Elymaic = true; +s.Elym = true; +s.Ethiopic = true; +s.Ethi = true; +s.Georgian = true; +s.Geor = true; +s.Glagolitic = true; +s.Glag = true; +s.Gothic = true; +s.Goth = true; +s.Grantha = true; +s.Gran = true; +s.Greek = true; +s.Grek = true; +s.Gujarati = true; +s.Gujr = true; +s.Gunjala_Gondi = true; +s.Gong = true; +s.Gurmukhi = true; +s.Guru = true; +s.Han = true; +s.Hani = true; +s.Hangul = true; +s.Hang = true; +s.Hanifi_Rohingya = true; +s.Rohg = true; +s.Hanunoo = true; +s.Hano = true; +s.Hatran = true; +s.Hatr = true; +s.Hebrew = true; +s.Hebr = true; +s.Hiragana = true; +s.Hira = true; +s.Imperial_Aramaic = true; +s.Armi = true; +s.Inherited = true; +s.Zinh = true; +s.Qaai = true; +s.Inscriptional_Pahlavi = true; +s.Phli = true; +s.Inscriptional_Parthian = true; +s.Prti = true; +s.Javanese = true; +s.Java = true; +s.Kaithi = true; +s.Kthi = true; +s.Kannada = true; +s.Knda = true; +s.Katakana = true; +s.Kana = true; +s.Kayah_Li = true; +s.Kali = true; +s.Kharoshthi = true; +s.Khar = true; +s.Khitan_Small_Script = true; +s.Kits = true; +s.Khmer = true; +s.Khmr = true; +s.Khojki = true; +s.Khoj = true; +s.Khudawadi = true; +s.Sind = true; +s.Lao = true; +s.Laoo = true; +s.Latin = true; +s.Latn = true; +s.Lepcha = true; +s.Lepc = true; +s.Limbu = true; +s.Limb = true; +s.Linear_A = true; +s.Lina = true; +s.Linear_B = true; +s.Linb = true; +s.Lisu = true; +s.Lycian = true; +s.Lyci = true; +s.Lydian = true; +s.Lydi = true; +s.Mahajani = true; +s.Mahj = true; +s.Makasar = true; +s.Maka = true; +s.Malayalam = true; +s.Mlym = true; +s.Mandaic = true; +s.Mand = true; +s.Manichaean = true; +s.Mani = true; +s.Marchen = true; +s.Marc = true; +s.Medefaidrin = true; +s.Medf = true; +s.Masaram_Gondi = true; +s.Gonm = true; +s.Meetei_Mayek = true; +s.Mtei = true; +s.Mende_Kikakui = true; +s.Mend = true; +s.Meroitic_Cursive = true; +s.Merc = true; +s.Meroitic_Hieroglyphs = true; +s.Mero = true; +s.Miao = true; +s.Plrd = true; +s.Modi = true; +s.Mongolian = true; +s.Mong = true; +s.Mro = true; +s.Mroo = true; +s.Multani = true; +s.Mult = true; +s.Myanmar = true; +s.Mymr = true; +s.Nabataean = true; +s.Nbat = true; +s.Nandinagari = true; +s.Nand = true; +s.New_Tai_Lue = true; +s.Talu = true; +s.Newa = true; +s.Nko = true; +s.Nkoo = true; +s.Nushu = true; +s.Nshu = true; +s.Nyiakeng_Puachue_Hmong = true; +s.Hmnp = true; +s.Ogham = true; +s.Ogam = true; +s.Ol_Chiki = true; +s.Olck = true; +s.Old_Hungarian = true; +s.Hung = true; +s.Old_Italic = true; +s.Ital = true; +s.Old_North_Arabian = true; +s.Narb = true; +s.Old_Permic = true; +s.Perm = true; +s.Old_Persian = true; +s.Xpeo = true; +s.Old_Sogdian = true; +s.Sogo = true; +s.Old_South_Arabian = true; +s.Sarb = true; +s.Old_Turkic = true; +s.Orkh = true; +s.Oriya = true; +s.Orya = true; +s.Osage = true; +s.Osge = true; +s.Osmanya = true; +s.Osma = true; +s.Pahawh_Hmong = true; +s.Hmng = true; +s.Palmyrene = true; +s.Palm = true; +s.Pau_Cin_Hau = true; +s.Pauc = true; +s.Phags_Pa = true; +s.Phag = true; +s.Phoenician = true; +s.Phnx = true; +s.Psalter_Pahlavi = true; +s.Phlp = true; +s.Rejang = true; +s.Rjng = true; +s.Runic = true; +s.Runr = true; +s.Samaritan = true; +s.Samr = true; +s.Saurashtra = true; +s.Saur = true; +s.Sharada = true; +s.Shrd = true; +s.Shavian = true; +s.Shaw = true; +s.Siddham = true; +s.Sidd = true; +s.SignWriting = true; +s.Sgnw = true; +s.Sinhala = true; +s.Sinh = true; +s.Sogdian = true; +s.Sogd = true; +s.Sora_Sompeng = true; +s.Sora = true; +s.Soyombo = true; +s.Soyo = true; +s.Sundanese = true; +s.Sund = true; +s.Syloti_Nagri = true; +s.Sylo = true; +s.Syriac = true; +s.Syrc = true; +s.Tagalog = true; +s.Tglg = true; +s.Tagbanwa = true; +s.Tagb = true; +s.Tai_Le = true; +s.Tale = true; +s.Tai_Tham = true; +s.Lana = true; +s.Tai_Viet = true; +s.Tavt = true; +s.Takri = true; +s.Takr = true; +s.Tamil = true; +s.Taml = true; +s.Tangut = true; +s.Tang = true; +s.Telugu = true; +s.Telu = true; +s.Thaana = true; +s.Thaa = true; +s.Thai = true; +s.Tibetan = true; +s.Tibt = true; +s.Tifinagh = true; +s.Tfng = true; +s.Tirhuta = true; +s.Tirh = true; +s.Ugaritic = true; +s.Ugar = true; +s.Vai = true; +s.Vaii = true; +s.Wancho = true; +s.Wcho = true; +s.Warang_Citi = true; +s.Wara = true; +s.Yezidi = true; +s.Yezi = true; +s.Yi = true; +s.Yiii = true; +s.Zanabazar_Square = true; +s.Zanb = true; diff --git a/tests/test262/expectations.txt b/tests/test262/expectations.txt index 1a4ea5b7d9..feb4491e1d 100644 --- a/tests/test262/expectations.txt +++ b/tests/test262/expectations.txt @@ -339,732 +339,6 @@ test/built-ins/RegExp/named-groups/unicode-property-names.js(strict mode) test/built-ins/RegExp/property-escapes/character-class.js(default) test/built-ins/RegExp/property-escapes/character-class.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/ASCII.js(default) -test/built-ins/RegExp/property-escapes/generated/ASCII.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/ASCII_Hex_Digit.js(default) -test/built-ins/RegExp/property-escapes/generated/ASCII_Hex_Digit.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Alphabetic.js(default) -test/built-ins/RegExp/property-escapes/generated/Alphabetic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Any.js(default) -test/built-ins/RegExp/property-escapes/generated/Any.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Assigned.js(default) -test/built-ins/RegExp/property-escapes/generated/Assigned.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Bidi_Control.js(default) -test/built-ins/RegExp/property-escapes/generated/Bidi_Control.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js(default) -test/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js(default) -test/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Cased.js(default) -test/built-ins/RegExp/property-escapes/generated/Cased.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js(default) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js(default) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js(default) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js(default) -test/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js(default) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js(default) -test/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Dash.js(default) -test/built-ins/RegExp/property-escapes/generated/Dash.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js(default) -test/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Deprecated.js(default) -test/built-ins/RegExp/property-escapes/generated/Deprecated.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Diacritic.js(default) -test/built-ins/RegExp/property-escapes/generated/Diacritic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Emoji.js(default) -test/built-ins/RegExp/property-escapes/generated/Emoji.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js(default) -test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Emoji_Modifier.js(default) -test/built-ins/RegExp/property-escapes/generated/Emoji_Modifier.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js(default) -test/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js(default) -test/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Extender.js(default) -test/built-ins/RegExp/property-escapes/generated/Extender.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Connector_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Connector_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Control.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Control.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Enclosing_Mark.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Enclosing_Mark.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Final_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Final_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Initial_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Initial_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter_Number.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter_Number.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Line_Separator.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Line_Separator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Paragraph_Separator.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Paragraph_Separator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Private_Use.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Private_Use.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Separator.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Separator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Space_Separator.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Space_Separator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Surrogate.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Surrogate.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Titlecase_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Titlecase_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js(default) -test/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js(default) -test/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js(default) -test/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Hex_Digit.js(default) -test/built-ins/RegExp/property-escapes/generated/Hex_Digit.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js(default) -test/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/IDS_Trinary_Operator.js(default) -test/built-ins/RegExp/property-escapes/generated/IDS_Trinary_Operator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/ID_Continue.js(default) -test/built-ins/RegExp/property-escapes/generated/ID_Continue.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/ID_Start.js(default) -test/built-ins/RegExp/property-escapes/generated/ID_Start.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Ideographic.js(default) -test/built-ins/RegExp/property-escapes/generated/Ideographic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Join_Control.js(default) -test/built-ins/RegExp/property-escapes/generated/Join_Control.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Logical_Order_Exception.js(default) -test/built-ins/RegExp/property-escapes/generated/Logical_Order_Exception.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Lowercase.js(default) -test/built-ins/RegExp/property-escapes/generated/Lowercase.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Math.js(default) -test/built-ins/RegExp/property-escapes/generated/Math.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Noncharacter_Code_Point.js(default) -test/built-ins/RegExp/property-escapes/generated/Noncharacter_Code_Point.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Pattern_Syntax.js(default) -test/built-ins/RegExp/property-escapes/generated/Pattern_Syntax.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Pattern_White_Space.js(default) -test/built-ins/RegExp/property-escapes/generated/Pattern_White_Space.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Quotation_Mark.js(default) -test/built-ins/RegExp/property-escapes/generated/Quotation_Mark.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Radical.js(default) -test/built-ins/RegExp/property-escapes/generated/Radical.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Anatolian_Hieroglyphs.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Anatolian_Hieroglyphs.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Armenian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Armenian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bassa_Vah.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bassa_Vah.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bamum.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bamum.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Batak.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Batak.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bengali.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bengali.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bhaiksuki.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bhaiksuki.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bopomofo.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Bopomofo.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Braille.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Braille.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Buginese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Buginese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Buhid.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Buhid.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Caucasian_Albanian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Caucasian_Albanian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cherokee.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cherokee.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Common.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Common.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Coptic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Coptic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cuneiform.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cuneiform.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cypriot.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cypriot.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Deseret.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Deseret.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Duployan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Duployan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Elbasan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Elbasan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Georgian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Georgian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Grantha.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Grantha.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Greek.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Greek.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gujarati.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gujarati.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gurmukhi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gurmukhi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Han.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Han.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hangul.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hangul.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hanunoo.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hanunoo.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hatran.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hatran.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hebrew.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hebrew.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Imperial_Aramaic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Imperial_Aramaic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Pahlavi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Pahlavi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Parthian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Parthian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Javanese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Javanese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kayah_Li.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kayah_Li.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kharoshthi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Kharoshthi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khmer.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khmer.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khudawadi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khudawadi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lepcha.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lepcha.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Limbu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Limbu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Linear_A.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Linear_A.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Linear_B.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Linear_B.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lisu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lisu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lydian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Lydian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mahajani.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mahajani.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Malayalam.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Malayalam.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mandaic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mandaic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Manichaean.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Manichaean.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Marchen.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Marchen.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Meetei_Mayek.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Meetei_Mayek.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mende_Kikakui.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mende_Kikakui.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Cursive.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Cursive.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Hieroglyphs.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Hieroglyphs.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Miao.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Miao.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Modi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Modi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mro.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Mro.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Multani.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Multani.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nabataean.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nabataean.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_New_Tai_Lue.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_New_Tai_Lue.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Newa.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Newa.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nko.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nko.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ogham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ogham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ol_Chiki.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ol_Chiki.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Hungarian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Hungarian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Italic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Italic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_North_Arabian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_North_Arabian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Permic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Permic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Persian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Persian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_South_Arabian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_South_Arabian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Turkic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Turkic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Oriya.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Oriya.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Osage.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Osage.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Osmanya.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Osmanya.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Pahawh_Hmong.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Pahawh_Hmong.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Pau_Cin_Hau.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Pau_Cin_Hau.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Phags_Pa.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Phags_Pa.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Palmyrene.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Palmyrene.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Phoenician.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Phoenician.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Psalter_Pahlavi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Psalter_Pahlavi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Rejang.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Rejang.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Runic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Runic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Samaritan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Samaritan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Saurashtra.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Saurashtra.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sharada.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sharada.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Shavian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Shavian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Siddham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Siddham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_SignWriting.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_SignWriting.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sinhala.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sinhala.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sora_Sompeng.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sora_Sompeng.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sundanese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sundanese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Syloti_Nagri.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Syloti_Nagri.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Syriac.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Syriac.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tagbanwa.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tagbanwa.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Le.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Le.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Tham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Tham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Viet.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Viet.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tamil.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tamil.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tangut.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tangut.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Thaana.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Thaana.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Thai.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Thai.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tibetan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tibetan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tifinagh.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tifinagh.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tirhuta.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Tirhuta.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ugaritic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Ugaritic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Vai.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Vai.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Warang_Citi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Warang_Citi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Yi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Yi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Anatolian_Hieroglyphs.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Anatolian_Hieroglyphs.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bamum.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bamum.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bassa_Vah.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bassa_Vah.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Batak.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Batak.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bhaiksuki.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bhaiksuki.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Braille.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Braille.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buginese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buginese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buhid.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buhid.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chakma.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chakma.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cuneiform.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cuneiform.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypriot.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypriot.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Deseret.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Deseret.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Grantha.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Grantha.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gujarati.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gujarati.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gurmukhi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gurmukhi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hangul.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hangul.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanunoo.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanunoo.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hatran.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hatran.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Imperial_Aramaic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Imperial_Aramaic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Pahlavi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Pahlavi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Parthian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Parthian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Javanese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Javanese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kayah_Li.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kayah_Li.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kharoshthi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kharoshthi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khmer.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khmer.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khudawadi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khudawadi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lepcha.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lepcha.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Limbu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Limbu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_A.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_A.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_B.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_B.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mandaic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mandaic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Marchen.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Marchen.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meetei_Mayek.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meetei_Mayek.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mende_Kikakui.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mende_Kikakui.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Cursive.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Cursive.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Miao.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Miao.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Modi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Modi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mro.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mro.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Multani.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Multani.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nabataean.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nabataean.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_New_Tai_Lue.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_New_Tai_Lue.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Newa.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Newa.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ogham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ogham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ol_Chiki.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ol_Chiki.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Italic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Italic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_North_Arabian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_North_Arabian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Persian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Persian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_South_Arabian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_South_Arabian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Oriya.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Oriya.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osmanya.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osmanya.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pahawh_Hmong.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pahawh_Hmong.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Palmyrene.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Palmyrene.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pau_Cin_Hau.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pau_Cin_Hau.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phoenician.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phoenician.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Psalter_Pahlavi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Psalter_Pahlavi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Rejang.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Rejang.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Saurashtra.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Saurashtra.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Siddham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Siddham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_SignWriting.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_SignWriting.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sora_Sompeng.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sora_Sompeng.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sundanese.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sundanese.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syloti_Nagri.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syloti_Nagri.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagbanwa.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagbanwa.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Tham.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Tham.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Viet.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Viet.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tamil.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tamil.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thaana.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thaana.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tirhuta.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tirhuta.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ugaritic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ugaritic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vai.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vai.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Warang_Citi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Warang_Citi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js(default) -test/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js(default) -test/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js(default) -test/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js(default) -test/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Uppercase.js(default) -test/built-ins/RegExp/property-escapes/generated/Uppercase.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Variation_Selector.js(default) -test/built-ins/RegExp/property-escapes/generated/Variation_Selector.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/White_Space.js(default) -test/built-ins/RegExp/property-escapes/generated/White_Space.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/XID_Continue.js(default) -test/built-ins/RegExp/property-escapes/generated/XID_Continue.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/XID_Start.js(default) -test/built-ins/RegExp/property-escapes/generated/XID_Start.js(strict mode) test/annexB/built-ins/escape/escape-above-astral.js(default) test/annexB/built-ins/escape/escape-above-astral.js(strict mode) @@ -1574,54 +848,6 @@ test/language/statements/while/let-identifier-with-newline.js(default) test/language/statements/with/let-block-with-newline.js(default) test/language/statements/with/let-identifier-with-newline.js(default) test/annexB/language/statements/labeled/function-declaration.js(default) -test/built-ins/RegExp/property-escapes/generated/Extended_Pictographic.js(default) -test/built-ins/RegExp/property-escapes/generated/Extended_Pictographic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Regional_Indicator.js(default) -test/built-ins/RegExp/property-escapes/generated/Regional_Indicator.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Dogra.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Dogra.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gunjala_Gondi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Gunjala_Gondi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hanifi_Rohingya.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Hanifi_Rohingya.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Makasar.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Makasar.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Masaram_Gondi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Masaram_Gondi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Medefaidrin.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Medefaidrin.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nushu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nushu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Sogdian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Sogdian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sogdian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Sogdian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Soyombo.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Soyombo.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Zanabazar_Square.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Zanabazar_Square.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dogra.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dogra.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanifi_Rohingya.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanifi_Rohingya.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Makasar.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Makasar.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Masaram_Gondi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Masaram_Gondi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Medefaidrin.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Medefaidrin.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nushu.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nushu.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Sogdian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Sogdian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sogdian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sogdian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Soyombo.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Soyombo.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Zanabazar_Square.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Zanabazar_Square.js(strict mode) test/intl402/RelativeTimeFormat/prototype/format/en-us-style-short.js(default) test/intl402/RelativeTimeFormat/prototype/format/en-us-style-short.js(strict mode) test/intl402/RelativeTimeFormat/prototype/format/value-tonumber.js(default) @@ -9440,38 +8666,6 @@ test/built-ins/Function/prototype/toString/private-static-method-class-expressio test/built-ins/Function/prototype/toString/private-static-method-class-expression.js(strict mode) test/built-ins/Function/prototype/toString/private-static-method-class-statement.js(default) test/built-ins/Function/prototype/toString/private-static-method-class-statement.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Chorasmian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Chorasmian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Dives_Akuru.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Dives_Akuru.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Elymaic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Elymaic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nandinagari.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nandinagari.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nyiakeng_Puachue_Hmong.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Nyiakeng_Puachue_Hmong.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Wancho.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Wancho.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_-_Yezidi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_-_Yezidi.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chorasmian.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chorasmian.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dives_Akuru.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dives_Akuru.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elymaic.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elymaic.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nandinagari.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nandinagari.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nyiakeng_Puachue_Hmong.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nyiakeng_Puachue_Hmong.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Wancho.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Wancho.js(strict mode) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yezidi.js(default) -test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yezidi.js(strict mode) test/built-ins/RegExp/prototype/Symbol.replace/named-groups.js(default) test/built-ins/RegExp/prototype/Symbol.replace/named-groups.js(strict mode) test/intl402/NumberFormat/prototype/formatToParts/notation-compact-de-DE.js(default) diff --git a/tests/unit/parser.js b/tests/unit/parser.js index f58b73a93a..42c4b4bc15 100644 --- a/tests/unit/parser.js +++ b/tests/unit/parser.js @@ -1038,6 +1038,102 @@ exports.regexp.dotAll = function (test) { test.done(); }; +exports.regexp.unicodePropertyEscape = function (test) { + TestRun(test, "requires `esversion: 9`") + .addError(1, 6, "'Unicode property escape' is only available in ES9 (use 'esversion: 9').") + .test("void /\\p{Any}/u;", { esversion: 8 }); + + TestRun(test, "restricted in character class ranges") + .addError(1, 6, "Invalid regular expression.") + .test("void /[--\\p{Any}]/u;", { esversion: 9 }); + + TestRun(test, "rejects missing delimiter") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p /u;", { esversion: 9 }); + + TestRun(test, "rejects omitted sequence") + .addError(1, 6, "Unclosed regular expression.") + .addError(1, 6, "Unrecoverable syntax error. (100% scanned).") + .test("void /\\p{Any/u;", { esversion: 9 }); + + TestRun(test, "rejects unterminated sequence") + .addError(1, 6, "Unclosed regular expression.") + .addError(1, 6, "Unrecoverable syntax error. (100% scanned).") + .test("void /\\p{Any/u;", { esversion: 9 }); + + TestRun(test, "rejects invalid General_Category values") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{General_Category=Adlam}/u;", { esversion: 9 }); + + TestRun(test, "rejects invalid Script values") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{Script=Cased_Letter}/u;", { esversion: 9 }); + + TestRun(test, "rejects invalid Script_Extensions values") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{Script_Extensions=Cased_Letter}/u;", { esversion: 9 }); + + TestRun(test, "rejects Script values as shorthand") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{Adlam}/u;", { esversion: 9 }); + + TestRun(test, "rejects invalid names") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{hasOwnProperty=Cased_Letter}/u;", { esversion: 9 }); + + TestRun(test, "rejects invalid values") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{hasOwnProperty}/u;", { esversion: 9 }); + + TestRun(test, "rejects invalid values") + .addError(1, 6, "Invalid regular expression.") + .test("void /\\p{General_Category=hasOwnProperty}/u;", { esversion: 9 }); + + TestRun(test, "tolerates errors without `u` flag") + .test([ + "void /\\p/;", + "void /\\p{}/;" + ], { esversion: 9 }); + + TestRun(test, "accepts valid binary aliases") + .test([ + "void /\\p{ASCII}/u;", + "void /\\P{ASCII}/u;", + ], { esversion: 9 }); + + TestRun(test, "accepts valid General_Category values") + .test([ + "void /\\p{General_Category=Cased_Letter}/u;", + "void /\\p{gc=Cased_Letter}/u;", + "void /\\P{General_Category=Cased_Letter}/u;", + "void /\\P{gc=Cased_Letter}/u;" + ], { esversion: 9 }); + + TestRun(test, "accepts General_Category values shorthand") + .test([ + "void /\\p{Cased_Letter}/u;", + "void /\\P{Cased_Letter}/u;" + ], { esversion: 9 }); + + TestRun(test, "accepts valid Script values") + .test([ + "void /\\p{Script=Adlam}/u;", + "void /\\p{sc=Adlam}/u;", + "void /\\P{Script=Adlam}/u;", + "void /\\P{sc=Adlam}/u;" + ], { esversion: 9 }); + + TestRun(test, "accepts valid Script_Extensions values") + .test([ + "void /\\p{Script_Extensions=Adlam}/u;", + "void /\\p{scx=Adlam}/u;", + "void /\\P{Script_Extensions=Adlam}/u;", + "void /\\P{scx=Adlam}/u;" + ], { esversion: 9 }); + + test.done(); +}; + exports.regexp.regressions = function (test) { // GH-536 TestRun(test).test("str /= 5;", {es3: true}, { str: true });