diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/tests/test262/built-ins/RegExp/property-escapes | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/property-escapes')
550 files changed, 71369 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js new file mode 100644 index 0000000000..7331a3342e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=F}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js new file mode 100644 index 0000000000..2e53e37be8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=F}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js new file mode 100644 index 0000000000..e398ae8f84 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=Invalid}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js new file mode 100644 index 0000000000..f297a72424 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=Invalid}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js new file mode 100644 index 0000000000..3696bd4579 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=N}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js new file mode 100644 index 0000000000..9275f4ffcc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=N}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js new file mode 100644 index 0000000000..450bb142a1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=No}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js new file mode 100644 index 0000000000..1342d0e3f7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=No}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js new file mode 100644 index 0000000000..c2bbe2db95 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=T}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js new file mode 100644 index 0000000000..01c4ddcdc1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=T}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js new file mode 100644 index 0000000000..052799975a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=Y}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js new file mode 100644 index 0000000000..921e2510c4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=Y}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js new file mode 100644 index 0000000000..94f4e523a2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASCII=Yes}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js new file mode 100644 index 0000000000..35370f890c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASCII=Yes}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/browser.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/browser.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/browser.js diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-end.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-end.js new file mode 100644 index 0000000000..6233ff6a05 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-end.js @@ -0,0 +1,21 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of the first ClassAtom is + true or IsCharacterClass of the second ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[--\p{Hex}]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js new file mode 100644 index 0000000000..16aafcce6a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js @@ -0,0 +1,21 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRangesNoDash :: ClassAtomNoDash - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of ClassAtomNoDash is true or + IsCharacterClass of ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\uFFFF-\p{Hex}]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js new file mode 100644 index 0000000000..3db35ec9b7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js @@ -0,0 +1,21 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRangesNoDash :: ClassAtomNoDash - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of ClassAtomNoDash is true or + IsCharacterClass of ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\p{Hex}-\uFFFF]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-start.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-start.js new file mode 100644 index 0000000000..c430925a34 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class-range-start.js @@ -0,0 +1,21 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of the first ClassAtom is + true or IsCharacterClass of the second ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\p{Hex}--]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class.js new file mode 100644 index 0000000000..f7bf696d4e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/character-class.js @@ -0,0 +1,19 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes must be supported in character classes. +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +---*/ + +/[\p{Hex}]/u; + +assert( + /[\p{Hex}\P{Hex}]/u.test('\u{1D306}'), + 'multiple property escapes in a single character class should be supported' +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ASCII.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ASCII.js new file mode 100644 index 0000000000..e217e15a4e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ASCII.js @@ -0,0 +1,42 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `ASCII` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00007F] + ] +}); +testPropertyEscapes( + /^\p{ASCII}+$/u, + matchSymbols, + "\\p{ASCII}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000080, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{ASCII}+$/u, + nonMatchSymbols, + "\\P{ASCII}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ASCII_Hex_Digit.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ASCII_Hex_Digit.js new file mode 100644 index 0000000000..9c5b712e61 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ASCII_Hex_Digit.js @@ -0,0 +1,57 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `ASCII_Hex_Digit` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x000046], + [0x000061, 0x000066] + ] +}); +testPropertyEscapes( + /^\p{ASCII_Hex_Digit}+$/u, + matchSymbols, + "\\p{ASCII_Hex_Digit}" +); +testPropertyEscapes( + /^\p{AHex}+$/u, + matchSymbols, + "\\p{AHex}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x000047, 0x000060], + [0x000067, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{ASCII_Hex_Digit}+$/u, + nonMatchSymbols, + "\\P{ASCII_Hex_Digit}" +); +testPropertyEscapes( + /^\P{AHex}+$/u, + nonMatchSymbols, + "\\P{AHex}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js new file mode 100644 index 0000000000..fbc3ccfeeb --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js @@ -0,0 +1,1443 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Alphabetic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000B5, + 0x0000BA, + 0x0002EC, + 0x0002EE, + 0x000345, + 0x00037F, + 0x000386, + 0x00038C, + 0x000559, + 0x0005BF, + 0x0005C7, + 0x0006FF, + 0x0007FA, + 0x0009B2, + 0x0009CE, + 0x0009D7, + 0x0009FC, + 0x000A51, + 0x000A5E, + 0x000AD0, + 0x000B71, + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x000CDE, + 0x000D4E, + 0x000DBD, + 0x000DD6, + 0x000E4D, + 0x000E84, + 0x000EA5, + 0x000EC6, + 0x000ECD, + 0x000F00, + 0x001038, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017D7, + 0x0017DC, + 0x001AA7, + 0x001CFA, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002071, + 0x00207F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x002D6F, + 0x002E2F, + 0x00A8C5, + 0x00A8FB, + 0x00A9CF, + 0x00AAC0, + 0x00AAC2, + 0x00FB3E, + 0x010808, + 0x01083C, + 0x010F27, + 0x011176, + 0x0111DA, + 0x0111DC, + 0x011237, + 0x01123E, + 0x011288, + 0x011350, + 0x011357, + 0x0114C7, + 0x011640, + 0x011644, + 0x0116B8, + 0x011909, + 0x0119E1, + 0x011A9D, + 0x011C40, + 0x011D3A, + 0x011D43, + 0x011D98, + 0x011FB0, + 0x016FE3, + 0x01BC9E, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E14E, + 0x01E947, + 0x01E94B, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000370, 0x000374], + [0x000376, 0x000377], + [0x00037A, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x0005B0, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000610, 0x00061A], + [0x000620, 0x000657], + [0x000659, 0x00065F], + [0x00066E, 0x0006D3], + [0x0006D5, 0x0006DC], + [0x0006E1, 0x0006E8], + [0x0006ED, 0x0006EF], + [0x0006FA, 0x0006FC], + [0x000710, 0x00073F], + [0x00074D, 0x0007B1], + [0x0007CA, 0x0007EA], + [0x0007F4, 0x0007F5], + [0x000800, 0x000817], + [0x00081A, 0x00082C], + [0x000840, 0x000858], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D4, 0x0008DF], + [0x0008E3, 0x0008E9], + [0x0008F0, 0x00093B], + [0x00093D, 0x00094C], + [0x00094E, 0x000950], + [0x000955, 0x000963], + [0x000971, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BD, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CC], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009F0, 0x0009F1], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4C], + [0x000A59, 0x000A5C], + [0x000A70, 0x000A75], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABD, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACC], + [0x000AE0, 0x000AE3], + [0x000AF9, 0x000AFC], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3D, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4C], + [0x000B56, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCC], + [0x000C00, 0x000C03], + [0x000C05, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4C], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C80, 0x000C83], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBD, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCC], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CF1, 0x000CF2], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D3A], + [0x000D3D, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4C], + [0x000D54, 0x000D57], + [0x000D5F, 0x000D63], + [0x000D7A, 0x000D7F], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DF2, 0x000DF3], + [0x000E01, 0x000E3A], + [0x000E40, 0x000E46], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EB9], + [0x000EBB, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EDC, 0x000EDF], + [0x000F40, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F81], + [0x000F88, 0x000F97], + [0x000F99, 0x000FBC], + [0x001000, 0x001036], + [0x00103B, 0x00103F], + [0x001050, 0x00108F], + [0x00109A, 0x00109D], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x001380, 0x00138F], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001713], + [0x001720, 0x001733], + [0x001740, 0x001753], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773], + [0x001780, 0x0017B3], + [0x0017B6, 0x0017C8], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x001938], + [0x001950, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x001A00, 0x001A1B], + [0x001A20, 0x001A5E], + [0x001A61, 0x001A74], + [0x001ABF, 0x001AC0], + [0x001B00, 0x001B33], + [0x001B35, 0x001B43], + [0x001B45, 0x001B4B], + [0x001B80, 0x001BA9], + [0x001BAC, 0x001BAF], + [0x001BBA, 0x001BE5], + [0x001BE7, 0x001BF1], + [0x001C00, 0x001C36], + [0x001C4D, 0x001C4F], + [0x001C5A, 0x001C7D], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x001D00, 0x001DBF], + [0x001DE7, 0x001DF4], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x002090, 0x00209C], + [0x00210A, 0x002113], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x00212F, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002160, 0x002188], + [0x0024B6, 0x0024E9], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x002D30, 0x002D67], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002DE0, 0x002DFF], + [0x003005, 0x003007], + [0x003021, 0x003029], + [0x003031, 0x003035], + [0x003038, 0x00303C], + [0x003041, 0x003096], + [0x00309D, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A4D0, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A61F], + [0x00A62A, 0x00A62B], + [0x00A640, 0x00A66E], + [0x00A674, 0x00A67B], + [0x00A67F, 0x00A6EF], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A805], + [0x00A807, 0x00A827], + [0x00A840, 0x00A873], + [0x00A880, 0x00A8C3], + [0x00A8F2, 0x00A8F7], + [0x00A8FD, 0x00A8FF], + [0x00A90A, 0x00A92A], + [0x00A930, 0x00A952], + [0x00A960, 0x00A97C], + [0x00A980, 0x00A9B2], + [0x00A9B4, 0x00A9BF], + [0x00A9E0, 0x00A9EF], + [0x00A9FA, 0x00A9FE], + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA60, 0x00AA76], + [0x00AA7A, 0x00AABE], + [0x00AADB, 0x00AADD], + [0x00AAE0, 0x00AAEF], + [0x00AAF2, 0x00AAF5], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB70, 0x00ABEA], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1D, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFB], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010140, 0x010174], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x01034A], + [0x010350, 0x01037A], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x0103D1, 0x0103D5], + [0x010400, 0x01049D], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A00, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE4], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010D00, 0x010D27], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAC], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F45], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011000, 0x011045], + [0x011082, 0x0110B8], + [0x0110D0, 0x0110E8], + [0x011100, 0x011132], + [0x011144, 0x011147], + [0x011150, 0x011172], + [0x011180, 0x0111BF], + [0x0111C1, 0x0111C4], + [0x0111CE, 0x0111CF], + [0x011200, 0x011211], + [0x011213, 0x011234], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112E8], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133D, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134C], + [0x01135D, 0x011363], + [0x011400, 0x011441], + [0x011443, 0x011445], + [0x011447, 0x01144A], + [0x01145F, 0x011461], + [0x011480, 0x0114C1], + [0x0114C4, 0x0114C5], + [0x011580, 0x0115B5], + [0x0115B8, 0x0115BE], + [0x0115D8, 0x0115DD], + [0x011600, 0x01163E], + [0x011680, 0x0116B5], + [0x011700, 0x01171A], + [0x01171D, 0x01172A], + [0x011800, 0x011838], + [0x0118A0, 0x0118DF], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x01193C], + [0x01193F, 0x011942], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119DF], + [0x0119E3, 0x0119E4], + [0x011A00, 0x011A32], + [0x011A35, 0x011A3E], + [0x011A50, 0x011A97], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C3E], + [0x011C72, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D41], + [0x011D46, 0x011D47], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D96], + [0x011EE0, 0x011EF6], + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016AD0, 0x016AED], + [0x016B00, 0x016B2F], + [0x016B40, 0x016B43], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E7F], + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E100, 0x01E12C], + [0x01E137, 0x01E13D], + [0x01E2C0, 0x01E2EB], + [0x01E800, 0x01E8C4], + [0x01E900, 0x01E943], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01F130, 0x01F149], + [0x01F150, 0x01F169], + [0x01F170, 0x01F189], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{Alphabetic}+$/u, + matchSymbols, + "\\p{Alphabetic}" +); +testPropertyEscapes( + /^\p{Alpha}+$/u, + matchSymbols, + "\\p{Alpha}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000530, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x000658, + 0x0006D4, + 0x0008B5, + 0x00093C, + 0x00094D, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009CD, + 0x0009DE, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A5D, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x000C04, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57, + 0x000C84, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49, + 0x000D4D, + 0x000D80, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EBA, + 0x000EC5, + 0x000F48, + 0x000F98, + 0x001037, + 0x0010C6, + 0x0010FB, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x001771, + 0x00191F, + 0x001B34, + 0x001B44, + 0x001BE6, + 0x001CED, + 0x001CF4, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002DDF, + 0x0030A0, + 0x0030FB, + 0x003130, + 0x00A806, + 0x00A8C4, + 0x00A8FC, + 0x00A9B3, + 0x00A9FF, + 0x00AABF, + 0x00AAC1, + 0x00AB27, + 0x00AB2F, + 0x00AB5B, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE75, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x0103D0, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A04, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x010EAA, + 0x0111C0, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x011442, + 0x011446, + 0x0114C6, + 0x01163F, + 0x011914, + 0x011917, + 0x011936, + 0x0119E0, + 0x0119E2, + 0x011C09, + 0x011C37, + 0x011C3F, + 0x011CA8, + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E, + 0x011D42, + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92, + 0x011D97, + 0x016FE2, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01E007, + 0x01E022, + 0x01E025, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B6, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x000344], + [0x000346, 0x00036F], + [0x000378, 0x000379], + [0x000380, 0x000385], + [0x000482, 0x000489], + [0x000557, 0x000558], + [0x00055A, 0x00055F], + [0x000589, 0x0005AF], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00060F], + [0x00061B, 0x00061F], + [0x000660, 0x00066D], + [0x0006DD, 0x0006E0], + [0x0006E9, 0x0006EC], + [0x0006F0, 0x0006F9], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x000740, 0x00074C], + [0x0007B2, 0x0007C9], + [0x0007EB, 0x0007F3], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FF], + [0x000818, 0x000819], + [0x00082D, 0x00083F], + [0x000859, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x0008D3], + [0x0008E0, 0x0008E2], + [0x0008EA, 0x0008EF], + [0x000951, 0x000954], + [0x000964, 0x000970], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BC], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009EF], + [0x0009F2, 0x0009FB], + [0x0009FD, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3D], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4D, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A6F], + [0x000A76, 0x000A80], + [0x000ABA, 0x000ABC], + [0x000ACD, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AF8], + [0x000AFD, 0x000B00], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3C], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4D, 0x000B55], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B70], + [0x000B72, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCD, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4D, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C7F], + [0x000CBA, 0x000CBC], + [0x000CCD, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CF0], + [0x000CF3, 0x000CFF], + [0x000D3B, 0x000D3C], + [0x000D4F, 0x000D53], + [0x000D58, 0x000D5E], + [0x000D64, 0x000D79], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DCE], + [0x000DE0, 0x000DF1], + [0x000DF4, 0x000E00], + [0x000E3B, 0x000E3F], + [0x000E47, 0x000E4C], + [0x000E4E, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000EC7, 0x000ECC], + [0x000ECE, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F3F], + [0x000F6D, 0x000F70], + [0x000F82, 0x000F87], + [0x000FBD, 0x000FFF], + [0x001039, 0x00103A], + [0x001040, 0x00104F], + [0x001090, 0x001099], + [0x00109E, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00137F], + [0x001390, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x0016FF], + [0x001714, 0x00171F], + [0x001734, 0x00173F], + [0x001754, 0x00175F], + [0x001774, 0x00177F], + [0x0017B4, 0x0017B5], + [0x0017C9, 0x0017D6], + [0x0017D8, 0x0017DB], + [0x0017DD, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00192C, 0x00192F], + [0x001939, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019FF], + [0x001A1C, 0x001A1F], + [0x001A5F, 0x001A60], + [0x001A75, 0x001AA6], + [0x001AA8, 0x001ABE], + [0x001AC1, 0x001AFF], + [0x001B4C, 0x001B7F], + [0x001BAA, 0x001BAB], + [0x001BB0, 0x001BB9], + [0x001BF2, 0x001BFF], + [0x001C37, 0x001C4C], + [0x001C50, 0x001C59], + [0x001C7E, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001CFB, 0x001CFF], + [0x001DC0, 0x001DE6], + [0x001DF5, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x0024B5], + [0x0024EA, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D70, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002E00, 0x002E2E], + [0x002E30, 0x003004], + [0x003008, 0x003020], + [0x00302A, 0x003030], + [0x003036, 0x003037], + [0x00303D, 0x003040], + [0x003097, 0x00309C], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A620, 0x00A629], + [0x00A62C, 0x00A63F], + [0x00A66F, 0x00A673], + [0x00A67C, 0x00A67E], + [0x00A6F0, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A828, 0x00A83F], + [0x00A874, 0x00A87F], + [0x00A8C6, 0x00A8F1], + [0x00A8F8, 0x00A8FA], + [0x00A900, 0x00A909], + [0x00A92B, 0x00A92F], + [0x00A953, 0x00A95F], + [0x00A97D, 0x00A97F], + [0x00A9C0, 0x00A9CE], + [0x00A9D0, 0x00A9DF], + [0x00A9F0, 0x00A9F9], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AAC3, 0x00AADA], + [0x00AADE, 0x00AADF], + [0x00AAF0, 0x00AAF1], + [0x00AAF6, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6A, 0x00AB6F], + [0x00ABEB, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFC, 0x00FE6F], + [0x00FEFD, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x00FF65], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01013F], + [0x010175, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034B, 0x01034F], + [0x01037B, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE5, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CFF], + [0x010D28, 0x010E7F], + [0x010EAD, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F46, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x011046, 0x011081], + [0x0110B9, 0x0110CF], + [0x0110E9, 0x0110FF], + [0x011133, 0x011143], + [0x011148, 0x01114F], + [0x011173, 0x011175], + [0x011177, 0x01117F], + [0x0111C5, 0x0111CD], + [0x0111D0, 0x0111D9], + [0x0111DD, 0x0111FF], + [0x011235, 0x011236], + [0x011238, 0x01123D], + [0x01123F, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112E9, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133C], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134D, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x0113FF], + [0x01144B, 0x01145E], + [0x011462, 0x01147F], + [0x0114C2, 0x0114C3], + [0x0114C8, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115BF, 0x0115D7], + [0x0115DE, 0x0115FF], + [0x011641, 0x011643], + [0x011645, 0x01167F], + [0x0116B6, 0x0116B7], + [0x0116B9, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172B, 0x0117FF], + [0x011839, 0x01189F], + [0x0118E0, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x01193D, 0x01193E], + [0x011943, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x0119FF], + [0x011A33, 0x011A34], + [0x011A3F, 0x011A4F], + [0x011A98, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C41, 0x011C71], + [0x011C90, 0x011C91], + [0x011CB7, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D44, 0x011D45], + [0x011D48, 0x011D5F], + [0x011D99, 0x011EDF], + [0x011EF7, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x0123FF], + [0x01246F, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A5F, 0x016ACF], + [0x016AEE, 0x016AFF], + [0x016B30, 0x016B3F], + [0x016B44, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E80, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE4, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9D], + [0x01BC9F, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E0FF], + [0x01E12D, 0x01E136], + [0x01E13E, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2EC, 0x01E7FF], + [0x01E8C5, 0x01E8FF], + [0x01E944, 0x01E946], + [0x01E948, 0x01E94A], + [0x01E94C, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01F12F], + [0x01F14A, 0x01F14F], + [0x01F16A, 0x01F16F], + [0x01F18A, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Alphabetic}+$/u, + nonMatchSymbols, + "\\P{Alphabetic}" +); +testPropertyEscapes( + /^\P{Alpha}+$/u, + nonMatchSymbols, + "\\P{Alpha}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Any.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Any.js new file mode 100644 index 0000000000..67df69083f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Any.js @@ -0,0 +1,35 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Any` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\p{Any}+$/u, + matchSymbols, + "\\p{Any}" +); + +assert( + !/\P{Any}/u.test(""), + "`\\P{Any}` should match nothing (not even the empty string)" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Assigned.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Assigned.js new file mode 100644 index 0000000000..683e674a08 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Assigned.js @@ -0,0 +1,1396 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Assigned` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00038C, + 0x00085E, + 0x0009B2, + 0x0009D7, + 0x000A3C, + 0x000A51, + 0x000A5E, + 0x000AD0, + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x000CDE, + 0x000DBD, + 0x000DCA, + 0x000DD6, + 0x000E84, + 0x000EA5, + 0x000EC6, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x001940, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x002D27, + 0x002D2D, + 0x00FB3E, + 0x00FEFF, + 0x0101A0, + 0x01056F, + 0x010808, + 0x01083C, + 0x01093F, + 0x0110CD, + 0x011288, + 0x011350, + 0x011357, + 0x011909, + 0x011D3A, + 0x011FB0, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E2FF, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E, + 0x0E0001 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000377], + [0x00037A, 0x00037F], + [0x000384, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x00052F], + [0x000531, 0x000556], + [0x000559, 0x00058A], + [0x00058D, 0x00058F], + [0x000591, 0x0005C7], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F4], + [0x000600, 0x00061C], + [0x00061E, 0x00070D], + [0x00070F, 0x00074A], + [0x00074D, 0x0007B1], + [0x0007C0, 0x0007FA], + [0x0007FD, 0x00082D], + [0x000830, 0x00083E], + [0x000840, 0x00085B], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009FE], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A76], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AF1], + [0x000AF9, 0x000AFF], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B77], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BFA], + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C77, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4F], + [0x000D54, 0x000D63], + [0x000D66, 0x000D7F], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF4], + [0x000E01, 0x000E3A], + [0x000E3F, 0x000E5B], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF], + [0x000F00, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F97], + [0x000F99, 0x000FBC], + [0x000FBE, 0x000FCC], + [0x000FCE, 0x000FDA], + [0x001000, 0x0010C5], + [0x0010D0, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00137C], + [0x001380, 0x001399], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001400, 0x00169C], + [0x0016A0, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001714], + [0x001720, 0x001736], + [0x001740, 0x001753], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773], + [0x001780, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x001800, 0x00180E], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001944, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x0019DE, 0x001A1B], + [0x001A1E, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AA0, 0x001AAD], + [0x001AB0, 0x001AC0], + [0x001B00, 0x001B4B], + [0x001B50, 0x001B7C], + [0x001B80, 0x001BF3], + [0x001BFC, 0x001C37], + [0x001C3B, 0x001C49], + [0x001C4D, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CC7], + [0x001CD0, 0x001CFA], + [0x001D00, 0x001DF9], + [0x001DFB, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FC4], + [0x001FC6, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FDD, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFE], + [0x002000, 0x002064], + [0x002066, 0x002071], + [0x002074, 0x00208E], + [0x002090, 0x00209C], + [0x0020A0, 0x0020BF], + [0x0020D0, 0x0020F0], + [0x002100, 0x00218B], + [0x002190, 0x002426], + [0x002440, 0x00244A], + [0x002460, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CF3], + [0x002CF9, 0x002D25], + [0x002D30, 0x002D67], + [0x002D6F, 0x002D70], + [0x002D7F, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002DE0, 0x002E52], + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x002FF0, 0x002FFB], + [0x003000, 0x00303F], + [0x003041, 0x003096], + [0x003099, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x003190, 0x0031E3], + [0x0031F0, 0x00321E], + [0x003220, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A490, 0x00A4C6], + [0x00A4D0, 0x00A62B], + [0x00A640, 0x00A6F7], + [0x00A700, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A82C], + [0x00A830, 0x00A839], + [0x00A840, 0x00A877], + [0x00A880, 0x00A8C5], + [0x00A8CE, 0x00A8D9], + [0x00A8E0, 0x00A953], + [0x00A95F, 0x00A97C], + [0x00A980, 0x00A9CD], + [0x00A9CF, 0x00A9D9], + [0x00A9DE, 0x00A9FE], + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA5C, 0x00AAC2], + [0x00AADB, 0x00AAF6], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB6B], + [0x00AB70, 0x00ABED], + [0x00ABF0, 0x00ABF9], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00D800, 0x00DBFF], + [0x00E000, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1D, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBC1], + [0x00FBD3, 0x00FD3F], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFD], + [0x00FE00, 0x00FE19], + [0x00FE20, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF01, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFF9, 0x00FFFD], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01018E], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FD], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x0102E0, 0x0102FB], + [0x010300, 0x010323], + [0x01032D, 0x01034A], + [0x010350, 0x01037A], + [0x010380, 0x01039D], + [0x01039F, 0x0103C3], + [0x0103C8, 0x0103D5], + [0x010400, 0x01049D], + [0x0104A0, 0x0104A9], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010857, 0x01089E], + [0x0108A7, 0x0108AF], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x0108FB, 0x01091B], + [0x01091F, 0x010939], + [0x010980, 0x0109B7], + [0x0109BC, 0x0109CF], + [0x0109D2, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A3F, 0x010A48], + [0x010A50, 0x010A58], + [0x010A60, 0x010A9F], + [0x010AC0, 0x010AE6], + [0x010AEB, 0x010AF6], + [0x010B00, 0x010B35], + [0x010B39, 0x010B55], + [0x010B58, 0x010B72], + [0x010B78, 0x010B91], + [0x010B99, 0x010B9C], + [0x010BA9, 0x010BAF], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010CFA, 0x010D27], + [0x010D30, 0x010D39], + [0x010E60, 0x010E7E], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAD], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F27], + [0x010F30, 0x010F59], + [0x010FB0, 0x010FCB], + [0x010FE0, 0x010FF6], + [0x011000, 0x01104D], + [0x011052, 0x01106F], + [0x01107F, 0x0110C1], + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9], + [0x011100, 0x011134], + [0x011136, 0x011147], + [0x011150, 0x011176], + [0x011180, 0x0111DF], + [0x0111E1, 0x0111F4], + [0x011200, 0x011211], + [0x011213, 0x01123E], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A9], + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133B, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011400, 0x01145B], + [0x01145D, 0x011461], + [0x011480, 0x0114C7], + [0x0114D0, 0x0114D9], + [0x011580, 0x0115B5], + [0x0115B8, 0x0115DD], + [0x011600, 0x011644], + [0x011650, 0x011659], + [0x011660, 0x01166C], + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9], + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x01173F], + [0x011800, 0x01183B], + [0x0118A0, 0x0118F2], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011946], + [0x011950, 0x011959], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E4], + [0x011A00, 0x011A47], + [0x011A50, 0x011AA2], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C45], + [0x011C50, 0x011C6C], + [0x011C70, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9], + [0x011EE0, 0x011EF8], + [0x011FC0, 0x011FF1], + [0x011FFF, 0x012399], + [0x012400, 0x01246E], + [0x012470, 0x012474], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x013430, 0x013438], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016A6E, 0x016A6F], + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF5], + [0x016B00, 0x016B45], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E9A], + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE4], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9C, 0x01BCA3], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D1E8], + [0x01D200, 0x01D245], + [0x01D2E0, 0x01D2F3], + [0x01D300, 0x01D356], + [0x01D360, 0x01D378], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01DA8B], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E14E, 0x01E14F], + [0x01E2C0, 0x01E2F9], + [0x01E800, 0x01E8C4], + [0x01E8C7, 0x01E8D6], + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01E95E, 0x01E95F], + [0x01EC71, 0x01ECB4], + [0x01ED01, 0x01ED3D], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F100, 0x01F1AD], + [0x01F1E6, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA], + [0x01FBF0, 0x01FBF9], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A], + [0x0E0020, 0x0E007F], + [0x0E0100, 0x0E01EF], + [0x0F0000, 0x0FFFFD], + [0x100000, 0x10FFFD] + ] +}); +testPropertyEscapes( + /^\p{Assigned}+$/u, + matchSymbols, + "\\p{Assigned}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00038B, + 0x00038D, + 0x0003A2, + 0x000530, + 0x000590, + 0x00061D, + 0x00070E, + 0x00083F, + 0x00085F, + 0x0008B5, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA, + 0x000B00, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49, + 0x000D80, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7, + 0x000F48, + 0x000F98, + 0x000FBD, + 0x000FCD, + 0x0010C6, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x00170D, + 0x00176D, + 0x001771, + 0x00180F, + 0x00191F, + 0x001A5F, + 0x001DFA, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FC5, + 0x001FDC, + 0x001FF5, + 0x001FFF, + 0x002065, + 0x00208F, + 0x002B96, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002DDF, + 0x002E9A, + 0x003040, + 0x003130, + 0x00318F, + 0x00321F, + 0x00A9CE, + 0x00A9FF, + 0x00AB27, + 0x00AB2F, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE53, + 0x00FE67, + 0x00FE75, + 0x00FF00, + 0x00FFE7, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x01018F, + 0x01039E, + 0x010809, + 0x010836, + 0x010856, + 0x0108F3, + 0x010A04, + 0x010A14, + 0x010A18, + 0x010E7F, + 0x010EAA, + 0x011135, + 0x0111E0, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133A, + 0x01145C, + 0x011914, + 0x011917, + 0x011936, + 0x011C09, + 0x011C37, + 0x011CA8, + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E, + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92, + 0x01246F, + 0x01342F, + 0x016A5F, + 0x016B5A, + 0x016B62, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA, + 0x01F0C0, + 0x01F0D0, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x000378, 0x000379], + [0x000380, 0x000383], + [0x000557, 0x000558], + [0x00058B, 0x00058C], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F5, 0x0005FF], + [0x00074B, 0x00074C], + [0x0007B2, 0x0007BF], + [0x0007FB, 0x0007FC], + [0x00082E, 0x00082F], + [0x00085C, 0x00085D], + [0x00086B, 0x00089F], + [0x0008C8, 0x0008D2], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009FF, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A77, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF2, 0x000AF8], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B78, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BFB, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C76], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x000CFF], + [0x000D50, 0x000D53], + [0x000D64, 0x000D65], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF5, 0x000E00], + [0x000E3B, 0x000E3E], + [0x000E5C, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F6D, 0x000F70], + [0x000FDB, 0x000FFF], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x00137D, 0x00137F], + [0x00139A, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x0013FF], + [0x00169D, 0x00169F], + [0x0016F9, 0x0016FF], + [0x001715, 0x00171F], + [0x001737, 0x00173F], + [0x001754, 0x00175F], + [0x001774, 0x00177F], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x0017FF], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x00193F], + [0x001941, 0x001943], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019DD], + [0x001A1C, 0x001A1D], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001A9F], + [0x001AAE, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B7D, 0x001B7F], + [0x001BF4, 0x001BFB], + [0x001C38, 0x001C3A], + [0x001C4A, 0x001C4C], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC8, 0x001CCF], + [0x001CFB, 0x001CFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FD4, 0x001FD5], + [0x001FF0, 0x001FF1], + [0x002072, 0x002073], + [0x00209D, 0x00209F], + [0x0020C0, 0x0020CF], + [0x0020F1, 0x0020FF], + [0x00218C, 0x00218F], + [0x002427, 0x00243F], + [0x00244B, 0x00245F], + [0x002B74, 0x002B75], + [0x002CF4, 0x002CF8], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D71, 0x002D7E], + [0x002D97, 0x002D9F], + [0x002E53, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FEF], + [0x002FFC, 0x002FFF], + [0x003097, 0x003098], + [0x003100, 0x003104], + [0x0031E4, 0x0031EF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A48F], + [0x00A4C7, 0x00A4CF], + [0x00A62C, 0x00A63F], + [0x00A6F8, 0x00A6FF], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A82D, 0x00A82F], + [0x00A83A, 0x00A83F], + [0x00A878, 0x00A87F], + [0x00A8C6, 0x00A8CD], + [0x00A8DA, 0x00A8DF], + [0x00A954, 0x00A95E], + [0x00A97D, 0x00A97F], + [0x00A9DA, 0x00A9DD], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5B], + [0x00AAC3, 0x00AADA], + [0x00AAF7, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6C, 0x00AB6F], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00D7FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBC2, 0x00FBD2], + [0x00FD40, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFE, 0x00FDFF], + [0x00FE1A, 0x00FE1F], + [0x00FE6C, 0x00FE6F], + [0x00FEFD, 0x00FEFE], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFDF], + [0x00FFEF, 0x00FFF8], + [0x00FFFE, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x01019D, 0x01019F], + [0x0101A1, 0x0101CF], + [0x0101FE, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102DF], + [0x0102FC, 0x0102FF], + [0x010324, 0x01032C], + [0x01034B, 0x01034F], + [0x01037B, 0x01037F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x01049F], + [0x0104AA, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x01056E], + [0x010570, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x01089F, 0x0108A6], + [0x0108B0, 0x0108DF], + [0x0108F6, 0x0108FA], + [0x01091C, 0x01091E], + [0x01093A, 0x01093E], + [0x010940, 0x01097F], + [0x0109B8, 0x0109BB], + [0x0109D0, 0x0109D1], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A49, 0x010A4F], + [0x010A59, 0x010A5F], + [0x010AA0, 0x010ABF], + [0x010AE7, 0x010AEA], + [0x010AF7, 0x010AFF], + [0x010B36, 0x010B38], + [0x010B56, 0x010B57], + [0x010B73, 0x010B77], + [0x010B92, 0x010B98], + [0x010B9D, 0x010BA8], + [0x010BB0, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CF9], + [0x010D28, 0x010D2F], + [0x010D3A, 0x010E5F], + [0x010EAE, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F28, 0x010F2F], + [0x010F5A, 0x010FAF], + [0x010FCC, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x01104E, 0x011051], + [0x011070, 0x01107E], + [0x0110C2, 0x0110CC], + [0x0110CE, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x0110FF], + [0x011148, 0x01114F], + [0x011177, 0x01117F], + [0x0111F5, 0x0111FF], + [0x01123F, 0x01127F], + [0x0112AA, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x0113FF], + [0x011462, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115DE, 0x0115FF], + [0x011645, 0x01164F], + [0x01165A, 0x01165F], + [0x01166D, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x011740, 0x0117FF], + [0x01183C, 0x01189F], + [0x0118F3, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011947, 0x01194F], + [0x01195A, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x0119FF], + [0x011A48, 0x011A4F], + [0x011AA3, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C46, 0x011C4F], + [0x011C6D, 0x011C6F], + [0x011C90, 0x011C91], + [0x011CB7, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x011EDF], + [0x011EF9, 0x011FAF], + [0x011FB1, 0x011FBF], + [0x011FF2, 0x011FFE], + [0x01239A, 0x0123FF], + [0x012475, 0x01247F], + [0x012544, 0x012FFF], + [0x013439, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A6A, 0x016A6D], + [0x016A70, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF6, 0x016AFF], + [0x016B46, 0x016B4F], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E9B, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE5, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9B], + [0x01BCA4, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D1E9, 0x01D1FF], + [0x01D246, 0x01D2DF], + [0x01D2F4, 0x01D2FF], + [0x01D357, 0x01D35F], + [0x01D379, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01DA8C, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E150, 0x01E2BF], + [0x01E2FA, 0x01E2FE], + [0x01E300, 0x01E7FF], + [0x01E8C5, 0x01E8C6], + [0x01E8D7, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01E95D], + [0x01E960, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F0FF], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x01FBEF], + [0x01FBFA, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x0E0000], + [0x0E0002, 0x0E001F], + [0x0E0080, 0x0E00FF], + [0x0E01F0, 0x0EFFFF], + [0x0FFFFE, 0x0FFFFF], + [0x10FFFE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Assigned}+$/u, + nonMatchSymbols, + "\\P{Assigned}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Bidi_Control.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Bidi_Control.js new file mode 100644 index 0000000000..0d6ed8b693 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Bidi_Control.js @@ -0,0 +1,60 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Bidi_Control` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00061C + ], + ranges: [ + [0x00200E, 0x00200F], + [0x00202A, 0x00202E], + [0x002066, 0x002069] + ] +}); +testPropertyEscapes( + /^\p{Bidi_Control}+$/u, + matchSymbols, + "\\p{Bidi_Control}" +); +testPropertyEscapes( + /^\p{Bidi_C}+$/u, + matchSymbols, + "\\p{Bidi_C}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00061B], + [0x00061D, 0x00200D], + [0x002010, 0x002029], + [0x00202F, 0x002065], + [0x00206A, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Bidi_Control}+$/u, + nonMatchSymbols, + "\\P{Bidi_Control}" +); +testPropertyEscapes( + /^\P{Bidi_C}+$/u, + nonMatchSymbols, + "\\P{Bidi_C}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js new file mode 100644 index 0000000000..66e5bd635b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js @@ -0,0 +1,279 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Bidi_Mirrored` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00003C, + 0x00003E, + 0x00005B, + 0x00005D, + 0x00007B, + 0x00007D, + 0x0000AB, + 0x0000BB, + 0x002140, + 0x002211, + 0x002224, + 0x002226, + 0x002239, + 0x002262, + 0x002298, + 0x0027C0, + 0x0029B8, + 0x0029C9, + 0x0029E1, + 0x002A24, + 0x002A26, + 0x002A29, + 0x002ADC, + 0x002ADE, + 0x002AF3, + 0x002AFD, + 0x002BFE, + 0x00FF1C, + 0x00FF1E, + 0x00FF3B, + 0x00FF3D, + 0x00FF5B, + 0x00FF5D, + 0x01D6DB, + 0x01D715, + 0x01D74F, + 0x01D789, + 0x01D7C3 + ], + ranges: [ + [0x000028, 0x000029], + [0x000F3A, 0x000F3D], + [0x00169B, 0x00169C], + [0x002039, 0x00203A], + [0x002045, 0x002046], + [0x00207D, 0x00207E], + [0x00208D, 0x00208E], + [0x002201, 0x002204], + [0x002208, 0x00220D], + [0x002215, 0x002216], + [0x00221A, 0x00221D], + [0x00221F, 0x002222], + [0x00222B, 0x002233], + [0x00223B, 0x00224C], + [0x002252, 0x002255], + [0x00225F, 0x002260], + [0x002264, 0x00226B], + [0x00226E, 0x00228C], + [0x00228F, 0x002292], + [0x0022A2, 0x0022A3], + [0x0022A6, 0x0022B8], + [0x0022BE, 0x0022BF], + [0x0022C9, 0x0022CD], + [0x0022D0, 0x0022D1], + [0x0022D6, 0x0022ED], + [0x0022F0, 0x0022FF], + [0x002308, 0x00230B], + [0x002320, 0x002321], + [0x002329, 0x00232A], + [0x002768, 0x002775], + [0x0027C3, 0x0027C6], + [0x0027C8, 0x0027C9], + [0x0027CB, 0x0027CD], + [0x0027D3, 0x0027D6], + [0x0027DC, 0x0027DE], + [0x0027E2, 0x0027EF], + [0x002983, 0x002998], + [0x00299B, 0x0029A0], + [0x0029A2, 0x0029AF], + [0x0029C0, 0x0029C5], + [0x0029CE, 0x0029D2], + [0x0029D4, 0x0029D5], + [0x0029D8, 0x0029DC], + [0x0029E3, 0x0029E5], + [0x0029E8, 0x0029E9], + [0x0029F4, 0x0029F9], + [0x0029FC, 0x0029FD], + [0x002A0A, 0x002A1C], + [0x002A1E, 0x002A21], + [0x002A2B, 0x002A2E], + [0x002A34, 0x002A35], + [0x002A3C, 0x002A3E], + [0x002A57, 0x002A58], + [0x002A64, 0x002A65], + [0x002A6A, 0x002A6D], + [0x002A6F, 0x002A70], + [0x002A73, 0x002A74], + [0x002A79, 0x002AA3], + [0x002AA6, 0x002AAD], + [0x002AAF, 0x002AD6], + [0x002AE2, 0x002AE6], + [0x002AEC, 0x002AEE], + [0x002AF7, 0x002AFB], + [0x002E02, 0x002E05], + [0x002E09, 0x002E0A], + [0x002E0C, 0x002E0D], + [0x002E1C, 0x002E1D], + [0x002E20, 0x002E29], + [0x003008, 0x003011], + [0x003014, 0x00301B], + [0x00FE59, 0x00FE5E], + [0x00FE64, 0x00FE65], + [0x00FF08, 0x00FF09], + [0x00FF5F, 0x00FF60], + [0x00FF62, 0x00FF63] + ] +}); +testPropertyEscapes( + /^\p{Bidi_Mirrored}+$/u, + matchSymbols, + "\\p{Bidi_Mirrored}" +); +testPropertyEscapes( + /^\p{Bidi_M}+$/u, + matchSymbols, + "\\p{Bidi_M}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00003D, + 0x00005C, + 0x00007C, + 0x00221E, + 0x002223, + 0x002225, + 0x00223A, + 0x002261, + 0x002263, + 0x0027C7, + 0x0027CA, + 0x0029A1, + 0x0029D3, + 0x0029E2, + 0x002A1D, + 0x002A25, + 0x002A2A, + 0x002A6E, + 0x002AAE, + 0x002ADD, + 0x002AFC, + 0x002E0B, + 0x00FF1D, + 0x00FF3C, + 0x00FF5C, + 0x00FF5E, + 0x00FF61 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000027], + [0x00002A, 0x00003B], + [0x00003F, 0x00005A], + [0x00005E, 0x00007A], + [0x00007E, 0x0000AA], + [0x0000AC, 0x0000BA], + [0x0000BC, 0x000F39], + [0x000F3E, 0x00169A], + [0x00169D, 0x002038], + [0x00203B, 0x002044], + [0x002047, 0x00207C], + [0x00207F, 0x00208C], + [0x00208F, 0x00213F], + [0x002141, 0x002200], + [0x002205, 0x002207], + [0x00220E, 0x002210], + [0x002212, 0x002214], + [0x002217, 0x002219], + [0x002227, 0x00222A], + [0x002234, 0x002238], + [0x00224D, 0x002251], + [0x002256, 0x00225E], + [0x00226C, 0x00226D], + [0x00228D, 0x00228E], + [0x002293, 0x002297], + [0x002299, 0x0022A1], + [0x0022A4, 0x0022A5], + [0x0022B9, 0x0022BD], + [0x0022C0, 0x0022C8], + [0x0022CE, 0x0022CF], + [0x0022D2, 0x0022D5], + [0x0022EE, 0x0022EF], + [0x002300, 0x002307], + [0x00230C, 0x00231F], + [0x002322, 0x002328], + [0x00232B, 0x002767], + [0x002776, 0x0027BF], + [0x0027C1, 0x0027C2], + [0x0027CE, 0x0027D2], + [0x0027D7, 0x0027DB], + [0x0027DF, 0x0027E1], + [0x0027F0, 0x002982], + [0x002999, 0x00299A], + [0x0029B0, 0x0029B7], + [0x0029B9, 0x0029BF], + [0x0029C6, 0x0029C8], + [0x0029CA, 0x0029CD], + [0x0029D6, 0x0029D7], + [0x0029DD, 0x0029E0], + [0x0029E6, 0x0029E7], + [0x0029EA, 0x0029F3], + [0x0029FA, 0x0029FB], + [0x0029FE, 0x002A09], + [0x002A22, 0x002A23], + [0x002A27, 0x002A28], + [0x002A2F, 0x002A33], + [0x002A36, 0x002A3B], + [0x002A3F, 0x002A56], + [0x002A59, 0x002A63], + [0x002A66, 0x002A69], + [0x002A71, 0x002A72], + [0x002A75, 0x002A78], + [0x002AA4, 0x002AA5], + [0x002AD7, 0x002ADB], + [0x002ADF, 0x002AE1], + [0x002AE7, 0x002AEB], + [0x002AEF, 0x002AF2], + [0x002AF4, 0x002AF6], + [0x002AFE, 0x002BFD], + [0x002BFF, 0x002E01], + [0x002E06, 0x002E08], + [0x002E0E, 0x002E1B], + [0x002E1E, 0x002E1F], + [0x002E2A, 0x003007], + [0x003012, 0x003013], + [0x00301C, 0x00DBFF], + [0x00E000, 0x00FE58], + [0x00FE5F, 0x00FE63], + [0x00FE66, 0x00FF07], + [0x00FF0A, 0x00FF1B], + [0x00FF1F, 0x00FF3A], + [0x00FF3E, 0x00FF5A], + [0x00FF64, 0x01D6DA], + [0x01D6DC, 0x01D714], + [0x01D716, 0x01D74E], + [0x01D750, 0x01D788], + [0x01D78A, 0x01D7C2], + [0x01D7C4, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Bidi_Mirrored}+$/u, + nonMatchSymbols, + "\\P{Bidi_Mirrored}" +); +testPropertyEscapes( + /^\P{Bidi_M}+$/u, + nonMatchSymbols, + "\\P{Bidi_M}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js new file mode 100644 index 0000000000..00e22de646 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js @@ -0,0 +1,873 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Case_Ignorable` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000027, + 0x00002E, + 0x00003A, + 0x00005E, + 0x000060, + 0x0000A8, + 0x0000AD, + 0x0000AF, + 0x0000B4, + 0x00037A, + 0x000387, + 0x000559, + 0x00055F, + 0x0005BF, + 0x0005C7, + 0x0005F4, + 0x00061C, + 0x000640, + 0x000670, + 0x00070F, + 0x000711, + 0x0007FA, + 0x0007FD, + 0x00093A, + 0x00093C, + 0x00094D, + 0x000971, + 0x000981, + 0x0009BC, + 0x0009CD, + 0x0009FE, + 0x000A3C, + 0x000A51, + 0x000A75, + 0x000ABC, + 0x000ACD, + 0x000B01, + 0x000B3C, + 0x000B3F, + 0x000B4D, + 0x000B82, + 0x000BC0, + 0x000BCD, + 0x000C00, + 0x000C04, + 0x000C81, + 0x000CBC, + 0x000CBF, + 0x000CC6, + 0x000D4D, + 0x000D81, + 0x000DCA, + 0x000DD6, + 0x000E31, + 0x000EB1, + 0x000EC6, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x001082, + 0x00108D, + 0x00109D, + 0x0010FC, + 0x0017C6, + 0x0017D7, + 0x0017DD, + 0x001843, + 0x0018A9, + 0x001932, + 0x001A1B, + 0x001A56, + 0x001A60, + 0x001A62, + 0x001A7F, + 0x001AA7, + 0x001B34, + 0x001B3C, + 0x001B42, + 0x001BE6, + 0x001BED, + 0x001CED, + 0x001CF4, + 0x001D78, + 0x001FBD, + 0x002024, + 0x002027, + 0x002071, + 0x00207F, + 0x002D6F, + 0x002D7F, + 0x002E2F, + 0x003005, + 0x00303B, + 0x00A015, + 0x00A60C, + 0x00A67F, + 0x00A770, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A82C, + 0x00A8FF, + 0x00A9B3, + 0x00A9CF, + 0x00AA43, + 0x00AA4C, + 0x00AA70, + 0x00AA7C, + 0x00AAB0, + 0x00AAC1, + 0x00AADD, + 0x00AAF6, + 0x00ABE5, + 0x00ABE8, + 0x00ABED, + 0x00FB1E, + 0x00FE13, + 0x00FE52, + 0x00FE55, + 0x00FEFF, + 0x00FF07, + 0x00FF0E, + 0x00FF1A, + 0x00FF3E, + 0x00FF40, + 0x00FF70, + 0x00FFE3, + 0x0101FD, + 0x0102E0, + 0x010A3F, + 0x011001, + 0x0110BD, + 0x0110CD, + 0x011173, + 0x0111CF, + 0x011234, + 0x01123E, + 0x0112DF, + 0x011340, + 0x011446, + 0x01145E, + 0x0114BA, + 0x01163D, + 0x0116AB, + 0x0116AD, + 0x0116B7, + 0x01193E, + 0x011943, + 0x0119E0, + 0x011A47, + 0x011C3F, + 0x011D3A, + 0x011D47, + 0x011D95, + 0x011D97, + 0x016F4F, + 0x01DA75, + 0x01DA84, + 0x0E0001 + ], + ranges: [ + [0x0000B7, 0x0000B8], + [0x0002B0, 0x00036F], + [0x000374, 0x000375], + [0x000384, 0x000385], + [0x000483, 0x000489], + [0x000591, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x000600, 0x000605], + [0x000610, 0x00061A], + [0x00064B, 0x00065F], + [0x0006D6, 0x0006DD], + [0x0006DF, 0x0006E8], + [0x0006EA, 0x0006ED], + [0x000730, 0x00074A], + [0x0007A6, 0x0007B0], + [0x0007EB, 0x0007F5], + [0x000816, 0x00082D], + [0x000859, 0x00085B], + [0x0008D3, 0x000902], + [0x000941, 0x000948], + [0x000951, 0x000957], + [0x000962, 0x000963], + [0x0009C1, 0x0009C4], + [0x0009E2, 0x0009E3], + [0x000A01, 0x000A02], + [0x000A41, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A70, 0x000A71], + [0x000A81, 0x000A82], + [0x000AC1, 0x000AC5], + [0x000AC7, 0x000AC8], + [0x000AE2, 0x000AE3], + [0x000AFA, 0x000AFF], + [0x000B41, 0x000B44], + [0x000B55, 0x000B56], + [0x000B62, 0x000B63], + [0x000C3E, 0x000C40], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C62, 0x000C63], + [0x000CCC, 0x000CCD], + [0x000CE2, 0x000CE3], + [0x000D00, 0x000D01], + [0x000D3B, 0x000D3C], + [0x000D41, 0x000D44], + [0x000D62, 0x000D63], + [0x000DD2, 0x000DD4], + [0x000E34, 0x000E3A], + [0x000E46, 0x000E4E], + [0x000EB4, 0x000EBC], + [0x000EC8, 0x000ECD], + [0x000F18, 0x000F19], + [0x000F71, 0x000F7E], + [0x000F80, 0x000F84], + [0x000F86, 0x000F87], + [0x000F8D, 0x000F97], + [0x000F99, 0x000FBC], + [0x00102D, 0x001030], + [0x001032, 0x001037], + [0x001039, 0x00103A], + [0x00103D, 0x00103E], + [0x001058, 0x001059], + [0x00105E, 0x001060], + [0x001071, 0x001074], + [0x001085, 0x001086], + [0x00135D, 0x00135F], + [0x001712, 0x001714], + [0x001732, 0x001734], + [0x001752, 0x001753], + [0x001772, 0x001773], + [0x0017B4, 0x0017B5], + [0x0017B7, 0x0017BD], + [0x0017C9, 0x0017D3], + [0x00180B, 0x00180E], + [0x001885, 0x001886], + [0x001920, 0x001922], + [0x001927, 0x001928], + [0x001939, 0x00193B], + [0x001A17, 0x001A18], + [0x001A58, 0x001A5E], + [0x001A65, 0x001A6C], + [0x001A73, 0x001A7C], + [0x001AB0, 0x001AC0], + [0x001B00, 0x001B03], + [0x001B36, 0x001B3A], + [0x001B6B, 0x001B73], + [0x001B80, 0x001B81], + [0x001BA2, 0x001BA5], + [0x001BA8, 0x001BA9], + [0x001BAB, 0x001BAD], + [0x001BE8, 0x001BE9], + [0x001BEF, 0x001BF1], + [0x001C2C, 0x001C33], + [0x001C36, 0x001C37], + [0x001C78, 0x001C7D], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CE0], + [0x001CE2, 0x001CE8], + [0x001CF8, 0x001CF9], + [0x001D2C, 0x001D6A], + [0x001D9B, 0x001DF9], + [0x001DFB, 0x001DFF], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FDD, 0x001FDF], + [0x001FED, 0x001FEF], + [0x001FFD, 0x001FFE], + [0x00200B, 0x00200F], + [0x002018, 0x002019], + [0x00202A, 0x00202E], + [0x002060, 0x002064], + [0x002066, 0x00206F], + [0x002090, 0x00209C], + [0x0020D0, 0x0020F0], + [0x002C7C, 0x002C7D], + [0x002CEF, 0x002CF1], + [0x002DE0, 0x002DFF], + [0x00302A, 0x00302D], + [0x003031, 0x003035], + [0x003099, 0x00309E], + [0x0030FC, 0x0030FE], + [0x00A4F8, 0x00A4FD], + [0x00A66F, 0x00A672], + [0x00A674, 0x00A67D], + [0x00A69C, 0x00A69F], + [0x00A6F0, 0x00A6F1], + [0x00A700, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A7F8, 0x00A7F9], + [0x00A825, 0x00A826], + [0x00A8C4, 0x00A8C5], + [0x00A8E0, 0x00A8F1], + [0x00A926, 0x00A92D], + [0x00A947, 0x00A951], + [0x00A980, 0x00A982], + [0x00A9B6, 0x00A9B9], + [0x00A9BC, 0x00A9BD], + [0x00A9E5, 0x00A9E6], + [0x00AA29, 0x00AA2E], + [0x00AA31, 0x00AA32], + [0x00AA35, 0x00AA36], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAEC, 0x00AAED], + [0x00AAF3, 0x00AAF4], + [0x00AB5B, 0x00AB5F], + [0x00AB69, 0x00AB6B], + [0x00FBB2, 0x00FBC1], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2F], + [0x00FF9E, 0x00FF9F], + [0x00FFF9, 0x00FFFB], + [0x010376, 0x01037A], + [0x010A01, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A0F], + [0x010A38, 0x010A3A], + [0x010AE5, 0x010AE6], + [0x010D24, 0x010D27], + [0x010EAB, 0x010EAC], + [0x010F46, 0x010F50], + [0x011038, 0x011046], + [0x01107F, 0x011081], + [0x0110B3, 0x0110B6], + [0x0110B9, 0x0110BA], + [0x011100, 0x011102], + [0x011127, 0x01112B], + [0x01112D, 0x011134], + [0x011180, 0x011181], + [0x0111B6, 0x0111BE], + [0x0111C9, 0x0111CC], + [0x01122F, 0x011231], + [0x011236, 0x011237], + [0x0112E3, 0x0112EA], + [0x011300, 0x011301], + [0x01133B, 0x01133C], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011438, 0x01143F], + [0x011442, 0x011444], + [0x0114B3, 0x0114B8], + [0x0114BF, 0x0114C0], + [0x0114C2, 0x0114C3], + [0x0115B2, 0x0115B5], + [0x0115BC, 0x0115BD], + [0x0115BF, 0x0115C0], + [0x0115DC, 0x0115DD], + [0x011633, 0x01163A], + [0x01163F, 0x011640], + [0x0116B0, 0x0116B5], + [0x01171D, 0x01171F], + [0x011722, 0x011725], + [0x011727, 0x01172B], + [0x01182F, 0x011837], + [0x011839, 0x01183A], + [0x01193B, 0x01193C], + [0x0119D4, 0x0119D7], + [0x0119DA, 0x0119DB], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A38], + [0x011A3B, 0x011A3E], + [0x011A51, 0x011A56], + [0x011A59, 0x011A5B], + [0x011A8A, 0x011A96], + [0x011A98, 0x011A99], + [0x011C30, 0x011C36], + [0x011C38, 0x011C3D], + [0x011C92, 0x011CA7], + [0x011CAA, 0x011CB0], + [0x011CB2, 0x011CB3], + [0x011CB5, 0x011CB6], + [0x011D31, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D45], + [0x011D90, 0x011D91], + [0x011EF3, 0x011EF4], + [0x013430, 0x013438], + [0x016AF0, 0x016AF4], + [0x016B30, 0x016B36], + [0x016B40, 0x016B43], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x016FE3, 0x016FE4], + [0x01BC9D, 0x01BC9E], + [0x01BCA0, 0x01BCA3], + [0x01D167, 0x01D169], + [0x01D173, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D242, 0x01D244], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E130, 0x01E13D], + [0x01E2EC, 0x01E2EF], + [0x01E8D0, 0x01E8D6], + [0x01E944, 0x01E94B], + [0x01F3FB, 0x01F3FF], + [0x0E0020, 0x0E007F], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{Case_Ignorable}+$/u, + matchSymbols, + "\\p{Case_Ignorable}" +); +testPropertyEscapes( + /^\p{CI}+$/u, + matchSymbols, + "\\p{CI}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x0000AE, + 0x000386, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x00061B, + 0x0006DE, + 0x0006E9, + 0x000710, + 0x00093B, + 0x000AC6, + 0x000B00, + 0x000B40, + 0x000C49, + 0x000DD5, + 0x000EC7, + 0x000F36, + 0x000F38, + 0x000F7F, + 0x000F85, + 0x000F98, + 0x001031, + 0x001038, + 0x0017B6, + 0x001A57, + 0x001A5F, + 0x001A61, + 0x001B35, + 0x001B3B, + 0x001BAA, + 0x001BE7, + 0x001BEE, + 0x001CD3, + 0x001CE1, + 0x001DFA, + 0x001FBE, + 0x002065, + 0x002070, + 0x00A673, + 0x00A67E, + 0x00AAB1, + 0x00AAC0, + 0x00AAF5, + 0x00FF3F, + 0x010A04, + 0x01112C, + 0x011235, + 0x011445, + 0x0114B9, + 0x0114C1, + 0x0115BE, + 0x01163E, + 0x0116AC, + 0x0116B6, + 0x011726, + 0x011838, + 0x01193D, + 0x011A97, + 0x011C37, + 0x011C3E, + 0x011CB1, + 0x011CB4, + 0x011D3B, + 0x011D3E, + 0x011D46, + 0x011D96, + 0x016FE2, + 0x01BC9F, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000026], + [0x000028, 0x00002D], + [0x00002F, 0x000039], + [0x00003B, 0x00005D], + [0x000061, 0x0000A7], + [0x0000A9, 0x0000AC], + [0x0000B0, 0x0000B3], + [0x0000B5, 0x0000B6], + [0x0000B9, 0x0002AF], + [0x000370, 0x000373], + [0x000376, 0x000379], + [0x00037B, 0x000383], + [0x000388, 0x000482], + [0x00048A, 0x000558], + [0x00055A, 0x00055E], + [0x000560, 0x000590], + [0x0005C8, 0x0005F3], + [0x0005F5, 0x0005FF], + [0x000606, 0x00060F], + [0x00061D, 0x00063F], + [0x000641, 0x00064A], + [0x000660, 0x00066F], + [0x000671, 0x0006D5], + [0x0006EE, 0x00070E], + [0x000712, 0x00072F], + [0x00074B, 0x0007A5], + [0x0007B1, 0x0007EA], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FC], + [0x0007FE, 0x000815], + [0x00082E, 0x000858], + [0x00085C, 0x0008D2], + [0x000903, 0x000939], + [0x00093D, 0x000940], + [0x000949, 0x00094C], + [0x00094E, 0x000950], + [0x000958, 0x000961], + [0x000964, 0x000970], + [0x000972, 0x000980], + [0x000982, 0x0009BB], + [0x0009BD, 0x0009C0], + [0x0009C5, 0x0009CC], + [0x0009CE, 0x0009E1], + [0x0009E4, 0x0009FD], + [0x0009FF, 0x000A00], + [0x000A03, 0x000A3B], + [0x000A3D, 0x000A40], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A6F], + [0x000A72, 0x000A74], + [0x000A76, 0x000A80], + [0x000A83, 0x000ABB], + [0x000ABD, 0x000AC0], + [0x000AC9, 0x000ACC], + [0x000ACE, 0x000AE1], + [0x000AE4, 0x000AF9], + [0x000B02, 0x000B3B], + [0x000B3D, 0x000B3E], + [0x000B45, 0x000B4C], + [0x000B4E, 0x000B54], + [0x000B57, 0x000B61], + [0x000B64, 0x000B81], + [0x000B83, 0x000BBF], + [0x000BC1, 0x000BCC], + [0x000BCE, 0x000BFF], + [0x000C01, 0x000C03], + [0x000C05, 0x000C3D], + [0x000C41, 0x000C45], + [0x000C4E, 0x000C54], + [0x000C57, 0x000C61], + [0x000C64, 0x000C80], + [0x000C82, 0x000CBB], + [0x000CBD, 0x000CBE], + [0x000CC0, 0x000CC5], + [0x000CC7, 0x000CCB], + [0x000CCE, 0x000CE1], + [0x000CE4, 0x000CFF], + [0x000D02, 0x000D3A], + [0x000D3D, 0x000D40], + [0x000D45, 0x000D4C], + [0x000D4E, 0x000D61], + [0x000D64, 0x000D80], + [0x000D82, 0x000DC9], + [0x000DCB, 0x000DD1], + [0x000DD7, 0x000E30], + [0x000E32, 0x000E33], + [0x000E3B, 0x000E45], + [0x000E4F, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EBD, 0x000EC5], + [0x000ECE, 0x000F17], + [0x000F1A, 0x000F34], + [0x000F3A, 0x000F70], + [0x000F88, 0x000F8C], + [0x000FBD, 0x000FC5], + [0x000FC7, 0x00102C], + [0x00103B, 0x00103C], + [0x00103F, 0x001057], + [0x00105A, 0x00105D], + [0x001061, 0x001070], + [0x001075, 0x001081], + [0x001083, 0x001084], + [0x001087, 0x00108C], + [0x00108E, 0x00109C], + [0x00109E, 0x0010FB], + [0x0010FD, 0x00135C], + [0x001360, 0x001711], + [0x001715, 0x001731], + [0x001735, 0x001751], + [0x001754, 0x001771], + [0x001774, 0x0017B3], + [0x0017BE, 0x0017C5], + [0x0017C7, 0x0017C8], + [0x0017D4, 0x0017D6], + [0x0017D8, 0x0017DC], + [0x0017DE, 0x00180A], + [0x00180F, 0x001842], + [0x001844, 0x001884], + [0x001887, 0x0018A8], + [0x0018AA, 0x00191F], + [0x001923, 0x001926], + [0x001929, 0x001931], + [0x001933, 0x001938], + [0x00193C, 0x001A16], + [0x001A19, 0x001A1A], + [0x001A1C, 0x001A55], + [0x001A63, 0x001A64], + [0x001A6D, 0x001A72], + [0x001A7D, 0x001A7E], + [0x001A80, 0x001AA6], + [0x001AA8, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B04, 0x001B33], + [0x001B3D, 0x001B41], + [0x001B43, 0x001B6A], + [0x001B74, 0x001B7F], + [0x001B82, 0x001BA1], + [0x001BA6, 0x001BA7], + [0x001BAE, 0x001BE5], + [0x001BEA, 0x001BEC], + [0x001BF2, 0x001C2B], + [0x001C34, 0x001C35], + [0x001C38, 0x001C77], + [0x001C7E, 0x001CCF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF7], + [0x001CFA, 0x001D2B], + [0x001D6B, 0x001D77], + [0x001D79, 0x001D9A], + [0x001E00, 0x001FBC], + [0x001FC2, 0x001FCC], + [0x001FD0, 0x001FDC], + [0x001FE0, 0x001FEC], + [0x001FF0, 0x001FFC], + [0x001FFF, 0x00200A], + [0x002010, 0x002017], + [0x00201A, 0x002023], + [0x002025, 0x002026], + [0x002028, 0x002029], + [0x00202F, 0x00205F], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x0020CF], + [0x0020F1, 0x002C7B], + [0x002C7E, 0x002CEE], + [0x002CF2, 0x002D6E], + [0x002D70, 0x002D7E], + [0x002D80, 0x002DDF], + [0x002E00, 0x002E2E], + [0x002E30, 0x003004], + [0x003006, 0x003029], + [0x00302E, 0x003030], + [0x003036, 0x00303A], + [0x00303C, 0x003098], + [0x00309F, 0x0030FB], + [0x0030FF, 0x00A014], + [0x00A016, 0x00A4F7], + [0x00A4FE, 0x00A60B], + [0x00A60D, 0x00A66E], + [0x00A680, 0x00A69B], + [0x00A6A0, 0x00A6EF], + [0x00A6F2, 0x00A6FF], + [0x00A722, 0x00A76F], + [0x00A771, 0x00A787], + [0x00A78B, 0x00A7F7], + [0x00A7FA, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A824], + [0x00A827, 0x00A82B], + [0x00A82D, 0x00A8C3], + [0x00A8C6, 0x00A8DF], + [0x00A8F2, 0x00A8FE], + [0x00A900, 0x00A925], + [0x00A92E, 0x00A946], + [0x00A952, 0x00A97F], + [0x00A983, 0x00A9B2], + [0x00A9B4, 0x00A9B5], + [0x00A9BA, 0x00A9BB], + [0x00A9BE, 0x00A9CE], + [0x00A9D0, 0x00A9E4], + [0x00A9E7, 0x00AA28], + [0x00AA2F, 0x00AA30], + [0x00AA33, 0x00AA34], + [0x00AA37, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA4D, 0x00AA6F], + [0x00AA71, 0x00AA7B], + [0x00AA7D, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AAC2, 0x00AADC], + [0x00AADE, 0x00AAEB], + [0x00AAEE, 0x00AAF2], + [0x00AAF7, 0x00AB5A], + [0x00AB60, 0x00AB68], + [0x00AB6C, 0x00ABE4], + [0x00ABE6, 0x00ABE7], + [0x00ABE9, 0x00ABEC], + [0x00ABEE, 0x00DBFF], + [0x00E000, 0x00FB1D], + [0x00FB1F, 0x00FBB1], + [0x00FBC2, 0x00FDFF], + [0x00FE10, 0x00FE12], + [0x00FE14, 0x00FE1F], + [0x00FE30, 0x00FE51], + [0x00FE53, 0x00FE54], + [0x00FE56, 0x00FEFE], + [0x00FF00, 0x00FF06], + [0x00FF08, 0x00FF0D], + [0x00FF0F, 0x00FF19], + [0x00FF1B, 0x00FF3D], + [0x00FF41, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x00FFA0, 0x00FFE2], + [0x00FFE4, 0x00FFF8], + [0x00FFFC, 0x0101FC], + [0x0101FE, 0x0102DF], + [0x0102E1, 0x010375], + [0x01037B, 0x010A00], + [0x010A07, 0x010A0B], + [0x010A10, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A40, 0x010AE4], + [0x010AE7, 0x010D23], + [0x010D28, 0x010EAA], + [0x010EAD, 0x010F45], + [0x010F51, 0x011000], + [0x011002, 0x011037], + [0x011047, 0x01107E], + [0x011082, 0x0110B2], + [0x0110B7, 0x0110B8], + [0x0110BB, 0x0110BC], + [0x0110BE, 0x0110CC], + [0x0110CE, 0x0110FF], + [0x011103, 0x011126], + [0x011135, 0x011172], + [0x011174, 0x01117F], + [0x011182, 0x0111B5], + [0x0111BF, 0x0111C8], + [0x0111CD, 0x0111CE], + [0x0111D0, 0x01122E], + [0x011232, 0x011233], + [0x011238, 0x01123D], + [0x01123F, 0x0112DE], + [0x0112E0, 0x0112E2], + [0x0112EB, 0x0112FF], + [0x011302, 0x01133A], + [0x01133D, 0x01133F], + [0x011341, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x011437], + [0x011440, 0x011441], + [0x011447, 0x01145D], + [0x01145F, 0x0114B2], + [0x0114BB, 0x0114BE], + [0x0114C4, 0x0115B1], + [0x0115B6, 0x0115BB], + [0x0115C1, 0x0115DB], + [0x0115DE, 0x011632], + [0x01163B, 0x01163C], + [0x011641, 0x0116AA], + [0x0116AE, 0x0116AF], + [0x0116B8, 0x01171C], + [0x011720, 0x011721], + [0x01172C, 0x01182E], + [0x01183B, 0x01193A], + [0x01193F, 0x011942], + [0x011944, 0x0119D3], + [0x0119D8, 0x0119D9], + [0x0119DC, 0x0119DF], + [0x0119E1, 0x011A00], + [0x011A0B, 0x011A32], + [0x011A39, 0x011A3A], + [0x011A3F, 0x011A46], + [0x011A48, 0x011A50], + [0x011A57, 0x011A58], + [0x011A5C, 0x011A89], + [0x011A9A, 0x011C2F], + [0x011C40, 0x011C91], + [0x011CA8, 0x011CA9], + [0x011CB7, 0x011D30], + [0x011D37, 0x011D39], + [0x011D48, 0x011D8F], + [0x011D92, 0x011D94], + [0x011D98, 0x011EF2], + [0x011EF5, 0x01342F], + [0x013439, 0x016AEF], + [0x016AF5, 0x016B2F], + [0x016B37, 0x016B3F], + [0x016B44, 0x016F4E], + [0x016F50, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE5, 0x01BC9C], + [0x01BCA4, 0x01D166], + [0x01D16A, 0x01D172], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D241], + [0x01D245, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E12F], + [0x01E13E, 0x01E2EB], + [0x01E2F0, 0x01E8CF], + [0x01E8D7, 0x01E943], + [0x01E94C, 0x01F3FA], + [0x01F400, 0x0E0000], + [0x0E0002, 0x0E001F], + [0x0E0080, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Case_Ignorable}+$/u, + nonMatchSymbols, + "\\P{Case_Ignorable}" +); +testPropertyEscapes( + /^\P{CI}+$/u, + nonMatchSymbols, + "\\P{CI}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Cased.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Cased.js new file mode 100644 index 0000000000..3891f89ccf --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Cased.js @@ -0,0 +1,325 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Cased` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000B5, + 0x0000BA, + 0x000345, + 0x00037F, + 0x000386, + 0x00038C, + 0x0010C7, + 0x0010CD, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002071, + 0x00207F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x002139, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x01D4A2, + 0x01D4BB, + 0x01D546 + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0001BA], + [0x0001BC, 0x0001BF], + [0x0001C4, 0x000293], + [0x000295, 0x0002B8], + [0x0002C0, 0x0002C1], + [0x0002E0, 0x0002E4], + [0x000370, 0x000373], + [0x000376, 0x000377], + [0x00037A, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FD, 0x0010FF], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001D00, 0x001DBF], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x002090, 0x00209C], + [0x00210A, 0x002113], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x00212F, 0x002134], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002160, 0x00217F], + [0x002183, 0x002184], + [0x0024B6, 0x0024E9], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x00A640, 0x00A66D], + [0x00A680, 0x00A69D], + [0x00A722, 0x00A787], + [0x00A78B, 0x00A78E], + [0x00A790, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A7F6], + [0x00A7F8, 0x00A7FA], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB68], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x010400, 0x01044F], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x0118A0, 0x0118DF], + [0x016E40, 0x016E7F], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01E900, 0x01E943], + [0x01F130, 0x01F149], + [0x01F150, 0x01F169], + [0x01F170, 0x01F189] + ] +}); +testPropertyEscapes( + /^\p{Cased}+$/u, + matchSymbols, + "\\p{Cased}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x0001BB, + 0x000294, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000530, + 0x0010C6, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x00A78F, + 0x00A7F7, + 0x00AB5B, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B6, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0001C0, 0x0001C3], + [0x0002B9, 0x0002BF], + [0x0002C2, 0x0002DF], + [0x0002E5, 0x000344], + [0x000346, 0x00036F], + [0x000374, 0x000375], + [0x000378, 0x000379], + [0x000380, 0x000385], + [0x000482, 0x000489], + [0x000557, 0x00055F], + [0x000589, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x0010FB, 0x0010FC], + [0x001100, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CFF], + [0x001DC0, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x002135, 0x002138], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x00215F], + [0x002180, 0x002182], + [0x002185, 0x0024B5], + [0x0024EA, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A63F], + [0x00A66E, 0x00A67F], + [0x00A69E, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A7FB, 0x00AB2F], + [0x00AB69, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x0103FF], + [0x010450, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x01189F], + [0x0118E0, 0x016E3F], + [0x016E80, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01E8FF], + [0x01E944, 0x01F12F], + [0x01F14A, 0x01F14F], + [0x01F16A, 0x01F16F], + [0x01F18A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Cased}+$/u, + nonMatchSymbols, + "\\P{Cased}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js new file mode 100644 index 0000000000..b5bed20fe1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js @@ -0,0 +1,1281 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Changes_When_Casefolded` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B5, + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x00017F, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001BC, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000345, + 0x000370, + 0x000372, + 0x000376, + 0x00037F, + 0x000386, + 0x00038C, + 0x0003C2, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F7, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048A, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x000587, + 0x0010C7, + 0x0010CD, + 0x001E00, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001F5F, + 0x002126, + 0x002132, + 0x002183, + 0x002C60, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CEB, + 0x002CED, + 0x002CF2, + 0x00A640, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A680, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A722, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78B, + 0x00A78D, + 0x00A790, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C2, + 0x00A7C9, + 0x00A7F5 + ], + ranges: [ + [0x000041, 0x00005A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000DF], + [0x000149, 0x00014A], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001C4, 0x0001C5], + [0x0001C7, 0x0001C8], + [0x0001CA, 0x0001CB], + [0x0001F1, 0x0001F2], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x000388, 0x00038A], + [0x00038E, 0x00038F], + [0x000391, 0x0003A1], + [0x0003A3, 0x0003AB], + [0x0003CF, 0x0003D1], + [0x0003D5, 0x0003D6], + [0x0003F0, 0x0003F1], + [0x0003F4, 0x0003F5], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x0004C0, 0x0004C1], + [0x000531, 0x000556], + [0x0010A0, 0x0010C5], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001E9A, 0x001E9B], + [0x001F08, 0x001F0F], + [0x001F18, 0x001F1D], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F48, 0x001F4D], + [0x001F68, 0x001F6F], + [0x001F80, 0x001FAF], + [0x001FB2, 0x001FB4], + [0x001FB7, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC7, 0x001FCC], + [0x001FD8, 0x001FDB], + [0x001FE8, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF7, 0x001FFC], + [0x00212A, 0x00212B], + [0x002160, 0x00216F], + [0x0024B6, 0x0024CF], + [0x002C00, 0x002C2E], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7E, 0x002C80], + [0x00A77D, 0x00A77E], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C4, 0x00A7C7], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF21, 0x00FF3A], + [0x010400, 0x010427], + [0x0104B0, 0x0104D3], + [0x010C80, 0x010CB2], + [0x0118A0, 0x0118BF], + [0x016E40, 0x016E5F], + [0x01E900, 0x01E921] + ] +}); +testPropertyEscapes( + /^\p{Changes_When_Casefolded}+$/u, + matchSymbols, + "\\p{Changes_When_Casefolded}" +); +testPropertyEscapes( + /^\p{CWCF}+$/u, + matchSymbols, + "\\p{CWCF}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x000148, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x00017E, + 0x000180, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001C6, + 0x0001C9, + 0x0001CC, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F3, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000371, + 0x000387, + 0x00038B, + 0x00038D, + 0x000390, + 0x0003A2, + 0x0003D7, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003EF, + 0x0003F6, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x0010C6, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7C3, + 0x00A7C8 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x0000B4], + [0x0000B6, 0x0000BF], + [0x0000E0, 0x0000FF], + [0x000137, 0x000138], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BB], + [0x0001BD, 0x0001C3], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x000344], + [0x000346, 0x00036F], + [0x000373, 0x000375], + [0x000377, 0x00037E], + [0x000380, 0x000385], + [0x0003AC, 0x0003C1], + [0x0003C3, 0x0003CE], + [0x0003D2, 0x0003D4], + [0x0003F2, 0x0003F3], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x000481, 0x000489], + [0x0004CE, 0x0004CF], + [0x00052F, 0x000530], + [0x000557, 0x000586], + [0x000588, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001DFF], + [0x001E95, 0x001E99], + [0x001E9C, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F17], + [0x001F1E, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F47], + [0x001F4E, 0x001F58], + [0x001F60, 0x001F67], + [0x001F70, 0x001F7F], + [0x001FB0, 0x001FB1], + [0x001FB5, 0x001FB6], + [0x001FBD, 0x001FC1], + [0x001FC5, 0x001FC6], + [0x001FCD, 0x001FD7], + [0x001FDC, 0x001FE7], + [0x001FED, 0x001FF1], + [0x001FF5, 0x001FF6], + [0x001FFD, 0x002125], + [0x002127, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00215F], + [0x002170, 0x002182], + [0x002184, 0x0024B5], + [0x0024D0, 0x002BFF], + [0x002C2F, 0x002C5F], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7D], + [0x002CE3, 0x002CEA], + [0x002CEE, 0x002CF1], + [0x002CF3, 0x00A63F], + [0x00A66D, 0x00A67F], + [0x00A69B, 0x00A721], + [0x00A72F, 0x00A731], + [0x00A76F, 0x00A778], + [0x00A787, 0x00A78A], + [0x00A78E, 0x00A78F], + [0x00A793, 0x00A795], + [0x00A7BF, 0x00A7C1], + [0x00A7CA, 0x00A7F4], + [0x00A7F6, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF20], + [0x00FF3B, 0x0103FF], + [0x010428, 0x0104AF], + [0x0104D4, 0x010C7F], + [0x010CB3, 0x01189F], + [0x0118C0, 0x016E3F], + [0x016E60, 0x01E8FF], + [0x01E922, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Changes_When_Casefolded}+$/u, + nonMatchSymbols, + "\\P{Changes_When_Casefolded}" +); +testPropertyEscapes( + /^\P{CWCF}+$/u, + nonMatchSymbols, + "\\P{CWCF}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js new file mode 100644 index 0000000000..166d831e5f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js @@ -0,0 +1,301 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Changes_When_Casemapped` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B5, + 0x0001BF, + 0x000259, + 0x000263, + 0x00026F, + 0x000275, + 0x00027D, + 0x000280, + 0x000292, + 0x000345, + 0x00037F, + 0x000386, + 0x00038C, + 0x0010C7, + 0x0010CD, + 0x001D79, + 0x001D7D, + 0x001D8E, + 0x001E9E, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002126, + 0x002132, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x00AB53 + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x000137], + [0x000139, 0x00018C], + [0x00018E, 0x00019A], + [0x00019C, 0x0001A9], + [0x0001AC, 0x0001B9], + [0x0001BC, 0x0001BD], + [0x0001C4, 0x000220], + [0x000222, 0x000233], + [0x00023A, 0x000254], + [0x000256, 0x000257], + [0x00025B, 0x00025C], + [0x000260, 0x000261], + [0x000265, 0x000266], + [0x000268, 0x00026C], + [0x000271, 0x000272], + [0x000282, 0x000283], + [0x000287, 0x00028C], + [0x00029D, 0x00029E], + [0x000370, 0x000373], + [0x000376, 0x000377], + [0x00037B, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003D1], + [0x0003D5, 0x0003F5], + [0x0003F7, 0x0003FB], + [0x0003FD, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000561, 0x000587], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FD, 0x0010FF], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001E00, 0x001E9B], + [0x001EA0, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x00212A, 0x00212B], + [0x002160, 0x00217F], + [0x002183, 0x002184], + [0x0024B6, 0x0024E9], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002C70], + [0x002C72, 0x002C73], + [0x002C75, 0x002C76], + [0x002C7E, 0x002CE3], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x00A640, 0x00A66D], + [0x00A680, 0x00A69B], + [0x00A722, 0x00A72F], + [0x00A732, 0x00A76F], + [0x00A779, 0x00A787], + [0x00A78B, 0x00A78D], + [0x00A790, 0x00A794], + [0x00A796, 0x00A7AE], + [0x00A7B0, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A7F6], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x010400, 0x01044F], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x0118A0, 0x0118DF], + [0x016E40, 0x016E7F], + [0x01E900, 0x01E943] + ] +}); +testPropertyEscapes( + /^\p{Changes_When_Casemapped}+$/u, + matchSymbols, + "\\p{Changes_When_Casemapped}" +); +testPropertyEscapes( + /^\p{CWCM}+$/u, + matchSymbols, + "\\p{CWCM}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x000138, + 0x00018D, + 0x00019B, + 0x0001BE, + 0x000221, + 0x000255, + 0x000258, + 0x00025A, + 0x000262, + 0x000264, + 0x000267, + 0x000270, + 0x000281, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x0003FC, + 0x000530, + 0x0010C6, + 0x001E9F, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002C2F, + 0x002C5F, + 0x002C71, + 0x002C74, + 0x002D26, + 0x00A795, + 0x00A7AF + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000B4], + [0x0000B6, 0x0000BF], + [0x0001AA, 0x0001AB], + [0x0001BA, 0x0001BB], + [0x0001C0, 0x0001C3], + [0x000234, 0x000239], + [0x00025D, 0x00025F], + [0x00026D, 0x00026E], + [0x000273, 0x000274], + [0x000276, 0x00027C], + [0x00027E, 0x00027F], + [0x000284, 0x000286], + [0x00028D, 0x000291], + [0x000293, 0x00029C], + [0x00029F, 0x000344], + [0x000346, 0x00036F], + [0x000374, 0x000375], + [0x000378, 0x00037A], + [0x000380, 0x000385], + [0x0003D2, 0x0003D4], + [0x000482, 0x000489], + [0x000557, 0x000560], + [0x000588, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x0010FB, 0x0010FC], + [0x001100, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001D78], + [0x001D7A, 0x001D7C], + [0x001D7E, 0x001D8D], + [0x001D8F, 0x001DFF], + [0x001E9C, 0x001E9D], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002125], + [0x002127, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00214D], + [0x00214F, 0x00215F], + [0x002180, 0x002182], + [0x002185, 0x0024B5], + [0x0024EA, 0x002BFF], + [0x002C77, 0x002C7D], + [0x002CE4, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A63F], + [0x00A66E, 0x00A67F], + [0x00A69C, 0x00A721], + [0x00A730, 0x00A731], + [0x00A770, 0x00A778], + [0x00A788, 0x00A78A], + [0x00A78E, 0x00A78F], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A7F7, 0x00AB52], + [0x00AB54, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x0103FF], + [0x010450, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x01189F], + [0x0118E0, 0x016E3F], + [0x016E80, 0x01E8FF], + [0x01E944, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Changes_When_Casemapped}+$/u, + nonMatchSymbols, + "\\P{Changes_When_Casemapped}" +); +testPropertyEscapes( + /^\P{CWCM}+$/u, + nonMatchSymbols, + "\\P{CWCM}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js new file mode 100644 index 0000000000..ed9169d23a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js @@ -0,0 +1,1255 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Changes_When_Lowercased` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001BC, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000370, + 0x000372, + 0x000376, + 0x00037F, + 0x000386, + 0x00038C, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x0003F7, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048A, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x0010C7, + 0x0010CD, + 0x001E00, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001F5F, + 0x002126, + 0x002132, + 0x002183, + 0x002C60, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CEB, + 0x002CED, + 0x002CF2, + 0x00A640, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A680, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A722, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78B, + 0x00A78D, + 0x00A790, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C2, + 0x00A7C9, + 0x00A7F5 + ], + ranges: [ + [0x000041, 0x00005A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000DE], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001C4, 0x0001C5], + [0x0001C7, 0x0001C8], + [0x0001CA, 0x0001CB], + [0x0001F1, 0x0001F2], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x000388, 0x00038A], + [0x00038E, 0x00038F], + [0x000391, 0x0003A1], + [0x0003A3, 0x0003AB], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x0004C0, 0x0004C1], + [0x000531, 0x000556], + [0x0010A0, 0x0010C5], + [0x0013A0, 0x0013F5], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001F08, 0x001F0F], + [0x001F18, 0x001F1D], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F48, 0x001F4D], + [0x001F68, 0x001F6F], + [0x001F88, 0x001F8F], + [0x001F98, 0x001F9F], + [0x001FA8, 0x001FAF], + [0x001FB8, 0x001FBC], + [0x001FC8, 0x001FCC], + [0x001FD8, 0x001FDB], + [0x001FE8, 0x001FEC], + [0x001FF8, 0x001FFC], + [0x00212A, 0x00212B], + [0x002160, 0x00216F], + [0x0024B6, 0x0024CF], + [0x002C00, 0x002C2E], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7E, 0x002C80], + [0x00A77D, 0x00A77E], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C4, 0x00A7C7], + [0x00FF21, 0x00FF3A], + [0x010400, 0x010427], + [0x0104B0, 0x0104D3], + [0x010C80, 0x010CB2], + [0x0118A0, 0x0118BF], + [0x016E40, 0x016E5F], + [0x01E900, 0x01E921] + ] +}); +testPropertyEscapes( + /^\p{Changes_When_Lowercased}+$/u, + matchSymbols, + "\\p{Changes_When_Lowercased}" +); +testPropertyEscapes( + /^\p{CWL}+$/u, + matchSymbols, + "\\p{CWL}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001C6, + 0x0001C9, + 0x0001CC, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F3, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000371, + 0x000387, + 0x00038B, + 0x00038D, + 0x000390, + 0x0003A2, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x0010C6, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7C3, + 0x00A7C8 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x0000BF], + [0x0000DF, 0x0000FF], + [0x000137, 0x000138], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BB], + [0x0001BD, 0x0001C3], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x00036F], + [0x000373, 0x000375], + [0x000377, 0x00037E], + [0x000380, 0x000385], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x0003F5, 0x0003F6], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x000481, 0x000489], + [0x0004CE, 0x0004CF], + [0x00052F, 0x000530], + [0x000557, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x00139F], + [0x0013F6, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001DFF], + [0x001E95, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F17], + [0x001F1E, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F47], + [0x001F4E, 0x001F58], + [0x001F60, 0x001F67], + [0x001F70, 0x001F87], + [0x001F90, 0x001F97], + [0x001FA0, 0x001FA7], + [0x001FB0, 0x001FB7], + [0x001FBD, 0x001FC7], + [0x001FCD, 0x001FD7], + [0x001FDC, 0x001FE7], + [0x001FED, 0x001FF7], + [0x001FFD, 0x002125], + [0x002127, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00215F], + [0x002170, 0x002182], + [0x002184, 0x0024B5], + [0x0024D0, 0x002BFF], + [0x002C2F, 0x002C5F], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7D], + [0x002CE3, 0x002CEA], + [0x002CEE, 0x002CF1], + [0x002CF3, 0x00A63F], + [0x00A66D, 0x00A67F], + [0x00A69B, 0x00A721], + [0x00A72F, 0x00A731], + [0x00A76F, 0x00A778], + [0x00A787, 0x00A78A], + [0x00A78E, 0x00A78F], + [0x00A793, 0x00A795], + [0x00A7BF, 0x00A7C1], + [0x00A7CA, 0x00A7F4], + [0x00A7F6, 0x00DBFF], + [0x00E000, 0x00FF20], + [0x00FF3B, 0x0103FF], + [0x010428, 0x0104AF], + [0x0104D4, 0x010C7F], + [0x010CB3, 0x01189F], + [0x0118C0, 0x016E3F], + [0x016E60, 0x01E8FF], + [0x01E922, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Changes_When_Lowercased}+$/u, + nonMatchSymbols, + "\\P{Changes_When_Lowercased}" +); +testPropertyEscapes( + /^\P{CWL}+$/u, + nonMatchSymbols, + "\\P{CWL}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js new file mode 100644 index 0000000000..96ee771f12 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js @@ -0,0 +1,1707 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Changes_When_NFKC_Casefolded` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000A0, + 0x0000A8, + 0x0000AA, + 0x0000AD, + 0x0000AF, + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x000143, + 0x000145, + 0x000147, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x00017F, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001BC, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x00034F, + 0x000370, + 0x000372, + 0x000374, + 0x000376, + 0x00037A, + 0x00038C, + 0x0003C2, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F7, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048A, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x000587, + 0x00061C, + 0x0009DF, + 0x000A33, + 0x000A36, + 0x000A5E, + 0x000E33, + 0x000EB3, + 0x000F0C, + 0x000F43, + 0x000F4D, + 0x000F52, + 0x000F57, + 0x000F5C, + 0x000F69, + 0x000F73, + 0x000F81, + 0x000F93, + 0x000F9D, + 0x000FA2, + 0x000FA7, + 0x000FAC, + 0x000FB9, + 0x0010C7, + 0x0010CD, + 0x0010FC, + 0x001D78, + 0x001E00, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001F5F, + 0x001F71, + 0x001F73, + 0x001F75, + 0x001F77, + 0x001F79, + 0x001F7B, + 0x001F7D, + 0x001FD3, + 0x001FE3, + 0x002011, + 0x002017, + 0x00203C, + 0x00203E, + 0x002057, + 0x0020A8, + 0x002124, + 0x002126, + 0x002128, + 0x002183, + 0x002189, + 0x002A0C, + 0x002ADC, + 0x002C60, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CEB, + 0x002CED, + 0x002CF2, + 0x002D6F, + 0x002E9F, + 0x002EF3, + 0x003000, + 0x003036, + 0x00309F, + 0x0030FF, + 0x00A640, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A680, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A722, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A770, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78B, + 0x00A78D, + 0x00A790, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C2, + 0x00A7C9, + 0x00A7F5, + 0x00AB69, + 0x00FA10, + 0x00FA12, + 0x00FA20, + 0x00FA22, + 0x00FB1D, + 0x00FB3E, + 0x00FE74, + 0x00FEFF, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E, + 0x01F190 + ], + ranges: [ + [0x000041, 0x00005A], + [0x0000B2, 0x0000B5], + [0x0000B8, 0x0000BA], + [0x0000BC, 0x0000BE], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000DF], + [0x000132, 0x000134], + [0x00013F, 0x000141], + [0x000149, 0x00014A], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001C4, 0x0001CD], + [0x0001F1, 0x0001F4], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x0002B0, 0x0002B8], + [0x0002D8, 0x0002DD], + [0x0002E0, 0x0002E4], + [0x000340, 0x000341], + [0x000343, 0x000345], + [0x00037E, 0x00037F], + [0x000384, 0x00038A], + [0x00038E, 0x00038F], + [0x000391, 0x0003A1], + [0x0003A3, 0x0003AB], + [0x0003CF, 0x0003D6], + [0x0003F0, 0x0003F2], + [0x0003F4, 0x0003F5], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x0004C0, 0x0004C1], + [0x000531, 0x000556], + [0x000675, 0x000678], + [0x000958, 0x00095F], + [0x0009DC, 0x0009DD], + [0x000A59, 0x000A5B], + [0x000B5C, 0x000B5D], + [0x000EDC, 0x000EDD], + [0x000F75, 0x000F79], + [0x0010A0, 0x0010C5], + [0x00115F, 0x001160], + [0x0013F8, 0x0013FD], + [0x0017B4, 0x0017B5], + [0x00180B, 0x00180E], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001D2C, 0x001D2E], + [0x001D30, 0x001D3A], + [0x001D3C, 0x001D4D], + [0x001D4F, 0x001D6A], + [0x001D9B, 0x001DBF], + [0x001E9A, 0x001E9B], + [0x001F08, 0x001F0F], + [0x001F18, 0x001F1D], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F48, 0x001F4D], + [0x001F68, 0x001F6F], + [0x001F80, 0x001FAF], + [0x001FB2, 0x001FB4], + [0x001FB7, 0x001FC4], + [0x001FC7, 0x001FCF], + [0x001FD8, 0x001FDB], + [0x001FDD, 0x001FDF], + [0x001FE8, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF7, 0x001FFE], + [0x002000, 0x00200F], + [0x002024, 0x002026], + [0x00202A, 0x00202F], + [0x002033, 0x002034], + [0x002036, 0x002037], + [0x002047, 0x002049], + [0x00205F, 0x002071], + [0x002074, 0x00208E], + [0x002090, 0x00209C], + [0x002100, 0x002103], + [0x002105, 0x002107], + [0x002109, 0x002113], + [0x002115, 0x002116], + [0x002119, 0x00211D], + [0x002120, 0x002122], + [0x00212A, 0x00212D], + [0x00212F, 0x002139], + [0x00213B, 0x002140], + [0x002145, 0x002149], + [0x002150, 0x00217F], + [0x00222C, 0x00222D], + [0x00222F, 0x002230], + [0x002329, 0x00232A], + [0x002460, 0x0024EA], + [0x002A74, 0x002A76], + [0x002C00, 0x002C2E], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7C, 0x002C80], + [0x002F00, 0x002FD5], + [0x003038, 0x00303A], + [0x00309B, 0x00309C], + [0x003131, 0x00318E], + [0x003192, 0x00319F], + [0x003200, 0x00321E], + [0x003220, 0x003247], + [0x003250, 0x00327E], + [0x003280, 0x0033FF], + [0x00A69C, 0x00A69D], + [0x00A77D, 0x00A77E], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C4, 0x00A7C7], + [0x00A7F8, 0x00A7F9], + [0x00AB5C, 0x00AB5F], + [0x00AB70, 0x00ABBF], + [0x00F900, 0x00FA0D], + [0x00FA15, 0x00FA1E], + [0x00FA25, 0x00FA26], + [0x00FA2A, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1F, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFC], + [0x00FE00, 0x00FE19], + [0x00FE30, 0x00FE44], + [0x00FE47, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FE70, 0x00FE72], + [0x00FE76, 0x00FEFC], + [0x00FF01, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFF0, 0x00FFF8], + [0x010400, 0x010427], + [0x0104B0, 0x0104D3], + [0x010C80, 0x010CB2], + [0x0118A0, 0x0118BF], + [0x016E40, 0x016E5F], + [0x01BCA0, 0x01BCA3], + [0x01D15E, 0x01D164], + [0x01D173, 0x01D17A], + [0x01D1BB, 0x01D1C0], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01D7FF], + [0x01E900, 0x01E921], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01F100, 0x01F10A], + [0x01F110, 0x01F12E], + [0x01F130, 0x01F14F], + [0x01F16A, 0x01F16C], + [0x01F200, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01FBF0, 0x01FBF9], + [0x02F800, 0x02FA1D], + [0x0E0000, 0x0E0FFF] + ] +}); +testPropertyEscapes( + /^\p{Changes_When_NFKC_Casefolded}+$/u, + matchSymbols, + "\\p{Changes_When_NFKC_Casefolded}" +); +testPropertyEscapes( + /^\p{CWKCF}+$/u, + matchSymbols, + "\\p{CWKCF}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000A9, + 0x0000AE, + 0x0000BB, + 0x0000BF, + 0x0000D7, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000142, + 0x000144, + 0x000146, + 0x000148, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x00017E, + 0x000180, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000342, + 0x000371, + 0x000373, + 0x000375, + 0x00038B, + 0x00038D, + 0x000390, + 0x0003A2, + 0x0003D7, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003EF, + 0x0003F3, + 0x0003F6, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x0009DE, + 0x000F74, + 0x0010C6, + 0x001D2F, + 0x001D3B, + 0x001D4E, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001F70, + 0x001F72, + 0x001F74, + 0x001F76, + 0x001F78, + 0x001F7A, + 0x001F7C, + 0x001FDC, + 0x001FFF, + 0x002010, + 0x002035, + 0x00203D, + 0x00208F, + 0x002104, + 0x002108, + 0x002114, + 0x002123, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x00213A, + 0x00222E, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x003037, + 0x00321F, + 0x00327F, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A69B, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A76F, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7C3, + 0x00A7C8, + 0x00FA11, + 0x00FA1F, + 0x00FA21, + 0x00FB1E, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE53, + 0x00FE67, + 0x00FE73, + 0x00FE75, + 0x00FF00, + 0x00FFE7, + 0x00FFEF, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA, + 0x01F12F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x00009F], + [0x0000A1, 0x0000A7], + [0x0000AB, 0x0000AC], + [0x0000B0, 0x0000B1], + [0x0000B6, 0x0000B7], + [0x0000E0, 0x0000FF], + [0x000137, 0x000138], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BB], + [0x0001BD, 0x0001C3], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x0002AF], + [0x0002B9, 0x0002D7], + [0x0002DE, 0x0002DF], + [0x0002E5, 0x00033F], + [0x000346, 0x00034E], + [0x000350, 0x00036F], + [0x000377, 0x000379], + [0x00037B, 0x00037D], + [0x000380, 0x000383], + [0x0003AC, 0x0003C1], + [0x0003C3, 0x0003CE], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x000481, 0x000489], + [0x0004CE, 0x0004CF], + [0x00052F, 0x000530], + [0x000557, 0x000586], + [0x000588, 0x00061B], + [0x00061D, 0x000674], + [0x000679, 0x000957], + [0x000960, 0x0009DB], + [0x0009E0, 0x000A32], + [0x000A34, 0x000A35], + [0x000A37, 0x000A58], + [0x000A5C, 0x000A5D], + [0x000A5F, 0x000B5B], + [0x000B5E, 0x000E32], + [0x000E34, 0x000EB2], + [0x000EB4, 0x000EDB], + [0x000EDE, 0x000F0B], + [0x000F0D, 0x000F42], + [0x000F44, 0x000F4C], + [0x000F4E, 0x000F51], + [0x000F53, 0x000F56], + [0x000F58, 0x000F5B], + [0x000F5D, 0x000F68], + [0x000F6A, 0x000F72], + [0x000F7A, 0x000F80], + [0x000F82, 0x000F92], + [0x000F94, 0x000F9C], + [0x000F9E, 0x000FA1], + [0x000FA3, 0x000FA6], + [0x000FA8, 0x000FAB], + [0x000FAD, 0x000FB8], + [0x000FBA, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010FB], + [0x0010FD, 0x00115E], + [0x001161, 0x0013F7], + [0x0013FE, 0x0017B3], + [0x0017B6, 0x00180A], + [0x00180F, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001D2B], + [0x001D6B, 0x001D77], + [0x001D79, 0x001D9A], + [0x001DC0, 0x001DFF], + [0x001E95, 0x001E99], + [0x001E9C, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F17], + [0x001F1E, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F47], + [0x001F4E, 0x001F58], + [0x001F60, 0x001F67], + [0x001F7E, 0x001F7F], + [0x001FB0, 0x001FB1], + [0x001FB5, 0x001FB6], + [0x001FC5, 0x001FC6], + [0x001FD0, 0x001FD2], + [0x001FD4, 0x001FD7], + [0x001FE0, 0x001FE2], + [0x001FE4, 0x001FE7], + [0x001FF0, 0x001FF1], + [0x001FF5, 0x001FF6], + [0x002012, 0x002016], + [0x002018, 0x002023], + [0x002027, 0x002029], + [0x002030, 0x002032], + [0x002038, 0x00203B], + [0x00203F, 0x002046], + [0x00204A, 0x002056], + [0x002058, 0x00205E], + [0x002072, 0x002073], + [0x00209D, 0x0020A7], + [0x0020A9, 0x0020FF], + [0x002117, 0x002118], + [0x00211E, 0x00211F], + [0x002141, 0x002144], + [0x00214A, 0x00214F], + [0x002180, 0x002182], + [0x002184, 0x002188], + [0x00218A, 0x00222B], + [0x002231, 0x002328], + [0x00232B, 0x00245F], + [0x0024EB, 0x002A0B], + [0x002A0D, 0x002A73], + [0x002A77, 0x002ADB], + [0x002ADD, 0x002BFF], + [0x002C2F, 0x002C5F], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7B], + [0x002CE3, 0x002CEA], + [0x002CEE, 0x002CF1], + [0x002CF3, 0x002D6E], + [0x002D70, 0x002E9E], + [0x002EA0, 0x002EF2], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FFF], + [0x003001, 0x003035], + [0x00303B, 0x00309A], + [0x00309D, 0x00309E], + [0x0030A0, 0x0030FE], + [0x003100, 0x003130], + [0x00318F, 0x003191], + [0x0031A0, 0x0031FF], + [0x003248, 0x00324F], + [0x003400, 0x00A63F], + [0x00A66D, 0x00A67F], + [0x00A69E, 0x00A721], + [0x00A72F, 0x00A731], + [0x00A771, 0x00A778], + [0x00A787, 0x00A78A], + [0x00A78E, 0x00A78F], + [0x00A793, 0x00A795], + [0x00A7BF, 0x00A7C1], + [0x00A7CA, 0x00A7F4], + [0x00A7F6, 0x00A7F7], + [0x00A7FA, 0x00AB5B], + [0x00AB60, 0x00AB68], + [0x00AB6A, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA0E, 0x00FA0F], + [0x00FA13, 0x00FA14], + [0x00FA23, 0x00FA24], + [0x00FA27, 0x00FA29], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFD, 0x00FDFF], + [0x00FE1A, 0x00FE2F], + [0x00FE45, 0x00FE46], + [0x00FE6C, 0x00FE6F], + [0x00FEFD, 0x00FEFE], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFDF], + [0x00FFF9, 0x0103FF], + [0x010428, 0x0104AF], + [0x0104D4, 0x010C7F], + [0x010CB3, 0x01189F], + [0x0118C0, 0x016E3F], + [0x016E60, 0x01BC9F], + [0x01BCA4, 0x01D15D], + [0x01D165, 0x01D172], + [0x01D17B, 0x01D1BA], + [0x01D1C1, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01D800, 0x01E8FF], + [0x01E922, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01F0FF], + [0x01F10B, 0x01F10F], + [0x01F150, 0x01F169], + [0x01F16D, 0x01F18F], + [0x01F191, 0x01F1FF], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01FBEF], + [0x01FBFA, 0x02F7FF], + [0x02FA1E, 0x0DFFFF], + [0x0E1000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Changes_When_NFKC_Casefolded}+$/u, + nonMatchSymbols, + "\\P{Changes_When_NFKC_Casefolded}" +); +testPropertyEscapes( + /^\P{CWKCF}+$/u, + nonMatchSymbols, + "\\P{CWKCF}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js new file mode 100644 index 0000000000..0db60b5a6b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js @@ -0,0 +1,1289 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Changes_When_Titlecased` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B5, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x000137, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x00018C, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001B9, + 0x0001BD, + 0x0001BF, + 0x0001C4, + 0x0001CC, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F3, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x000233, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000259, + 0x000263, + 0x00026F, + 0x000275, + 0x00027D, + 0x000280, + 0x000292, + 0x000345, + 0x000371, + 0x000373, + 0x000377, + 0x000390, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F5, + 0x0003F8, + 0x0003FB, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x000481, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x00052F, + 0x001D79, + 0x001D7D, + 0x001D8E, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001FBE, + 0x00214E, + 0x002184, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C73, + 0x002C76, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CE3, + 0x002CEC, + 0x002CEE, + 0x002CF3, + 0x002D27, + 0x002D2D, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A66D, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A69B, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A72F, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A76F, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A787, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7BF, + 0x00A7C3, + 0x00A7C8, + 0x00A7CA, + 0x00A7F6, + 0x00AB53 + ], + ranges: [ + [0x000061, 0x00007A], + [0x0000DF, 0x0000F6], + [0x0000F8, 0x0000FF], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x000199, 0x00019A], + [0x0001C6, 0x0001C7], + [0x0001C9, 0x0001CA], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F1], + [0x00023F, 0x000240], + [0x00024F, 0x000254], + [0x000256, 0x000257], + [0x00025B, 0x00025C], + [0x000260, 0x000261], + [0x000265, 0x000266], + [0x000268, 0x00026C], + [0x000271, 0x000272], + [0x000282, 0x000283], + [0x000287, 0x00028C], + [0x00029D, 0x00029E], + [0x00037B, 0x00037D], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D1], + [0x0003D5, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x000430, 0x00045F], + [0x0004CE, 0x0004CF], + [0x000561, 0x000587], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001E95, 0x001E9B], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F15], + [0x001F20, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F45], + [0x001F50, 0x001F57], + [0x001F60, 0x001F67], + [0x001F70, 0x001F7D], + [0x001F80, 0x001F87], + [0x001F90, 0x001F97], + [0x001FA0, 0x001FA7], + [0x001FB0, 0x001FB4], + [0x001FB6, 0x001FB7], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FC7], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FD7], + [0x001FE0, 0x001FE7], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FF7], + [0x002170, 0x00217F], + [0x0024D0, 0x0024E9], + [0x002C30, 0x002C5E], + [0x002C65, 0x002C66], + [0x002D00, 0x002D25], + [0x00A793, 0x00A794], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF41, 0x00FF5A], + [0x010428, 0x01044F], + [0x0104D8, 0x0104FB], + [0x010CC0, 0x010CF2], + [0x0118C0, 0x0118DF], + [0x016E60, 0x016E7F], + [0x01E922, 0x01E943] + ] +}); +testPropertyEscapes( + /^\p{Changes_When_Titlecased}+$/u, + matchSymbols, + "\\p{Changes_When_Titlecased}" +); +testPropertyEscapes( + /^\p{CWT}+$/u, + matchSymbols, + "\\p{CWT}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000F7, + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001B5, + 0x0001BE, + 0x0001C5, + 0x0001C8, + 0x0001CB, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F2, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000255, + 0x000258, + 0x00025A, + 0x000262, + 0x000264, + 0x000267, + 0x000270, + 0x000281, + 0x000372, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001FB5, + 0x001FC5, + 0x001FF5, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CED, + 0x002D26, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A792, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C9 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000060], + [0x00007B, 0x0000B4], + [0x0000B6, 0x0000DE], + [0x000138, 0x000139], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018D, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019B, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001A9, 0x0001AC], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001BA, 0x0001BC], + [0x0001C0, 0x0001C3], + [0x0001F6, 0x0001F8], + [0x000220, 0x000222], + [0x000234, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x00025D, 0x00025F], + [0x00026D, 0x00026E], + [0x000273, 0x000274], + [0x000276, 0x00027C], + [0x00027E, 0x00027F], + [0x000284, 0x000286], + [0x00028D, 0x000291], + [0x000293, 0x00029C], + [0x00029F, 0x000344], + [0x000346, 0x000370], + [0x000374, 0x000376], + [0x000378, 0x00037A], + [0x00037E, 0x00038F], + [0x000391, 0x0003AB], + [0x0003D2, 0x0003D4], + [0x0003F6, 0x0003F7], + [0x0003F9, 0x0003FA], + [0x0003FC, 0x00042F], + [0x000482, 0x00048A], + [0x0004C0, 0x0004C1], + [0x000530, 0x000560], + [0x000588, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001D78], + [0x001D7A, 0x001D7C], + [0x001D7E, 0x001D8D], + [0x001D8F, 0x001E00], + [0x001E9C, 0x001EA0], + [0x001F08, 0x001F0F], + [0x001F16, 0x001F1F], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F46, 0x001F4F], + [0x001F58, 0x001F5F], + [0x001F68, 0x001F6F], + [0x001F7E, 0x001F7F], + [0x001F88, 0x001F8F], + [0x001F98, 0x001F9F], + [0x001FA8, 0x001FAF], + [0x001FB8, 0x001FBD], + [0x001FBF, 0x001FC1], + [0x001FC8, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FD8, 0x001FDF], + [0x001FE8, 0x001FF1], + [0x001FF8, 0x00214D], + [0x00214F, 0x00216F], + [0x002180, 0x002183], + [0x002185, 0x0024CF], + [0x0024EA, 0x002C2F], + [0x002C5F, 0x002C60], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C72], + [0x002C74, 0x002C75], + [0x002C77, 0x002C80], + [0x002CE4, 0x002CEB], + [0x002CEF, 0x002CF2], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A640], + [0x00A66E, 0x00A680], + [0x00A69C, 0x00A722], + [0x00A730, 0x00A732], + [0x00A770, 0x00A779], + [0x00A77D, 0x00A77E], + [0x00A788, 0x00A78B], + [0x00A78D, 0x00A790], + [0x00A795, 0x00A796], + [0x00A7AA, 0x00A7B4], + [0x00A7C0, 0x00A7C2], + [0x00A7C4, 0x00A7C7], + [0x00A7CB, 0x00A7F5], + [0x00A7F7, 0x00AB52], + [0x00AB54, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF40], + [0x00FF5B, 0x010427], + [0x010450, 0x0104D7], + [0x0104FC, 0x010CBF], + [0x010CF3, 0x0118BF], + [0x0118E0, 0x016E5F], + [0x016E80, 0x01E921], + [0x01E944, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Changes_When_Titlecased}+$/u, + nonMatchSymbols, + "\\P{Changes_When_Titlecased}" +); +testPropertyEscapes( + /^\P{CWT}+$/u, + nonMatchSymbols, + "\\P{CWT}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js new file mode 100644 index 0000000000..8f4deb9764 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js @@ -0,0 +1,1291 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Changes_When_Uppercased` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B5, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x000137, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x00018C, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001B9, + 0x0001BD, + 0x0001BF, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x000233, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000259, + 0x000263, + 0x00026F, + 0x000275, + 0x00027D, + 0x000280, + 0x000292, + 0x000345, + 0x000371, + 0x000373, + 0x000377, + 0x000390, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F5, + 0x0003F8, + 0x0003FB, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x000481, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x00052F, + 0x001D79, + 0x001D7D, + 0x001D8E, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001FBC, + 0x001FBE, + 0x001FCC, + 0x001FFC, + 0x00214E, + 0x002184, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C73, + 0x002C76, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CE3, + 0x002CEC, + 0x002CEE, + 0x002CF3, + 0x002D27, + 0x002D2D, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A66D, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A69B, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A72F, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A76F, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A787, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7BF, + 0x00A7C3, + 0x00A7C8, + 0x00A7CA, + 0x00A7F6, + 0x00AB53 + ], + ranges: [ + [0x000061, 0x00007A], + [0x0000DF, 0x0000F6], + [0x0000F8, 0x0000FF], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x000199, 0x00019A], + [0x0001C5, 0x0001C6], + [0x0001C8, 0x0001C9], + [0x0001CB, 0x0001CC], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x0001F2, 0x0001F3], + [0x00023F, 0x000240], + [0x00024F, 0x000254], + [0x000256, 0x000257], + [0x00025B, 0x00025C], + [0x000260, 0x000261], + [0x000265, 0x000266], + [0x000268, 0x00026C], + [0x000271, 0x000272], + [0x000282, 0x000283], + [0x000287, 0x00028C], + [0x00029D, 0x00029E], + [0x00037B, 0x00037D], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D1], + [0x0003D5, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x000430, 0x00045F], + [0x0004CE, 0x0004CF], + [0x000561, 0x000587], + [0x0010D0, 0x0010FA], + [0x0010FD, 0x0010FF], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001E95, 0x001E9B], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F15], + [0x001F20, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F45], + [0x001F50, 0x001F57], + [0x001F60, 0x001F67], + [0x001F70, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FB7], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FC7], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FD7], + [0x001FE0, 0x001FE7], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FF7], + [0x002170, 0x00217F], + [0x0024D0, 0x0024E9], + [0x002C30, 0x002C5E], + [0x002C65, 0x002C66], + [0x002D00, 0x002D25], + [0x00A793, 0x00A794], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF41, 0x00FF5A], + [0x010428, 0x01044F], + [0x0104D8, 0x0104FB], + [0x010CC0, 0x010CF2], + [0x0118C0, 0x0118DF], + [0x016E60, 0x016E7F], + [0x01E922, 0x01E943] + ] +}); +testPropertyEscapes( + /^\p{Changes_When_Uppercased}+$/u, + matchSymbols, + "\\p{Changes_When_Uppercased}" +); +testPropertyEscapes( + /^\p{CWU}+$/u, + matchSymbols, + "\\p{CWU}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000F7, + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001B5, + 0x0001BE, + 0x0001C7, + 0x0001CA, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F1, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000255, + 0x000258, + 0x00025A, + 0x000262, + 0x000264, + 0x000267, + 0x000270, + 0x000281, + 0x000372, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CED, + 0x002D26, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A792, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C9 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000060], + [0x00007B, 0x0000B4], + [0x0000B6, 0x0000DE], + [0x000138, 0x000139], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018D, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019B, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001A9, 0x0001AC], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001BA, 0x0001BC], + [0x0001C0, 0x0001C4], + [0x0001F6, 0x0001F8], + [0x000220, 0x000222], + [0x000234, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x00025D, 0x00025F], + [0x00026D, 0x00026E], + [0x000273, 0x000274], + [0x000276, 0x00027C], + [0x00027E, 0x00027F], + [0x000284, 0x000286], + [0x00028D, 0x000291], + [0x000293, 0x00029C], + [0x00029F, 0x000344], + [0x000346, 0x000370], + [0x000374, 0x000376], + [0x000378, 0x00037A], + [0x00037E, 0x00038F], + [0x000391, 0x0003AB], + [0x0003D2, 0x0003D4], + [0x0003F6, 0x0003F7], + [0x0003F9, 0x0003FA], + [0x0003FC, 0x00042F], + [0x000482, 0x00048A], + [0x0004C0, 0x0004C1], + [0x000530, 0x000560], + [0x000588, 0x0010CF], + [0x0010FB, 0x0010FC], + [0x001100, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001D78], + [0x001D7A, 0x001D7C], + [0x001D7E, 0x001D8D], + [0x001D8F, 0x001E00], + [0x001E9C, 0x001EA0], + [0x001F08, 0x001F0F], + [0x001F16, 0x001F1F], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F46, 0x001F4F], + [0x001F58, 0x001F5F], + [0x001F68, 0x001F6F], + [0x001F7E, 0x001F7F], + [0x001FB8, 0x001FBB], + [0x001FBF, 0x001FC1], + [0x001FC8, 0x001FCB], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FD8, 0x001FDF], + [0x001FE8, 0x001FF1], + [0x001FF8, 0x001FFB], + [0x001FFD, 0x00214D], + [0x00214F, 0x00216F], + [0x002180, 0x002183], + [0x002185, 0x0024CF], + [0x0024EA, 0x002C2F], + [0x002C5F, 0x002C60], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C72], + [0x002C74, 0x002C75], + [0x002C77, 0x002C80], + [0x002CE4, 0x002CEB], + [0x002CEF, 0x002CF2], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A640], + [0x00A66E, 0x00A680], + [0x00A69C, 0x00A722], + [0x00A730, 0x00A732], + [0x00A770, 0x00A779], + [0x00A77D, 0x00A77E], + [0x00A788, 0x00A78B], + [0x00A78D, 0x00A790], + [0x00A795, 0x00A796], + [0x00A7AA, 0x00A7B4], + [0x00A7C0, 0x00A7C2], + [0x00A7C4, 0x00A7C7], + [0x00A7CB, 0x00A7F5], + [0x00A7F7, 0x00AB52], + [0x00AB54, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF40], + [0x00FF5B, 0x010427], + [0x010450, 0x0104D7], + [0x0104FC, 0x010CBF], + [0x010CF3, 0x0118BF], + [0x0118E0, 0x016E5F], + [0x016E80, 0x01E921], + [0x01E944, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Changes_When_Uppercased}+$/u, + nonMatchSymbols, + "\\P{Changes_When_Uppercased}" +); +testPropertyEscapes( + /^\P{CWU}+$/u, + nonMatchSymbols, + "\\P{CWU}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Dash.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Dash.js new file mode 100644 index 0000000000..f3d8d30203 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Dash.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Dash` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00002D, + 0x00058A, + 0x0005BE, + 0x001400, + 0x001806, + 0x002053, + 0x00207B, + 0x00208B, + 0x002212, + 0x002E17, + 0x002E1A, + 0x002E40, + 0x00301C, + 0x003030, + 0x0030A0, + 0x00FE58, + 0x00FE63, + 0x00FF0D, + 0x010EAD + ], + ranges: [ + [0x002010, 0x002015], + [0x002E3A, 0x002E3B], + [0x00FE31, 0x00FE32] + ] +}); +testPropertyEscapes( + /^\p{Dash}+$/u, + matchSymbols, + "\\p{Dash}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002C], + [0x00002E, 0x000589], + [0x00058B, 0x0005BD], + [0x0005BF, 0x0013FF], + [0x001401, 0x001805], + [0x001807, 0x00200F], + [0x002016, 0x002052], + [0x002054, 0x00207A], + [0x00207C, 0x00208A], + [0x00208C, 0x002211], + [0x002213, 0x002E16], + [0x002E18, 0x002E19], + [0x002E1B, 0x002E39], + [0x002E3C, 0x002E3F], + [0x002E41, 0x00301B], + [0x00301D, 0x00302F], + [0x003031, 0x00309F], + [0x0030A1, 0x00DBFF], + [0x00E000, 0x00FE30], + [0x00FE33, 0x00FE57], + [0x00FE59, 0x00FE62], + [0x00FE64, 0x00FF0C], + [0x00FF0E, 0x010EAC], + [0x010EAE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Dash}+$/u, + nonMatchSymbols, + "\\P{Dash}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js new file mode 100644 index 0000000000..34967377af --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Default_Ignorable_Code_Point` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AD, + 0x00034F, + 0x00061C, + 0x003164, + 0x00FEFF, + 0x00FFA0 + ], + ranges: [ + [0x00115F, 0x001160], + [0x0017B4, 0x0017B5], + [0x00180B, 0x00180E], + [0x00200B, 0x00200F], + [0x00202A, 0x00202E], + [0x002060, 0x00206F], + [0x00FE00, 0x00FE0F], + [0x00FFF0, 0x00FFF8], + [0x01BCA0, 0x01BCA3], + [0x01D173, 0x01D17A], + [0x0E0000, 0x0E0FFF] + ] +}); +testPropertyEscapes( + /^\p{Default_Ignorable_Code_Point}+$/u, + matchSymbols, + "\\p{Default_Ignorable_Code_Point}" +); +testPropertyEscapes( + /^\p{DI}+$/u, + matchSymbols, + "\\p{DI}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000AC], + [0x0000AE, 0x00034E], + [0x000350, 0x00061B], + [0x00061D, 0x00115E], + [0x001161, 0x0017B3], + [0x0017B6, 0x00180A], + [0x00180F, 0x00200A], + [0x002010, 0x002029], + [0x00202F, 0x00205F], + [0x002070, 0x003163], + [0x003165, 0x00DBFF], + [0x00E000, 0x00FDFF], + [0x00FE10, 0x00FEFE], + [0x00FF00, 0x00FF9F], + [0x00FFA1, 0x00FFEF], + [0x00FFF9, 0x01BC9F], + [0x01BCA4, 0x01D172], + [0x01D17B, 0x0DFFFF], + [0x0E1000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Default_Ignorable_Code_Point}+$/u, + nonMatchSymbols, + "\\P{Default_Ignorable_Code_Point}" +); +testPropertyEscapes( + /^\P{DI}+$/u, + nonMatchSymbols, + "\\P{DI}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Deprecated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Deprecated.js new file mode 100644 index 0000000000..6d61282eb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Deprecated.js @@ -0,0 +1,69 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Deprecated` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000149, + 0x000673, + 0x000F77, + 0x000F79, + 0x0E0001 + ], + ranges: [ + [0x0017A3, 0x0017A4], + [0x00206A, 0x00206F], + [0x002329, 0x00232A] + ] +}); +testPropertyEscapes( + /^\p{Deprecated}+$/u, + matchSymbols, + "\\p{Deprecated}" +); +testPropertyEscapes( + /^\p{Dep}+$/u, + matchSymbols, + "\\p{Dep}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000F78 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000148], + [0x00014A, 0x000672], + [0x000674, 0x000F76], + [0x000F7A, 0x0017A2], + [0x0017A5, 0x002069], + [0x002070, 0x002328], + [0x00232B, 0x00DBFF], + [0x00E000, 0x0E0000], + [0x0E0002, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Deprecated}+$/u, + nonMatchSymbols, + "\\P{Deprecated}" +); +testPropertyEscapes( + /^\P{Dep}+$/u, + nonMatchSymbols, + "\\P{Dep}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Diacritic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Diacritic.js new file mode 100644 index 0000000000..e8ec927911 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Diacritic.js @@ -0,0 +1,405 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Diacritic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00005E, + 0x000060, + 0x0000A8, + 0x0000AF, + 0x0000B4, + 0x00037A, + 0x000559, + 0x0005BF, + 0x0005C4, + 0x00093C, + 0x00094D, + 0x000971, + 0x0009BC, + 0x0009CD, + 0x000A3C, + 0x000A4D, + 0x000ABC, + 0x000ACD, + 0x000B3C, + 0x000B4D, + 0x000B55, + 0x000BCD, + 0x000C4D, + 0x000CBC, + 0x000CCD, + 0x000D4D, + 0x000DCA, + 0x000E4E, + 0x000EBA, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x001037, + 0x00108F, + 0x0017DD, + 0x001A7F, + 0x001B34, + 0x001B44, + 0x001CED, + 0x001CF4, + 0x001FBD, + 0x002E2F, + 0x0030FC, + 0x00A66F, + 0x00A67F, + 0x00A8C4, + 0x00A953, + 0x00A9B3, + 0x00A9C0, + 0x00A9E5, + 0x00AAF6, + 0x00FB1E, + 0x00FF3E, + 0x00FF40, + 0x00FF70, + 0x00FFE3, + 0x0102E0, + 0x011173, + 0x0111C0, + 0x01133C, + 0x01134D, + 0x011442, + 0x011446, + 0x01163F, + 0x01172B, + 0x011943, + 0x0119E0, + 0x011A34, + 0x011A47, + 0x011A99, + 0x011C3F, + 0x011D42, + 0x011D97 + ], + ranges: [ + [0x0000B7, 0x0000B8], + [0x0002B0, 0x00034E], + [0x000350, 0x000357], + [0x00035D, 0x000362], + [0x000374, 0x000375], + [0x000384, 0x000385], + [0x000483, 0x000487], + [0x000591, 0x0005A1], + [0x0005A3, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x00064B, 0x000652], + [0x000657, 0x000658], + [0x0006DF, 0x0006E0], + [0x0006E5, 0x0006E6], + [0x0006EA, 0x0006EC], + [0x000730, 0x00074A], + [0x0007A6, 0x0007B0], + [0x0007EB, 0x0007F5], + [0x000818, 0x000819], + [0x0008E3, 0x0008FE], + [0x000951, 0x000954], + [0x000AFD, 0x000AFF], + [0x000D3B, 0x000D3C], + [0x000E47, 0x000E4C], + [0x000EC8, 0x000ECC], + [0x000F18, 0x000F19], + [0x000F3E, 0x000F3F], + [0x000F82, 0x000F84], + [0x000F86, 0x000F87], + [0x001039, 0x00103A], + [0x001063, 0x001064], + [0x001069, 0x00106D], + [0x001087, 0x00108D], + [0x00109A, 0x00109B], + [0x00135D, 0x00135F], + [0x0017C9, 0x0017D3], + [0x001939, 0x00193B], + [0x001A75, 0x001A7C], + [0x001AB0, 0x001ABD], + [0x001B6B, 0x001B73], + [0x001BAA, 0x001BAB], + [0x001C36, 0x001C37], + [0x001C78, 0x001C7D], + [0x001CD0, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001D2C, 0x001D6A], + [0x001DC4, 0x001DCF], + [0x001DF5, 0x001DF9], + [0x001DFD, 0x001DFF], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FDD, 0x001FDF], + [0x001FED, 0x001FEF], + [0x001FFD, 0x001FFE], + [0x002CEF, 0x002CF1], + [0x00302A, 0x00302F], + [0x003099, 0x00309C], + [0x00A67C, 0x00A67D], + [0x00A69C, 0x00A69D], + [0x00A6F0, 0x00A6F1], + [0x00A700, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A7F8, 0x00A7F9], + [0x00A8E0, 0x00A8F1], + [0x00A92B, 0x00A92E], + [0x00AA7B, 0x00AA7D], + [0x00AABF, 0x00AAC2], + [0x00AB5B, 0x00AB5F], + [0x00AB69, 0x00AB6B], + [0x00ABEC, 0x00ABED], + [0x00FE20, 0x00FE2F], + [0x00FF9E, 0x00FF9F], + [0x010AE5, 0x010AE6], + [0x010D22, 0x010D27], + [0x010F46, 0x010F50], + [0x0110B9, 0x0110BA], + [0x011133, 0x011134], + [0x0111CA, 0x0111CC], + [0x011235, 0x011236], + [0x0112E9, 0x0112EA], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x0114C2, 0x0114C3], + [0x0115BF, 0x0115C0], + [0x0116B6, 0x0116B7], + [0x011839, 0x01183A], + [0x01193D, 0x01193E], + [0x011D44, 0x011D45], + [0x016AF0, 0x016AF4], + [0x016B30, 0x016B36], + [0x016F8F, 0x016F9F], + [0x016FF0, 0x016FF1], + [0x01D167, 0x01D169], + [0x01D16D, 0x01D172], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01E130, 0x01E136], + [0x01E2EC, 0x01E2EF], + [0x01E8D0, 0x01E8D6], + [0x01E944, 0x01E946], + [0x01E948, 0x01E94A] + ] +}); +testPropertyEscapes( + /^\p{Diacritic}+$/u, + matchSymbols, + "\\p{Diacritic}" +); +testPropertyEscapes( + /^\p{Dia}+$/u, + matchSymbols, + "\\p{Dia}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x00034F, + 0x0005A2, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x000E4D, + 0x000F36, + 0x000F38, + 0x000F85, + 0x001038, + 0x00108E, + 0x001FBE, + 0x00A67E, + 0x00FF3F, + 0x011D43, + 0x01E947 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00005D], + [0x000061, 0x0000A7], + [0x0000A9, 0x0000AE], + [0x0000B0, 0x0000B3], + [0x0000B5, 0x0000B6], + [0x0000B9, 0x0002AF], + [0x000358, 0x00035C], + [0x000363, 0x000373], + [0x000376, 0x000379], + [0x00037B, 0x000383], + [0x000386, 0x000482], + [0x000488, 0x000558], + [0x00055A, 0x000590], + [0x0005C5, 0x00064A], + [0x000653, 0x000656], + [0x000659, 0x0006DE], + [0x0006E1, 0x0006E4], + [0x0006E7, 0x0006E9], + [0x0006ED, 0x00072F], + [0x00074B, 0x0007A5], + [0x0007B1, 0x0007EA], + [0x0007F6, 0x000817], + [0x00081A, 0x0008E2], + [0x0008FF, 0x00093B], + [0x00093D, 0x00094C], + [0x00094E, 0x000950], + [0x000955, 0x000970], + [0x000972, 0x0009BB], + [0x0009BD, 0x0009CC], + [0x0009CE, 0x000A3B], + [0x000A3D, 0x000A4C], + [0x000A4E, 0x000ABB], + [0x000ABD, 0x000ACC], + [0x000ACE, 0x000AFC], + [0x000B00, 0x000B3B], + [0x000B3D, 0x000B4C], + [0x000B4E, 0x000B54], + [0x000B56, 0x000BCC], + [0x000BCE, 0x000C4C], + [0x000C4E, 0x000CBB], + [0x000CBD, 0x000CCC], + [0x000CCE, 0x000D3A], + [0x000D3D, 0x000D4C], + [0x000D4E, 0x000DC9], + [0x000DCB, 0x000E46], + [0x000E4F, 0x000EB9], + [0x000EBB, 0x000EC7], + [0x000ECD, 0x000F17], + [0x000F1A, 0x000F34], + [0x000F3A, 0x000F3D], + [0x000F40, 0x000F81], + [0x000F88, 0x000FC5], + [0x000FC7, 0x001036], + [0x00103B, 0x001062], + [0x001065, 0x001068], + [0x00106E, 0x001086], + [0x001090, 0x001099], + [0x00109C, 0x00135C], + [0x001360, 0x0017C8], + [0x0017D4, 0x0017DC], + [0x0017DE, 0x001938], + [0x00193C, 0x001A74], + [0x001A7D, 0x001A7E], + [0x001A80, 0x001AAF], + [0x001ABE, 0x001B33], + [0x001B35, 0x001B43], + [0x001B45, 0x001B6A], + [0x001B74, 0x001BA9], + [0x001BAC, 0x001C35], + [0x001C38, 0x001C77], + [0x001C7E, 0x001CCF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x001CFA, 0x001D2B], + [0x001D6B, 0x001DC3], + [0x001DD0, 0x001DF4], + [0x001DFA, 0x001DFC], + [0x001E00, 0x001FBC], + [0x001FC2, 0x001FCC], + [0x001FD0, 0x001FDC], + [0x001FE0, 0x001FEC], + [0x001FF0, 0x001FFC], + [0x001FFF, 0x002CEE], + [0x002CF2, 0x002E2E], + [0x002E30, 0x003029], + [0x003030, 0x003098], + [0x00309D, 0x0030FB], + [0x0030FD, 0x00A66E], + [0x00A670, 0x00A67B], + [0x00A680, 0x00A69B], + [0x00A69E, 0x00A6EF], + [0x00A6F2, 0x00A6FF], + [0x00A722, 0x00A787], + [0x00A78B, 0x00A7F7], + [0x00A7FA, 0x00A8C3], + [0x00A8C5, 0x00A8DF], + [0x00A8F2, 0x00A92A], + [0x00A92F, 0x00A952], + [0x00A954, 0x00A9B2], + [0x00A9B4, 0x00A9BF], + [0x00A9C1, 0x00A9E4], + [0x00A9E6, 0x00AA7A], + [0x00AA7E, 0x00AABE], + [0x00AAC3, 0x00AAF5], + [0x00AAF7, 0x00AB5A], + [0x00AB60, 0x00AB68], + [0x00AB6C, 0x00ABEB], + [0x00ABEE, 0x00DBFF], + [0x00E000, 0x00FB1D], + [0x00FB1F, 0x00FE1F], + [0x00FE30, 0x00FF3D], + [0x00FF41, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x00FFA0, 0x00FFE2], + [0x00FFE4, 0x0102DF], + [0x0102E1, 0x010AE4], + [0x010AE7, 0x010D21], + [0x010D28, 0x010F45], + [0x010F51, 0x0110B8], + [0x0110BB, 0x011132], + [0x011135, 0x011172], + [0x011174, 0x0111BF], + [0x0111C1, 0x0111C9], + [0x0111CD, 0x011234], + [0x011237, 0x0112E8], + [0x0112EB, 0x01133B], + [0x01133D, 0x01134C], + [0x01134E, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x011441], + [0x011443, 0x011445], + [0x011447, 0x0114C1], + [0x0114C4, 0x0115BE], + [0x0115C1, 0x01163E], + [0x011640, 0x0116B5], + [0x0116B8, 0x01172A], + [0x01172C, 0x011838], + [0x01183B, 0x01193C], + [0x01193F, 0x011942], + [0x011944, 0x0119DF], + [0x0119E1, 0x011A33], + [0x011A35, 0x011A46], + [0x011A48, 0x011A98], + [0x011A9A, 0x011C3E], + [0x011C40, 0x011D41], + [0x011D46, 0x011D96], + [0x011D98, 0x016AEF], + [0x016AF5, 0x016B2F], + [0x016B37, 0x016F8E], + [0x016FA0, 0x016FEF], + [0x016FF2, 0x01D166], + [0x01D16A, 0x01D16C], + [0x01D173, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01E12F], + [0x01E137, 0x01E2EB], + [0x01E2F0, 0x01E8CF], + [0x01E8D7, 0x01E943], + [0x01E94B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Diacritic}+$/u, + nonMatchSymbols, + "\\P{Diacritic}" +); +testPropertyEscapes( + /^\P{Dia}+$/u, + nonMatchSymbols, + "\\P{Dia}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji.js new file mode 100644 index 0000000000..0bf6f9f8ec --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji.js @@ -0,0 +1,347 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Emoji` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000023, + 0x00002A, + 0x0000A9, + 0x0000AE, + 0x00203C, + 0x002049, + 0x002122, + 0x002139, + 0x002328, + 0x0023CF, + 0x0024C2, + 0x0025B6, + 0x0025C0, + 0x00260E, + 0x002611, + 0x002618, + 0x00261D, + 0x002620, + 0x002626, + 0x00262A, + 0x002640, + 0x002642, + 0x002663, + 0x002668, + 0x00267B, + 0x002699, + 0x0026A7, + 0x0026C8, + 0x0026D1, + 0x0026FD, + 0x002702, + 0x002705, + 0x00270F, + 0x002712, + 0x002714, + 0x002716, + 0x00271D, + 0x002721, + 0x002728, + 0x002744, + 0x002747, + 0x00274C, + 0x00274E, + 0x002757, + 0x0027A1, + 0x0027B0, + 0x0027BF, + 0x002B50, + 0x002B55, + 0x003030, + 0x00303D, + 0x003297, + 0x003299, + 0x01F004, + 0x01F0CF, + 0x01F18E, + 0x01F21A, + 0x01F22F, + 0x01F587, + 0x01F590, + 0x01F5A8, + 0x01F5BC, + 0x01F5E1, + 0x01F5E3, + 0x01F5E8, + 0x01F5EF, + 0x01F5F3, + 0x01F6E9, + 0x01F6F0 + ], + ranges: [ + [0x000030, 0x000039], + [0x002194, 0x002199], + [0x0021A9, 0x0021AA], + [0x00231A, 0x00231B], + [0x0023E9, 0x0023F3], + [0x0023F8, 0x0023FA], + [0x0025AA, 0x0025AB], + [0x0025FB, 0x0025FE], + [0x002600, 0x002604], + [0x002614, 0x002615], + [0x002622, 0x002623], + [0x00262E, 0x00262F], + [0x002638, 0x00263A], + [0x002648, 0x002653], + [0x00265F, 0x002660], + [0x002665, 0x002666], + [0x00267E, 0x00267F], + [0x002692, 0x002697], + [0x00269B, 0x00269C], + [0x0026A0, 0x0026A1], + [0x0026AA, 0x0026AB], + [0x0026B0, 0x0026B1], + [0x0026BD, 0x0026BE], + [0x0026C4, 0x0026C5], + [0x0026CE, 0x0026CF], + [0x0026D3, 0x0026D4], + [0x0026E9, 0x0026EA], + [0x0026F0, 0x0026F5], + [0x0026F7, 0x0026FA], + [0x002708, 0x00270D], + [0x002733, 0x002734], + [0x002753, 0x002755], + [0x002763, 0x002764], + [0x002795, 0x002797], + [0x002934, 0x002935], + [0x002B05, 0x002B07], + [0x002B1B, 0x002B1C], + [0x01F170, 0x01F171], + [0x01F17E, 0x01F17F], + [0x01F191, 0x01F19A], + [0x01F1E6, 0x01F1FF], + [0x01F201, 0x01F202], + [0x01F232, 0x01F23A], + [0x01F250, 0x01F251], + [0x01F300, 0x01F321], + [0x01F324, 0x01F393], + [0x01F396, 0x01F397], + [0x01F399, 0x01F39B], + [0x01F39E, 0x01F3F0], + [0x01F3F3, 0x01F3F5], + [0x01F3F7, 0x01F4FD], + [0x01F4FF, 0x01F53D], + [0x01F549, 0x01F54E], + [0x01F550, 0x01F567], + [0x01F56F, 0x01F570], + [0x01F573, 0x01F57A], + [0x01F58A, 0x01F58D], + [0x01F595, 0x01F596], + [0x01F5A4, 0x01F5A5], + [0x01F5B1, 0x01F5B2], + [0x01F5C2, 0x01F5C4], + [0x01F5D1, 0x01F5D3], + [0x01F5DC, 0x01F5DE], + [0x01F5FA, 0x01F64F], + [0x01F680, 0x01F6C5], + [0x01F6CB, 0x01F6D2], + [0x01F6D5, 0x01F6D7], + [0x01F6E0, 0x01F6E5], + [0x01F6EB, 0x01F6EC], + [0x01F6F3, 0x01F6FC], + [0x01F7E0, 0x01F7EB], + [0x01F90C, 0x01F93A], + [0x01F93C, 0x01F945], + [0x01F947, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01F9FF], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6] + ] +}); +testPropertyEscapes( + /^\p{Emoji}+$/u, + matchSymbols, + "\\p{Emoji}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0025FF, + 0x002621, + 0x002641, + 0x002664, + 0x002667, + 0x002698, + 0x00269A, + 0x0026D0, + 0x0026D2, + 0x0026F6, + 0x00270E, + 0x002713, + 0x002715, + 0x00274D, + 0x002756, + 0x003298, + 0x01F200, + 0x01F398, + 0x01F3F6, + 0x01F4FE, + 0x01F54F, + 0x01F5E2, + 0x01F6EA, + 0x01F93B, + 0x01F946, + 0x01F979, + 0x01F9CC + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000022], + [0x000024, 0x000029], + [0x00002B, 0x00002F], + [0x00003A, 0x0000A8], + [0x0000AA, 0x0000AD], + [0x0000AF, 0x00203B], + [0x00203D, 0x002048], + [0x00204A, 0x002121], + [0x002123, 0x002138], + [0x00213A, 0x002193], + [0x00219A, 0x0021A8], + [0x0021AB, 0x002319], + [0x00231C, 0x002327], + [0x002329, 0x0023CE], + [0x0023D0, 0x0023E8], + [0x0023F4, 0x0023F7], + [0x0023FB, 0x0024C1], + [0x0024C3, 0x0025A9], + [0x0025AC, 0x0025B5], + [0x0025B7, 0x0025BF], + [0x0025C1, 0x0025FA], + [0x002605, 0x00260D], + [0x00260F, 0x002610], + [0x002612, 0x002613], + [0x002616, 0x002617], + [0x002619, 0x00261C], + [0x00261E, 0x00261F], + [0x002624, 0x002625], + [0x002627, 0x002629], + [0x00262B, 0x00262D], + [0x002630, 0x002637], + [0x00263B, 0x00263F], + [0x002643, 0x002647], + [0x002654, 0x00265E], + [0x002661, 0x002662], + [0x002669, 0x00267A], + [0x00267C, 0x00267D], + [0x002680, 0x002691], + [0x00269D, 0x00269F], + [0x0026A2, 0x0026A6], + [0x0026A8, 0x0026A9], + [0x0026AC, 0x0026AF], + [0x0026B2, 0x0026BC], + [0x0026BF, 0x0026C3], + [0x0026C6, 0x0026C7], + [0x0026C9, 0x0026CD], + [0x0026D5, 0x0026E8], + [0x0026EB, 0x0026EF], + [0x0026FB, 0x0026FC], + [0x0026FE, 0x002701], + [0x002703, 0x002704], + [0x002706, 0x002707], + [0x002710, 0x002711], + [0x002717, 0x00271C], + [0x00271E, 0x002720], + [0x002722, 0x002727], + [0x002729, 0x002732], + [0x002735, 0x002743], + [0x002745, 0x002746], + [0x002748, 0x00274B], + [0x00274F, 0x002752], + [0x002758, 0x002762], + [0x002765, 0x002794], + [0x002798, 0x0027A0], + [0x0027A2, 0x0027AF], + [0x0027B1, 0x0027BE], + [0x0027C0, 0x002933], + [0x002936, 0x002B04], + [0x002B08, 0x002B1A], + [0x002B1D, 0x002B4F], + [0x002B51, 0x002B54], + [0x002B56, 0x00302F], + [0x003031, 0x00303C], + [0x00303E, 0x003296], + [0x00329A, 0x00DBFF], + [0x00E000, 0x01F003], + [0x01F005, 0x01F0CE], + [0x01F0D0, 0x01F16F], + [0x01F172, 0x01F17D], + [0x01F180, 0x01F18D], + [0x01F18F, 0x01F190], + [0x01F19B, 0x01F1E5], + [0x01F203, 0x01F219], + [0x01F21B, 0x01F22E], + [0x01F230, 0x01F231], + [0x01F23B, 0x01F24F], + [0x01F252, 0x01F2FF], + [0x01F322, 0x01F323], + [0x01F394, 0x01F395], + [0x01F39C, 0x01F39D], + [0x01F3F1, 0x01F3F2], + [0x01F53E, 0x01F548], + [0x01F568, 0x01F56E], + [0x01F571, 0x01F572], + [0x01F57B, 0x01F586], + [0x01F588, 0x01F589], + [0x01F58E, 0x01F58F], + [0x01F591, 0x01F594], + [0x01F597, 0x01F5A3], + [0x01F5A6, 0x01F5A7], + [0x01F5A9, 0x01F5B0], + [0x01F5B3, 0x01F5BB], + [0x01F5BD, 0x01F5C1], + [0x01F5C5, 0x01F5D0], + [0x01F5D4, 0x01F5DB], + [0x01F5DF, 0x01F5E0], + [0x01F5E4, 0x01F5E7], + [0x01F5E9, 0x01F5EE], + [0x01F5F0, 0x01F5F2], + [0x01F5F4, 0x01F5F9], + [0x01F650, 0x01F67F], + [0x01F6C6, 0x01F6CA], + [0x01F6D3, 0x01F6D4], + [0x01F6D8, 0x01F6DF], + [0x01F6E6, 0x01F6E8], + [0x01F6ED, 0x01F6EF], + [0x01F6F1, 0x01F6F2], + [0x01F6FD, 0x01F7DF], + [0x01F7EC, 0x01F90B], + [0x01FA00, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Emoji}+$/u, + nonMatchSymbols, + "\\P{Emoji}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Component.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Component.js new file mode 100644 index 0000000000..a10b3037b4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Component.js @@ -0,0 +1,72 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Emoji_Component` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000023, + 0x00002A, + 0x00200D, + 0x0020E3, + 0x00FE0F + ], + ranges: [ + [0x000030, 0x000039], + [0x01F1E6, 0x01F1FF], + [0x01F3FB, 0x01F3FF], + [0x01F9B0, 0x01F9B3], + [0x0E0020, 0x0E007F] + ] +}); +testPropertyEscapes( + /^\p{Emoji_Component}+$/u, + matchSymbols, + "\\p{Emoji_Component}" +); +testPropertyEscapes( + /^\p{EComp}+$/u, + matchSymbols, + "\\p{EComp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000022], + [0x000024, 0x000029], + [0x00002B, 0x00002F], + [0x00003A, 0x00200C], + [0x00200E, 0x0020E2], + [0x0020E4, 0x00DBFF], + [0x00E000, 0x00FE0E], + [0x00FE10, 0x01F1E5], + [0x01F200, 0x01F3FA], + [0x01F400, 0x01F9AF], + [0x01F9B4, 0x0E001F], + [0x0E0080, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Emoji_Component}+$/u, + nonMatchSymbols, + "\\P{Emoji_Component}" +); +testPropertyEscapes( + /^\P{EComp}+$/u, + nonMatchSymbols, + "\\P{EComp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier.js new file mode 100644 index 0000000000..6b6cd916ba --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier.js @@ -0,0 +1,53 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Emoji_Modifier` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01F3FB, 0x01F3FF] + ] +}); +testPropertyEscapes( + /^\p{Emoji_Modifier}+$/u, + matchSymbols, + "\\p{Emoji_Modifier}" +); +testPropertyEscapes( + /^\p{EMod}+$/u, + matchSymbols, + "\\p{EMod}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01F3FA], + [0x01F400, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Emoji_Modifier}+$/u, + nonMatchSymbols, + "\\P{Emoji_Modifier}" +); +testPropertyEscapes( + /^\P{EMod}+$/u, + nonMatchSymbols, + "\\P{EMod}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js new file mode 100644 index 0000000000..203f6ef8e0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js @@ -0,0 +1,129 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Emoji_Modifier_Base` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00261D, + 0x0026F9, + 0x01F385, + 0x01F3C7, + 0x01F47C, + 0x01F48F, + 0x01F491, + 0x01F4AA, + 0x01F57A, + 0x01F590, + 0x01F6A3, + 0x01F6C0, + 0x01F6CC, + 0x01F90C, + 0x01F90F, + 0x01F926, + 0x01F977, + 0x01F9BB + ], + ranges: [ + [0x00270A, 0x00270D], + [0x01F3C2, 0x01F3C4], + [0x01F3CA, 0x01F3CC], + [0x01F442, 0x01F443], + [0x01F446, 0x01F450], + [0x01F466, 0x01F478], + [0x01F481, 0x01F483], + [0x01F485, 0x01F487], + [0x01F574, 0x01F575], + [0x01F595, 0x01F596], + [0x01F645, 0x01F647], + [0x01F64B, 0x01F64F], + [0x01F6B4, 0x01F6B6], + [0x01F918, 0x01F91F], + [0x01F930, 0x01F939], + [0x01F93C, 0x01F93E], + [0x01F9B5, 0x01F9B6], + [0x01F9B8, 0x01F9B9], + [0x01F9CD, 0x01F9CF], + [0x01F9D1, 0x01F9DD] + ] +}); +testPropertyEscapes( + /^\p{Emoji_Modifier_Base}+$/u, + matchSymbols, + "\\p{Emoji_Modifier_Base}" +); +testPropertyEscapes( + /^\p{EBase}+$/u, + matchSymbols, + "\\p{EBase}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01F484, + 0x01F490, + 0x01F9B7, + 0x01F9BA, + 0x01F9D0 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00261C], + [0x00261E, 0x0026F8], + [0x0026FA, 0x002709], + [0x00270E, 0x00DBFF], + [0x00E000, 0x01F384], + [0x01F386, 0x01F3C1], + [0x01F3C5, 0x01F3C6], + [0x01F3C8, 0x01F3C9], + [0x01F3CD, 0x01F441], + [0x01F444, 0x01F445], + [0x01F451, 0x01F465], + [0x01F479, 0x01F47B], + [0x01F47D, 0x01F480], + [0x01F488, 0x01F48E], + [0x01F492, 0x01F4A9], + [0x01F4AB, 0x01F573], + [0x01F576, 0x01F579], + [0x01F57B, 0x01F58F], + [0x01F591, 0x01F594], + [0x01F597, 0x01F644], + [0x01F648, 0x01F64A], + [0x01F650, 0x01F6A2], + [0x01F6A4, 0x01F6B3], + [0x01F6B7, 0x01F6BF], + [0x01F6C1, 0x01F6CB], + [0x01F6CD, 0x01F90B], + [0x01F90D, 0x01F90E], + [0x01F910, 0x01F917], + [0x01F920, 0x01F925], + [0x01F927, 0x01F92F], + [0x01F93A, 0x01F93B], + [0x01F93F, 0x01F976], + [0x01F978, 0x01F9B4], + [0x01F9BC, 0x01F9CC], + [0x01F9DE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Emoji_Modifier_Base}+$/u, + nonMatchSymbols, + "\\P{Emoji_Modifier_Base}" +); +testPropertyEscapes( + /^\P{EBase}+$/u, + nonMatchSymbols, + "\\P{EBase}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js new file mode 100644 index 0000000000..b1c14220e4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js @@ -0,0 +1,215 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Emoji_Presentation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0023F0, + 0x0023F3, + 0x00267F, + 0x002693, + 0x0026A1, + 0x0026CE, + 0x0026D4, + 0x0026EA, + 0x0026F5, + 0x0026FA, + 0x0026FD, + 0x002705, + 0x002728, + 0x00274C, + 0x00274E, + 0x002757, + 0x0027B0, + 0x0027BF, + 0x002B50, + 0x002B55, + 0x01F004, + 0x01F0CF, + 0x01F18E, + 0x01F201, + 0x01F21A, + 0x01F22F, + 0x01F3F4, + 0x01F440, + 0x01F57A, + 0x01F5A4, + 0x01F6CC + ], + ranges: [ + [0x00231A, 0x00231B], + [0x0023E9, 0x0023EC], + [0x0025FD, 0x0025FE], + [0x002614, 0x002615], + [0x002648, 0x002653], + [0x0026AA, 0x0026AB], + [0x0026BD, 0x0026BE], + [0x0026C4, 0x0026C5], + [0x0026F2, 0x0026F3], + [0x00270A, 0x00270B], + [0x002753, 0x002755], + [0x002795, 0x002797], + [0x002B1B, 0x002B1C], + [0x01F191, 0x01F19A], + [0x01F1E6, 0x01F1FF], + [0x01F232, 0x01F236], + [0x01F238, 0x01F23A], + [0x01F250, 0x01F251], + [0x01F300, 0x01F320], + [0x01F32D, 0x01F335], + [0x01F337, 0x01F37C], + [0x01F37E, 0x01F393], + [0x01F3A0, 0x01F3CA], + [0x01F3CF, 0x01F3D3], + [0x01F3E0, 0x01F3F0], + [0x01F3F8, 0x01F43E], + [0x01F442, 0x01F4FC], + [0x01F4FF, 0x01F53D], + [0x01F54B, 0x01F54E], + [0x01F550, 0x01F567], + [0x01F595, 0x01F596], + [0x01F5FB, 0x01F64F], + [0x01F680, 0x01F6C5], + [0x01F6D0, 0x01F6D2], + [0x01F6D5, 0x01F6D7], + [0x01F6EB, 0x01F6EC], + [0x01F6F4, 0x01F6FC], + [0x01F7E0, 0x01F7EB], + [0x01F90C, 0x01F93A], + [0x01F93C, 0x01F945], + [0x01F947, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01F9FF], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6] + ] +}); +testPropertyEscapes( + /^\p{Emoji_Presentation}+$/u, + matchSymbols, + "\\p{Emoji_Presentation}" +); +testPropertyEscapes( + /^\p{EPres}+$/u, + matchSymbols, + "\\p{EPres}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0026F4, + 0x00274D, + 0x002756, + 0x01F200, + 0x01F237, + 0x01F336, + 0x01F37D, + 0x01F43F, + 0x01F441, + 0x01F54F, + 0x01F93B, + 0x01F946, + 0x01F979, + 0x01F9CC + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002319], + [0x00231C, 0x0023E8], + [0x0023ED, 0x0023EF], + [0x0023F1, 0x0023F2], + [0x0023F4, 0x0025FC], + [0x0025FF, 0x002613], + [0x002616, 0x002647], + [0x002654, 0x00267E], + [0x002680, 0x002692], + [0x002694, 0x0026A0], + [0x0026A2, 0x0026A9], + [0x0026AC, 0x0026BC], + [0x0026BF, 0x0026C3], + [0x0026C6, 0x0026CD], + [0x0026CF, 0x0026D3], + [0x0026D5, 0x0026E9], + [0x0026EB, 0x0026F1], + [0x0026F6, 0x0026F9], + [0x0026FB, 0x0026FC], + [0x0026FE, 0x002704], + [0x002706, 0x002709], + [0x00270C, 0x002727], + [0x002729, 0x00274B], + [0x00274F, 0x002752], + [0x002758, 0x002794], + [0x002798, 0x0027AF], + [0x0027B1, 0x0027BE], + [0x0027C0, 0x002B1A], + [0x002B1D, 0x002B4F], + [0x002B51, 0x002B54], + [0x002B56, 0x00DBFF], + [0x00E000, 0x01F003], + [0x01F005, 0x01F0CE], + [0x01F0D0, 0x01F18D], + [0x01F18F, 0x01F190], + [0x01F19B, 0x01F1E5], + [0x01F202, 0x01F219], + [0x01F21B, 0x01F22E], + [0x01F230, 0x01F231], + [0x01F23B, 0x01F24F], + [0x01F252, 0x01F2FF], + [0x01F321, 0x01F32C], + [0x01F394, 0x01F39F], + [0x01F3CB, 0x01F3CE], + [0x01F3D4, 0x01F3DF], + [0x01F3F1, 0x01F3F3], + [0x01F3F5, 0x01F3F7], + [0x01F4FD, 0x01F4FE], + [0x01F53E, 0x01F54A], + [0x01F568, 0x01F579], + [0x01F57B, 0x01F594], + [0x01F597, 0x01F5A3], + [0x01F5A5, 0x01F5FA], + [0x01F650, 0x01F67F], + [0x01F6C6, 0x01F6CB], + [0x01F6CD, 0x01F6CF], + [0x01F6D3, 0x01F6D4], + [0x01F6D8, 0x01F6EA], + [0x01F6ED, 0x01F6F3], + [0x01F6FD, 0x01F7DF], + [0x01F7EC, 0x01F90B], + [0x01FA00, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Emoji_Presentation}+$/u, + nonMatchSymbols, + "\\P{Emoji_Presentation}" +); +testPropertyEscapes( + /^\P{EPres}+$/u, + nonMatchSymbols, + "\\P{EPres}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Extended_Pictographic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Extended_Pictographic.js new file mode 100644 index 0000000000..f004987a61 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Extended_Pictographic.js @@ -0,0 +1,209 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Extended_Pictographic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000A9, + 0x0000AE, + 0x00203C, + 0x002049, + 0x002122, + 0x002139, + 0x002328, + 0x002388, + 0x0023CF, + 0x0024C2, + 0x0025B6, + 0x0025C0, + 0x002714, + 0x002716, + 0x00271D, + 0x002721, + 0x002728, + 0x002744, + 0x002747, + 0x00274C, + 0x00274E, + 0x002757, + 0x0027A1, + 0x0027B0, + 0x0027BF, + 0x002B50, + 0x002B55, + 0x003030, + 0x00303D, + 0x003297, + 0x003299, + 0x01F12F, + 0x01F18E, + 0x01F21A, + 0x01F22F + ], + ranges: [ + [0x002194, 0x002199], + [0x0021A9, 0x0021AA], + [0x00231A, 0x00231B], + [0x0023E9, 0x0023F3], + [0x0023F8, 0x0023FA], + [0x0025AA, 0x0025AB], + [0x0025FB, 0x0025FE], + [0x002600, 0x002605], + [0x002607, 0x002612], + [0x002614, 0x002685], + [0x002690, 0x002705], + [0x002708, 0x002712], + [0x002733, 0x002734], + [0x002753, 0x002755], + [0x002763, 0x002767], + [0x002795, 0x002797], + [0x002934, 0x002935], + [0x002B05, 0x002B07], + [0x002B1B, 0x002B1C], + [0x01F000, 0x01F0FF], + [0x01F10D, 0x01F10F], + [0x01F16C, 0x01F171], + [0x01F17E, 0x01F17F], + [0x01F191, 0x01F19A], + [0x01F1AD, 0x01F1E5], + [0x01F201, 0x01F20F], + [0x01F232, 0x01F23A], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F3FA], + [0x01F400, 0x01F53D], + [0x01F546, 0x01F64F], + [0x01F680, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D5, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8FF], + [0x01F90C, 0x01F93A], + [0x01F93C, 0x01F945], + [0x01F947, 0x01FAFF], + [0x01FC00, 0x01FFFD] + ] +}); +testPropertyEscapes( + /^\p{Extended_Pictographic}+$/u, + matchSymbols, + "\\p{Extended_Pictographic}" +); +testPropertyEscapes( + /^\p{ExtPict}+$/u, + matchSymbols, + "\\p{ExtPict}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0025FF, + 0x002606, + 0x002613, + 0x002713, + 0x002715, + 0x00274D, + 0x002756, + 0x003298, + 0x01F23B, + 0x01F93B, + 0x01F946 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000A8], + [0x0000AA, 0x0000AD], + [0x0000AF, 0x00203B], + [0x00203D, 0x002048], + [0x00204A, 0x002121], + [0x002123, 0x002138], + [0x00213A, 0x002193], + [0x00219A, 0x0021A8], + [0x0021AB, 0x002319], + [0x00231C, 0x002327], + [0x002329, 0x002387], + [0x002389, 0x0023CE], + [0x0023D0, 0x0023E8], + [0x0023F4, 0x0023F7], + [0x0023FB, 0x0024C1], + [0x0024C3, 0x0025A9], + [0x0025AC, 0x0025B5], + [0x0025B7, 0x0025BF], + [0x0025C1, 0x0025FA], + [0x002686, 0x00268F], + [0x002706, 0x002707], + [0x002717, 0x00271C], + [0x00271E, 0x002720], + [0x002722, 0x002727], + [0x002729, 0x002732], + [0x002735, 0x002743], + [0x002745, 0x002746], + [0x002748, 0x00274B], + [0x00274F, 0x002752], + [0x002758, 0x002762], + [0x002768, 0x002794], + [0x002798, 0x0027A0], + [0x0027A2, 0x0027AF], + [0x0027B1, 0x0027BE], + [0x0027C0, 0x002933], + [0x002936, 0x002B04], + [0x002B08, 0x002B1A], + [0x002B1D, 0x002B4F], + [0x002B51, 0x002B54], + [0x002B56, 0x00302F], + [0x003031, 0x00303C], + [0x00303E, 0x003296], + [0x00329A, 0x00DBFF], + [0x00E000, 0x01EFFF], + [0x01F100, 0x01F10C], + [0x01F110, 0x01F12E], + [0x01F130, 0x01F16B], + [0x01F172, 0x01F17D], + [0x01F180, 0x01F18D], + [0x01F18F, 0x01F190], + [0x01F19B, 0x01F1AC], + [0x01F1E6, 0x01F200], + [0x01F210, 0x01F219], + [0x01F21B, 0x01F22E], + [0x01F230, 0x01F231], + [0x01F240, 0x01F248], + [0x01F3FB, 0x01F3FF], + [0x01F53E, 0x01F545], + [0x01F650, 0x01F67F], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D4], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F900, 0x01F90B], + [0x01FB00, 0x01FBFF], + [0x01FFFE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Extended_Pictographic}+$/u, + nonMatchSymbols, + "\\P{Extended_Pictographic}" +); +testPropertyEscapes( + /^\P{ExtPict}+$/u, + nonMatchSymbols, + "\\P{ExtPict}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Extender.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Extender.js new file mode 100644 index 0000000000..8aefb5fb19 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Extender.js @@ -0,0 +1,117 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Extender` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B7, + 0x000640, + 0x0007FA, + 0x000B55, + 0x000E46, + 0x000EC6, + 0x00180A, + 0x001843, + 0x001AA7, + 0x001C36, + 0x001C7B, + 0x003005, + 0x00A015, + 0x00A60C, + 0x00A9CF, + 0x00A9E6, + 0x00AA70, + 0x00AADD, + 0x00FF70, + 0x01135D, + 0x011A98, + 0x016FE3 + ], + ranges: [ + [0x0002D0, 0x0002D1], + [0x003031, 0x003035], + [0x00309D, 0x00309E], + [0x0030FC, 0x0030FE], + [0x00AAF3, 0x00AAF4], + [0x0115C6, 0x0115C8], + [0x016B42, 0x016B43], + [0x016FE0, 0x016FE1], + [0x01E13C, 0x01E13D], + [0x01E944, 0x01E946] + ] +}); +testPropertyEscapes( + /^\p{Extender}+$/u, + matchSymbols, + "\\p{Extender}" +); +testPropertyEscapes( + /^\p{Ext}+$/u, + matchSymbols, + "\\p{Ext}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x016FE2 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000B6], + [0x0000B8, 0x0002CF], + [0x0002D2, 0x00063F], + [0x000641, 0x0007F9], + [0x0007FB, 0x000B54], + [0x000B56, 0x000E45], + [0x000E47, 0x000EC5], + [0x000EC7, 0x001809], + [0x00180B, 0x001842], + [0x001844, 0x001AA6], + [0x001AA8, 0x001C35], + [0x001C37, 0x001C7A], + [0x001C7C, 0x003004], + [0x003006, 0x003030], + [0x003036, 0x00309C], + [0x00309F, 0x0030FB], + [0x0030FF, 0x00A014], + [0x00A016, 0x00A60B], + [0x00A60D, 0x00A9CE], + [0x00A9D0, 0x00A9E5], + [0x00A9E7, 0x00AA6F], + [0x00AA71, 0x00AADC], + [0x00AADE, 0x00AAF2], + [0x00AAF5, 0x00DBFF], + [0x00E000, 0x00FF6F], + [0x00FF71, 0x01135C], + [0x01135E, 0x0115C5], + [0x0115C9, 0x011A97], + [0x011A99, 0x016B41], + [0x016B44, 0x016FDF], + [0x016FE4, 0x01E13B], + [0x01E13E, 0x01E943], + [0x01E947, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Extender}+$/u, + nonMatchSymbols, + "\\P{Extender}" +); +testPropertyEscapes( + /^\P{Ext}+$/u, + nonMatchSymbols, + "\\P{Ext}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js new file mode 100644 index 0000000000..e0c098f7ca --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js @@ -0,0 +1,357 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Cased_Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B5, + 0x00037F, + 0x000386, + 0x00038C, + 0x0010C7, + 0x0010CD, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x002139, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x00A7FA, + 0x01D4A2, + 0x01D4BB, + 0x01D546 + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0001BA], + [0x0001BC, 0x0001BF], + [0x0001C4, 0x000293], + [0x000295, 0x0002AF], + [0x000370, 0x000373], + [0x000376, 0x000377], + [0x00037B, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FD, 0x0010FF], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001D00, 0x001D2B], + [0x001D6B, 0x001D77], + [0x001D79, 0x001D9A], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x00210A, 0x002113], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x00212F, 0x002134], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002183, 0x002184], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002C7B], + [0x002C7E, 0x002CE4], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x00A640, 0x00A66D], + [0x00A680, 0x00A69B], + [0x00A722, 0x00A76F], + [0x00A771, 0x00A787], + [0x00A78B, 0x00A78E], + [0x00A790, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A7F6], + [0x00AB30, 0x00AB5A], + [0x00AB60, 0x00AB68], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x010400, 0x01044F], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x0118A0, 0x0118DF], + [0x016E40, 0x016E7F], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01E900, 0x01E943] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Cased_Letter}+$/u, + matchSymbols, + "\\p{General_Category=Cased_Letter}" +); +testPropertyEscapes( + /^\p{General_Category=LC}+$/u, + matchSymbols, + "\\p{General_Category=LC}" +); +testPropertyEscapes( + /^\p{gc=Cased_Letter}+$/u, + matchSymbols, + "\\p{gc=Cased_Letter}" +); +testPropertyEscapes( + /^\p{gc=LC}+$/u, + matchSymbols, + "\\p{gc=LC}" +); +testPropertyEscapes( + /^\p{Cased_Letter}+$/u, + matchSymbols, + "\\p{Cased_Letter}" +); +testPropertyEscapes( + /^\p{LC}+$/u, + matchSymbols, + "\\p{LC}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x0001BB, + 0x000294, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000530, + 0x0010C6, + 0x001D78, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x00A770, + 0x00A78F, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000B4], + [0x0000B6, 0x0000BF], + [0x0001C0, 0x0001C3], + [0x0002B0, 0x00036F], + [0x000374, 0x000375], + [0x000378, 0x00037A], + [0x000380, 0x000385], + [0x000482, 0x000489], + [0x000557, 0x00055F], + [0x000589, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x0010FB, 0x0010FC], + [0x001100, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CFF], + [0x001D2C, 0x001D6A], + [0x001D9B, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x002135, 0x002138], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x002182], + [0x002185, 0x002BFF], + [0x002C7C, 0x002C7D], + [0x002CE5, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A63F], + [0x00A66E, 0x00A67F], + [0x00A69C, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A7F7, 0x00A7F9], + [0x00A7FB, 0x00AB2F], + [0x00AB5B, 0x00AB5F], + [0x00AB69, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x0103FF], + [0x010450, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x01189F], + [0x0118E0, 0x016E3F], + [0x016E80, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01E8FF], + [0x01E944, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Cased_Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Cased_Letter}" +); +testPropertyEscapes( + /^\P{General_Category=LC}+$/u, + nonMatchSymbols, + "\\P{General_Category=LC}" +); +testPropertyEscapes( + /^\P{gc=Cased_Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Cased_Letter}" +); +testPropertyEscapes( + /^\P{gc=LC}+$/u, + nonMatchSymbols, + "\\P{gc=LC}" +); +testPropertyEscapes( + /^\P{Cased_Letter}+$/u, + nonMatchSymbols, + "\\P{Cased_Letter}" +); +testPropertyEscapes( + /^\P{LC}+$/u, + nonMatchSymbols, + "\\P{LC}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js new file mode 100644 index 0000000000..5904aada17 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js @@ -0,0 +1,237 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Close_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000029, + 0x00005D, + 0x00007D, + 0x000F3B, + 0x000F3D, + 0x00169C, + 0x002046, + 0x00207E, + 0x00208E, + 0x002309, + 0x00230B, + 0x00232A, + 0x002769, + 0x00276B, + 0x00276D, + 0x00276F, + 0x002771, + 0x002773, + 0x002775, + 0x0027C6, + 0x0027E7, + 0x0027E9, + 0x0027EB, + 0x0027ED, + 0x0027EF, + 0x002984, + 0x002986, + 0x002988, + 0x00298A, + 0x00298C, + 0x00298E, + 0x002990, + 0x002992, + 0x002994, + 0x002996, + 0x002998, + 0x0029D9, + 0x0029DB, + 0x0029FD, + 0x002E23, + 0x002E25, + 0x002E27, + 0x002E29, + 0x003009, + 0x00300B, + 0x00300D, + 0x00300F, + 0x003011, + 0x003015, + 0x003017, + 0x003019, + 0x00301B, + 0x00FD3E, + 0x00FE18, + 0x00FE36, + 0x00FE38, + 0x00FE3A, + 0x00FE3C, + 0x00FE3E, + 0x00FE40, + 0x00FE42, + 0x00FE44, + 0x00FE48, + 0x00FE5A, + 0x00FE5C, + 0x00FE5E, + 0x00FF09, + 0x00FF3D, + 0x00FF5D, + 0x00FF60, + 0x00FF63 + ], + ranges: [ + [0x00301E, 0x00301F] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Close_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Close_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Pe}+$/u, + matchSymbols, + "\\p{General_Category=Pe}" +); +testPropertyEscapes( + /^\p{gc=Close_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Close_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Pe}+$/u, + matchSymbols, + "\\p{gc=Pe}" +); +testPropertyEscapes( + /^\p{Close_Punctuation}+$/u, + matchSymbols, + "\\p{Close_Punctuation}" +); +testPropertyEscapes( + /^\p{Pe}+$/u, + matchSymbols, + "\\p{Pe}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000F3C, + 0x00230A, + 0x00276A, + 0x00276C, + 0x00276E, + 0x002770, + 0x002772, + 0x002774, + 0x0027E8, + 0x0027EA, + 0x0027EC, + 0x0027EE, + 0x002985, + 0x002987, + 0x002989, + 0x00298B, + 0x00298D, + 0x00298F, + 0x002991, + 0x002993, + 0x002995, + 0x002997, + 0x0029DA, + 0x002E24, + 0x002E26, + 0x002E28, + 0x00300A, + 0x00300C, + 0x00300E, + 0x003010, + 0x003016, + 0x003018, + 0x00301A, + 0x00FE37, + 0x00FE39, + 0x00FE3B, + 0x00FE3D, + 0x00FE3F, + 0x00FE41, + 0x00FE43, + 0x00FE5B, + 0x00FE5D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000028], + [0x00002A, 0x00005C], + [0x00005E, 0x00007C], + [0x00007E, 0x000F3A], + [0x000F3E, 0x00169B], + [0x00169D, 0x002045], + [0x002047, 0x00207D], + [0x00207F, 0x00208D], + [0x00208F, 0x002308], + [0x00230C, 0x002329], + [0x00232B, 0x002768], + [0x002776, 0x0027C5], + [0x0027C7, 0x0027E6], + [0x0027F0, 0x002983], + [0x002999, 0x0029D8], + [0x0029DC, 0x0029FC], + [0x0029FE, 0x002E22], + [0x002E2A, 0x003008], + [0x003012, 0x003014], + [0x00301C, 0x00301D], + [0x003020, 0x00DBFF], + [0x00E000, 0x00FD3D], + [0x00FD3F, 0x00FE17], + [0x00FE19, 0x00FE35], + [0x00FE45, 0x00FE47], + [0x00FE49, 0x00FE59], + [0x00FE5F, 0x00FF08], + [0x00FF0A, 0x00FF3C], + [0x00FF3E, 0x00FF5C], + [0x00FF5E, 0x00FF5F], + [0x00FF61, 0x00FF62], + [0x00FF64, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Close_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Close_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Pe}+$/u, + nonMatchSymbols, + "\\P{General_Category=Pe}" +); +testPropertyEscapes( + /^\P{gc=Close_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Close_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Pe}+$/u, + nonMatchSymbols, + "\\P{gc=Pe}" +); +testPropertyEscapes( + /^\P{Close_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Close_Punctuation}" +); +testPropertyEscapes( + /^\P{Pe}+$/u, + nonMatchSymbols, + "\\P{Pe}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Connector_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Connector_Punctuation.js new file mode 100644 index 0000000000..8967644bcc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Connector_Punctuation.js @@ -0,0 +1,104 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Connector_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x002054, + 0x00FF3F + ], + ranges: [ + [0x00203F, 0x002040], + [0x00FE33, 0x00FE34], + [0x00FE4D, 0x00FE4F] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Connector_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Connector_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Pc}+$/u, + matchSymbols, + "\\p{General_Category=Pc}" +); +testPropertyEscapes( + /^\p{gc=Connector_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Connector_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Pc}+$/u, + matchSymbols, + "\\p{gc=Pc}" +); +testPropertyEscapes( + /^\p{Connector_Punctuation}+$/u, + matchSymbols, + "\\p{Connector_Punctuation}" +); +testPropertyEscapes( + /^\p{Pc}+$/u, + matchSymbols, + "\\p{Pc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00005E], + [0x000060, 0x00203E], + [0x002041, 0x002053], + [0x002055, 0x00DBFF], + [0x00E000, 0x00FE32], + [0x00FE35, 0x00FE4C], + [0x00FE50, 0x00FF3E], + [0x00FF40, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Connector_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Connector_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Pc}+$/u, + nonMatchSymbols, + "\\P{General_Category=Pc}" +); +testPropertyEscapes( + /^\P{gc=Connector_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Connector_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Pc}+$/u, + nonMatchSymbols, + "\\P{gc=Pc}" +); +testPropertyEscapes( + /^\P{Connector_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Connector_Punctuation}" +); +testPropertyEscapes( + /^\P{Pc}+$/u, + nonMatchSymbols, + "\\P{Pc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Control.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Control.js new file mode 100644 index 0000000000..cc3814a0a5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Control.js @@ -0,0 +1,124 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Control` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00001F], + [0x00007F, 0x00009F] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Control}+$/u, + matchSymbols, + "\\p{General_Category=Control}" +); +testPropertyEscapes( + /^\p{General_Category=Cc}+$/u, + matchSymbols, + "\\p{General_Category=Cc}" +); +testPropertyEscapes( + /^\p{General_Category=cntrl}+$/u, + matchSymbols, + "\\p{General_Category=cntrl}" +); +testPropertyEscapes( + /^\p{gc=Control}+$/u, + matchSymbols, + "\\p{gc=Control}" +); +testPropertyEscapes( + /^\p{gc=Cc}+$/u, + matchSymbols, + "\\p{gc=Cc}" +); +testPropertyEscapes( + /^\p{gc=cntrl}+$/u, + matchSymbols, + "\\p{gc=cntrl}" +); +testPropertyEscapes( + /^\p{Control}+$/u, + matchSymbols, + "\\p{Control}" +); +testPropertyEscapes( + /^\p{Cc}+$/u, + matchSymbols, + "\\p{Cc}" +); +testPropertyEscapes( + /^\p{cntrl}+$/u, + matchSymbols, + "\\p{cntrl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000020, 0x00007E], + [0x0000A0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Control}+$/u, + nonMatchSymbols, + "\\P{General_Category=Control}" +); +testPropertyEscapes( + /^\P{General_Category=Cc}+$/u, + nonMatchSymbols, + "\\P{General_Category=Cc}" +); +testPropertyEscapes( + /^\P{General_Category=cntrl}+$/u, + nonMatchSymbols, + "\\P{General_Category=cntrl}" +); +testPropertyEscapes( + /^\P{gc=Control}+$/u, + nonMatchSymbols, + "\\P{gc=Control}" +); +testPropertyEscapes( + /^\P{gc=Cc}+$/u, + nonMatchSymbols, + "\\P{gc=Cc}" +); +testPropertyEscapes( + /^\P{gc=cntrl}+$/u, + nonMatchSymbols, + "\\P{gc=cntrl}" +); +testPropertyEscapes( + /^\P{Control}+$/u, + nonMatchSymbols, + "\\P{Control}" +); +testPropertyEscapes( + /^\P{Cc}+$/u, + nonMatchSymbols, + "\\P{Cc}" +); +testPropertyEscapes( + /^\P{cntrl}+$/u, + nonMatchSymbols, + "\\P{cntrl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js new file mode 100644 index 0000000000..67ea74b66e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js @@ -0,0 +1,134 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Currency_Symbol` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000024, + 0x00058F, + 0x00060B, + 0x0009FB, + 0x000AF1, + 0x000BF9, + 0x000E3F, + 0x0017DB, + 0x00A838, + 0x00FDFC, + 0x00FE69, + 0x00FF04, + 0x01E2FF, + 0x01ECB0 + ], + ranges: [ + [0x0000A2, 0x0000A5], + [0x0007FE, 0x0007FF], + [0x0009F2, 0x0009F3], + [0x0020A0, 0x0020BF], + [0x00FFE0, 0x00FFE1], + [0x00FFE5, 0x00FFE6], + [0x011FDD, 0x011FE0] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Currency_Symbol}+$/u, + matchSymbols, + "\\p{General_Category=Currency_Symbol}" +); +testPropertyEscapes( + /^\p{General_Category=Sc}+$/u, + matchSymbols, + "\\p{General_Category=Sc}" +); +testPropertyEscapes( + /^\p{gc=Currency_Symbol}+$/u, + matchSymbols, + "\\p{gc=Currency_Symbol}" +); +testPropertyEscapes( + /^\p{gc=Sc}+$/u, + matchSymbols, + "\\p{gc=Sc}" +); +testPropertyEscapes( + /^\p{Currency_Symbol}+$/u, + matchSymbols, + "\\p{Currency_Symbol}" +); +testPropertyEscapes( + /^\p{Sc}+$/u, + matchSymbols, + "\\p{Sc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000023], + [0x000025, 0x0000A1], + [0x0000A6, 0x00058E], + [0x000590, 0x00060A], + [0x00060C, 0x0007FD], + [0x000800, 0x0009F1], + [0x0009F4, 0x0009FA], + [0x0009FC, 0x000AF0], + [0x000AF2, 0x000BF8], + [0x000BFA, 0x000E3E], + [0x000E40, 0x0017DA], + [0x0017DC, 0x00209F], + [0x0020C0, 0x00A837], + [0x00A839, 0x00DBFF], + [0x00E000, 0x00FDFB], + [0x00FDFD, 0x00FE68], + [0x00FE6A, 0x00FF03], + [0x00FF05, 0x00FFDF], + [0x00FFE2, 0x00FFE4], + [0x00FFE7, 0x011FDC], + [0x011FE1, 0x01E2FE], + [0x01E300, 0x01ECAF], + [0x01ECB1, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Currency_Symbol}+$/u, + nonMatchSymbols, + "\\P{General_Category=Currency_Symbol}" +); +testPropertyEscapes( + /^\P{General_Category=Sc}+$/u, + nonMatchSymbols, + "\\P{General_Category=Sc}" +); +testPropertyEscapes( + /^\P{gc=Currency_Symbol}+$/u, + nonMatchSymbols, + "\\P{gc=Currency_Symbol}" +); +testPropertyEscapes( + /^\P{gc=Sc}+$/u, + nonMatchSymbols, + "\\P{gc=Sc}" +); +testPropertyEscapes( + /^\P{Currency_Symbol}+$/u, + nonMatchSymbols, + "\\P{Currency_Symbol}" +); +testPropertyEscapes( + /^\P{Sc}+$/u, + nonMatchSymbols, + "\\P{Sc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js new file mode 100644 index 0000000000..e8b4990b6d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js @@ -0,0 +1,128 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Dash_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00002D, + 0x00058A, + 0x0005BE, + 0x001400, + 0x001806, + 0x002E17, + 0x002E1A, + 0x002E40, + 0x00301C, + 0x003030, + 0x0030A0, + 0x00FE58, + 0x00FE63, + 0x00FF0D, + 0x010EAD + ], + ranges: [ + [0x002010, 0x002015], + [0x002E3A, 0x002E3B], + [0x00FE31, 0x00FE32] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Dash_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Dash_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Pd}+$/u, + matchSymbols, + "\\p{General_Category=Pd}" +); +testPropertyEscapes( + /^\p{gc=Dash_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Dash_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Pd}+$/u, + matchSymbols, + "\\p{gc=Pd}" +); +testPropertyEscapes( + /^\p{Dash_Punctuation}+$/u, + matchSymbols, + "\\p{Dash_Punctuation}" +); +testPropertyEscapes( + /^\p{Pd}+$/u, + matchSymbols, + "\\p{Pd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002C], + [0x00002E, 0x000589], + [0x00058B, 0x0005BD], + [0x0005BF, 0x0013FF], + [0x001401, 0x001805], + [0x001807, 0x00200F], + [0x002016, 0x002E16], + [0x002E18, 0x002E19], + [0x002E1B, 0x002E39], + [0x002E3C, 0x002E3F], + [0x002E41, 0x00301B], + [0x00301D, 0x00302F], + [0x003031, 0x00309F], + [0x0030A1, 0x00DBFF], + [0x00E000, 0x00FE30], + [0x00FE33, 0x00FE57], + [0x00FE59, 0x00FE62], + [0x00FE64, 0x00FF0C], + [0x00FF0E, 0x010EAC], + [0x010EAE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Dash_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Dash_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Pd}+$/u, + nonMatchSymbols, + "\\P{General_Category=Pd}" +); +testPropertyEscapes( + /^\P{gc=Dash_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Dash_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Pd}+$/u, + nonMatchSymbols, + "\\P{gc=Pd}" +); +testPropertyEscapes( + /^\P{Dash_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Dash_Punctuation}" +); +testPropertyEscapes( + /^\P{Pd}+$/u, + nonMatchSymbols, + "\\P{Pd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js new file mode 100644 index 0000000000..754cf2307c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js @@ -0,0 +1,243 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Decimal_Number` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000030, 0x000039], + [0x000660, 0x000669], + [0x0006F0, 0x0006F9], + [0x0007C0, 0x0007C9], + [0x000966, 0x00096F], + [0x0009E6, 0x0009EF], + [0x000A66, 0x000A6F], + [0x000AE6, 0x000AEF], + [0x000B66, 0x000B6F], + [0x000BE6, 0x000BEF], + [0x000C66, 0x000C6F], + [0x000CE6, 0x000CEF], + [0x000D66, 0x000D6F], + [0x000DE6, 0x000DEF], + [0x000E50, 0x000E59], + [0x000ED0, 0x000ED9], + [0x000F20, 0x000F29], + [0x001040, 0x001049], + [0x001090, 0x001099], + [0x0017E0, 0x0017E9], + [0x001810, 0x001819], + [0x001946, 0x00194F], + [0x0019D0, 0x0019D9], + [0x001A80, 0x001A89], + [0x001A90, 0x001A99], + [0x001B50, 0x001B59], + [0x001BB0, 0x001BB9], + [0x001C40, 0x001C49], + [0x001C50, 0x001C59], + [0x00A620, 0x00A629], + [0x00A8D0, 0x00A8D9], + [0x00A900, 0x00A909], + [0x00A9D0, 0x00A9D9], + [0x00A9F0, 0x00A9F9], + [0x00AA50, 0x00AA59], + [0x00ABF0, 0x00ABF9], + [0x00FF10, 0x00FF19], + [0x0104A0, 0x0104A9], + [0x010D30, 0x010D39], + [0x011066, 0x01106F], + [0x0110F0, 0x0110F9], + [0x011136, 0x01113F], + [0x0111D0, 0x0111D9], + [0x0112F0, 0x0112F9], + [0x011450, 0x011459], + [0x0114D0, 0x0114D9], + [0x011650, 0x011659], + [0x0116C0, 0x0116C9], + [0x011730, 0x011739], + [0x0118E0, 0x0118E9], + [0x011950, 0x011959], + [0x011C50, 0x011C59], + [0x011D50, 0x011D59], + [0x011DA0, 0x011DA9], + [0x016A60, 0x016A69], + [0x016B50, 0x016B59], + [0x01D7CE, 0x01D7FF], + [0x01E140, 0x01E149], + [0x01E2F0, 0x01E2F9], + [0x01E950, 0x01E959], + [0x01FBF0, 0x01FBF9] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Decimal_Number}+$/u, + matchSymbols, + "\\p{General_Category=Decimal_Number}" +); +testPropertyEscapes( + /^\p{General_Category=Nd}+$/u, + matchSymbols, + "\\p{General_Category=Nd}" +); +testPropertyEscapes( + /^\p{General_Category=digit}+$/u, + matchSymbols, + "\\p{General_Category=digit}" +); +testPropertyEscapes( + /^\p{gc=Decimal_Number}+$/u, + matchSymbols, + "\\p{gc=Decimal_Number}" +); +testPropertyEscapes( + /^\p{gc=Nd}+$/u, + matchSymbols, + "\\p{gc=Nd}" +); +testPropertyEscapes( + /^\p{gc=digit}+$/u, + matchSymbols, + "\\p{gc=digit}" +); +testPropertyEscapes( + /^\p{Decimal_Number}+$/u, + matchSymbols, + "\\p{Decimal_Number}" +); +testPropertyEscapes( + /^\p{Nd}+$/u, + matchSymbols, + "\\p{Nd}" +); +testPropertyEscapes( + /^\p{digit}+$/u, + matchSymbols, + "\\p{digit}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x00065F], + [0x00066A, 0x0006EF], + [0x0006FA, 0x0007BF], + [0x0007CA, 0x000965], + [0x000970, 0x0009E5], + [0x0009F0, 0x000A65], + [0x000A70, 0x000AE5], + [0x000AF0, 0x000B65], + [0x000B70, 0x000BE5], + [0x000BF0, 0x000C65], + [0x000C70, 0x000CE5], + [0x000CF0, 0x000D65], + [0x000D70, 0x000DE5], + [0x000DF0, 0x000E4F], + [0x000E5A, 0x000ECF], + [0x000EDA, 0x000F1F], + [0x000F2A, 0x00103F], + [0x00104A, 0x00108F], + [0x00109A, 0x0017DF], + [0x0017EA, 0x00180F], + [0x00181A, 0x001945], + [0x001950, 0x0019CF], + [0x0019DA, 0x001A7F], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001B4F], + [0x001B5A, 0x001BAF], + [0x001BBA, 0x001C3F], + [0x001C4A, 0x001C4F], + [0x001C5A, 0x00A61F], + [0x00A62A, 0x00A8CF], + [0x00A8DA, 0x00A8FF], + [0x00A90A, 0x00A9CF], + [0x00A9DA, 0x00A9EF], + [0x00A9FA, 0x00AA4F], + [0x00AA5A, 0x00ABEF], + [0x00ABFA, 0x00DBFF], + [0x00E000, 0x00FF0F], + [0x00FF1A, 0x01049F], + [0x0104AA, 0x010D2F], + [0x010D3A, 0x011065], + [0x011070, 0x0110EF], + [0x0110FA, 0x011135], + [0x011140, 0x0111CF], + [0x0111DA, 0x0112EF], + [0x0112FA, 0x01144F], + [0x01145A, 0x0114CF], + [0x0114DA, 0x01164F], + [0x01165A, 0x0116BF], + [0x0116CA, 0x01172F], + [0x01173A, 0x0118DF], + [0x0118EA, 0x01194F], + [0x01195A, 0x011C4F], + [0x011C5A, 0x011D4F], + [0x011D5A, 0x011D9F], + [0x011DAA, 0x016A5F], + [0x016A6A, 0x016B4F], + [0x016B5A, 0x01D7CD], + [0x01D800, 0x01E13F], + [0x01E14A, 0x01E2EF], + [0x01E2FA, 0x01E94F], + [0x01E95A, 0x01FBEF], + [0x01FBFA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Decimal_Number}+$/u, + nonMatchSymbols, + "\\P{General_Category=Decimal_Number}" +); +testPropertyEscapes( + /^\P{General_Category=Nd}+$/u, + nonMatchSymbols, + "\\P{General_Category=Nd}" +); +testPropertyEscapes( + /^\P{General_Category=digit}+$/u, + nonMatchSymbols, + "\\P{General_Category=digit}" +); +testPropertyEscapes( + /^\P{gc=Decimal_Number}+$/u, + nonMatchSymbols, + "\\P{gc=Decimal_Number}" +); +testPropertyEscapes( + /^\P{gc=Nd}+$/u, + nonMatchSymbols, + "\\P{gc=Nd}" +); +testPropertyEscapes( + /^\P{gc=digit}+$/u, + nonMatchSymbols, + "\\P{gc=digit}" +); +testPropertyEscapes( + /^\P{Decimal_Number}+$/u, + nonMatchSymbols, + "\\P{Decimal_Number}" +); +testPropertyEscapes( + /^\P{Nd}+$/u, + nonMatchSymbols, + "\\P{Nd}" +); +testPropertyEscapes( + /^\P{digit}+$/u, + nonMatchSymbols, + "\\P{digit}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Enclosing_Mark.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Enclosing_Mark.js new file mode 100644 index 0000000000..3939e80815 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Enclosing_Mark.js @@ -0,0 +1,103 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Enclosing_Mark` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001ABE + ], + ranges: [ + [0x000488, 0x000489], + [0x0020DD, 0x0020E0], + [0x0020E2, 0x0020E4], + [0x00A670, 0x00A672] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Enclosing_Mark}+$/u, + matchSymbols, + "\\p{General_Category=Enclosing_Mark}" +); +testPropertyEscapes( + /^\p{General_Category=Me}+$/u, + matchSymbols, + "\\p{General_Category=Me}" +); +testPropertyEscapes( + /^\p{gc=Enclosing_Mark}+$/u, + matchSymbols, + "\\p{gc=Enclosing_Mark}" +); +testPropertyEscapes( + /^\p{gc=Me}+$/u, + matchSymbols, + "\\p{gc=Me}" +); +testPropertyEscapes( + /^\p{Enclosing_Mark}+$/u, + matchSymbols, + "\\p{Enclosing_Mark}" +); +testPropertyEscapes( + /^\p{Me}+$/u, + matchSymbols, + "\\p{Me}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0020E1 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000487], + [0x00048A, 0x001ABD], + [0x001ABF, 0x0020DC], + [0x0020E5, 0x00A66F], + [0x00A673, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Enclosing_Mark}+$/u, + nonMatchSymbols, + "\\P{General_Category=Enclosing_Mark}" +); +testPropertyEscapes( + /^\P{General_Category=Me}+$/u, + nonMatchSymbols, + "\\P{General_Category=Me}" +); +testPropertyEscapes( + /^\P{gc=Enclosing_Mark}+$/u, + nonMatchSymbols, + "\\P{gc=Enclosing_Mark}" +); +testPropertyEscapes( + /^\P{gc=Me}+$/u, + nonMatchSymbols, + "\\P{gc=Me}" +); +testPropertyEscapes( + /^\P{Enclosing_Mark}+$/u, + nonMatchSymbols, + "\\P{Enclosing_Mark}" +); +testPropertyEscapes( + /^\P{Me}+$/u, + nonMatchSymbols, + "\\P{Me}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Final_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Final_Punctuation.js new file mode 100644 index 0000000000..e137c3a410 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Final_Punctuation.js @@ -0,0 +1,112 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Final_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000BB, + 0x002019, + 0x00201D, + 0x00203A, + 0x002E03, + 0x002E05, + 0x002E0A, + 0x002E0D, + 0x002E1D, + 0x002E21 + ], + ranges: [] +}); +testPropertyEscapes( + /^\p{General_Category=Final_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Final_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Pf}+$/u, + matchSymbols, + "\\p{General_Category=Pf}" +); +testPropertyEscapes( + /^\p{gc=Final_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Final_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Pf}+$/u, + matchSymbols, + "\\p{gc=Pf}" +); +testPropertyEscapes( + /^\p{Final_Punctuation}+$/u, + matchSymbols, + "\\p{Final_Punctuation}" +); +testPropertyEscapes( + /^\p{Pf}+$/u, + matchSymbols, + "\\p{Pf}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002E04 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000BA], + [0x0000BC, 0x002018], + [0x00201A, 0x00201C], + [0x00201E, 0x002039], + [0x00203B, 0x002E02], + [0x002E06, 0x002E09], + [0x002E0B, 0x002E0C], + [0x002E0E, 0x002E1C], + [0x002E1E, 0x002E20], + [0x002E22, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Final_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Final_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Pf}+$/u, + nonMatchSymbols, + "\\P{General_Category=Pf}" +); +testPropertyEscapes( + /^\P{gc=Final_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Final_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Pf}+$/u, + nonMatchSymbols, + "\\P{gc=Pf}" +); +testPropertyEscapes( + /^\P{Final_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Final_Punctuation}" +); +testPropertyEscapes( + /^\P{Pf}+$/u, + nonMatchSymbols, + "\\P{Pf}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js new file mode 100644 index 0000000000..b3e3cfdfad --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js @@ -0,0 +1,133 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Format` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AD, + 0x00061C, + 0x0006DD, + 0x00070F, + 0x0008E2, + 0x00180E, + 0x00FEFF, + 0x0110BD, + 0x0110CD, + 0x0E0001 + ], + ranges: [ + [0x000600, 0x000605], + [0x00200B, 0x00200F], + [0x00202A, 0x00202E], + [0x002060, 0x002064], + [0x002066, 0x00206F], + [0x00FFF9, 0x00FFFB], + [0x013430, 0x013438], + [0x01BCA0, 0x01BCA3], + [0x01D173, 0x01D17A], + [0x0E0020, 0x0E007F] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Format}+$/u, + matchSymbols, + "\\p{General_Category=Format}" +); +testPropertyEscapes( + /^\p{General_Category=Cf}+$/u, + matchSymbols, + "\\p{General_Category=Cf}" +); +testPropertyEscapes( + /^\p{gc=Format}+$/u, + matchSymbols, + "\\p{gc=Format}" +); +testPropertyEscapes( + /^\p{gc=Cf}+$/u, + matchSymbols, + "\\p{gc=Cf}" +); +testPropertyEscapes( + /^\p{Format}+$/u, + matchSymbols, + "\\p{Format}" +); +testPropertyEscapes( + /^\p{Cf}+$/u, + matchSymbols, + "\\p{Cf}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002065 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000AC], + [0x0000AE, 0x0005FF], + [0x000606, 0x00061B], + [0x00061D, 0x0006DC], + [0x0006DE, 0x00070E], + [0x000710, 0x0008E1], + [0x0008E3, 0x00180D], + [0x00180F, 0x00200A], + [0x002010, 0x002029], + [0x00202F, 0x00205F], + [0x002070, 0x00DBFF], + [0x00E000, 0x00FEFE], + [0x00FF00, 0x00FFF8], + [0x00FFFC, 0x0110BC], + [0x0110BE, 0x0110CC], + [0x0110CE, 0x01342F], + [0x013439, 0x01BC9F], + [0x01BCA4, 0x01D172], + [0x01D17B, 0x0E0000], + [0x0E0002, 0x0E001F], + [0x0E0080, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Format}+$/u, + nonMatchSymbols, + "\\P{General_Category=Format}" +); +testPropertyEscapes( + /^\P{General_Category=Cf}+$/u, + nonMatchSymbols, + "\\P{General_Category=Cf}" +); +testPropertyEscapes( + /^\P{gc=Format}+$/u, + nonMatchSymbols, + "\\P{gc=Format}" +); +testPropertyEscapes( + /^\P{gc=Cf}+$/u, + nonMatchSymbols, + "\\P{gc=Cf}" +); +testPropertyEscapes( + /^\P{Format}+$/u, + nonMatchSymbols, + "\\P{Format}" +); +testPropertyEscapes( + /^\P{Cf}+$/u, + nonMatchSymbols, + "\\P{Cf}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Initial_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Initial_Punctuation.js new file mode 100644 index 0000000000..044a676460 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Initial_Punctuation.js @@ -0,0 +1,115 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Initial_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AB, + 0x002018, + 0x00201F, + 0x002039, + 0x002E02, + 0x002E04, + 0x002E09, + 0x002E0C, + 0x002E1C, + 0x002E20 + ], + ranges: [ + [0x00201B, 0x00201C] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Initial_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Initial_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Pi}+$/u, + matchSymbols, + "\\p{General_Category=Pi}" +); +testPropertyEscapes( + /^\p{gc=Initial_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Initial_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Pi}+$/u, + matchSymbols, + "\\p{gc=Pi}" +); +testPropertyEscapes( + /^\p{Initial_Punctuation}+$/u, + matchSymbols, + "\\p{Initial_Punctuation}" +); +testPropertyEscapes( + /^\p{Pi}+$/u, + matchSymbols, + "\\p{Pi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002E03 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000AA], + [0x0000AC, 0x002017], + [0x002019, 0x00201A], + [0x00201D, 0x00201E], + [0x002020, 0x002038], + [0x00203A, 0x002E01], + [0x002E05, 0x002E08], + [0x002E0A, 0x002E0B], + [0x002E0D, 0x002E1B], + [0x002E1D, 0x002E1F], + [0x002E21, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Initial_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Initial_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Pi}+$/u, + nonMatchSymbols, + "\\P{General_Category=Pi}" +); +testPropertyEscapes( + /^\P{gc=Initial_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Initial_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Pi}+$/u, + nonMatchSymbols, + "\\P{gc=Pi}" +); +testPropertyEscapes( + /^\P{Initial_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Initial_Punctuation}" +); +testPropertyEscapes( + /^\P{Pi}+$/u, + nonMatchSymbols, + "\\P{Pi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js new file mode 100644 index 0000000000..b67f9739dc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js @@ -0,0 +1,1337 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000B5, + 0x0000BA, + 0x0002EC, + 0x0002EE, + 0x00037F, + 0x000386, + 0x00038C, + 0x000559, + 0x0006D5, + 0x0006FF, + 0x000710, + 0x0007B1, + 0x0007FA, + 0x00081A, + 0x000824, + 0x000828, + 0x00093D, + 0x000950, + 0x0009B2, + 0x0009BD, + 0x0009CE, + 0x0009FC, + 0x000A5E, + 0x000ABD, + 0x000AD0, + 0x000AF9, + 0x000B3D, + 0x000B71, + 0x000B83, + 0x000B9C, + 0x000BD0, + 0x000C3D, + 0x000C80, + 0x000CBD, + 0x000CDE, + 0x000D3D, + 0x000D4E, + 0x000DBD, + 0x000E84, + 0x000EA5, + 0x000EBD, + 0x000EC6, + 0x000F00, + 0x00103F, + 0x001061, + 0x00108E, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017D7, + 0x0017DC, + 0x0018AA, + 0x001AA7, + 0x001CFA, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002071, + 0x00207F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x002D6F, + 0x002E2F, + 0x00A8FB, + 0x00A9CF, + 0x00AA7A, + 0x00AAB1, + 0x00AAC0, + 0x00AAC2, + 0x00FB1D, + 0x00FB3E, + 0x010808, + 0x01083C, + 0x010A00, + 0x010F27, + 0x011144, + 0x011147, + 0x011176, + 0x0111DA, + 0x0111DC, + 0x011288, + 0x01133D, + 0x011350, + 0x0114C7, + 0x011644, + 0x0116B8, + 0x011909, + 0x01193F, + 0x011941, + 0x0119E1, + 0x0119E3, + 0x011A00, + 0x011A3A, + 0x011A50, + 0x011A9D, + 0x011C40, + 0x011D46, + 0x011D98, + 0x011FB0, + 0x016F50, + 0x016FE3, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E14E, + 0x01E94B, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000370, 0x000374], + [0x000376, 0x000377], + [0x00037A, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000620, 0x00064A], + [0x00066E, 0x00066F], + [0x000671, 0x0006D3], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x0006EF], + [0x0006FA, 0x0006FC], + [0x000712, 0x00072F], + [0x00074D, 0x0007A5], + [0x0007CA, 0x0007EA], + [0x0007F4, 0x0007F5], + [0x000800, 0x000815], + [0x000840, 0x000858], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x000904, 0x000939], + [0x000958, 0x000961], + [0x000971, 0x000980], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E1], + [0x0009F0, 0x0009F1], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A59, 0x000A5C], + [0x000A72, 0x000A74], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000AE0, 0x000AE1], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B61], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000C05, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C61], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CE0, 0x000CE1], + [0x000CF1, 0x000CF2], + [0x000D04, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D3A], + [0x000D54, 0x000D56], + [0x000D5F, 0x000D61], + [0x000D7A, 0x000D7F], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000E01, 0x000E30], + [0x000E32, 0x000E33], + [0x000E40, 0x000E46], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EC0, 0x000EC4], + [0x000EDC, 0x000EDF], + [0x000F40, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F88, 0x000F8C], + [0x001000, 0x00102A], + [0x001050, 0x001055], + [0x00105A, 0x00105D], + [0x001065, 0x001066], + [0x00106E, 0x001070], + [0x001075, 0x001081], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x001380, 0x00138F], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016F1, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001711], + [0x001720, 0x001731], + [0x001740, 0x001751], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001780, 0x0017B3], + [0x001820, 0x001878], + [0x001880, 0x001884], + [0x001887, 0x0018A8], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001950, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x001A00, 0x001A16], + [0x001A20, 0x001A54], + [0x001B05, 0x001B33], + [0x001B45, 0x001B4B], + [0x001B83, 0x001BA0], + [0x001BAE, 0x001BAF], + [0x001BBA, 0x001BE5], + [0x001C00, 0x001C23], + [0x001C4D, 0x001C4F], + [0x001C5A, 0x001C7D], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x001D00, 0x001DBF], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x002090, 0x00209C], + [0x00210A, 0x002113], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x00212F, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002183, 0x002184], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x002D30, 0x002D67], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x003005, 0x003006], + [0x003031, 0x003035], + [0x00303B, 0x00303C], + [0x003041, 0x003096], + [0x00309D, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A4D0, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A61F], + [0x00A62A, 0x00A62B], + [0x00A640, 0x00A66E], + [0x00A67F, 0x00A69D], + [0x00A6A0, 0x00A6E5], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A822], + [0x00A840, 0x00A873], + [0x00A882, 0x00A8B3], + [0x00A8F2, 0x00A8F7], + [0x00A8FD, 0x00A8FE], + [0x00A90A, 0x00A925], + [0x00A930, 0x00A946], + [0x00A960, 0x00A97C], + [0x00A984, 0x00A9B2], + [0x00A9E0, 0x00A9E4], + [0x00A9E6, 0x00A9EF], + [0x00A9FA, 0x00A9FE], + [0x00AA00, 0x00AA28], + [0x00AA40, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA60, 0x00AA76], + [0x00AA7E, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AADB, 0x00AADD], + [0x00AAE0, 0x00AAEA], + [0x00AAF2, 0x00AAF4], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB70, 0x00ABE2], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1F, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFB], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x010340], + [0x010342, 0x010349], + [0x010350, 0x010375], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x010400, 0x01049D], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A10, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE4], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010D00, 0x010D23], + [0x010E80, 0x010EA9], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F45], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011003, 0x011037], + [0x011083, 0x0110AF], + [0x0110D0, 0x0110E8], + [0x011103, 0x011126], + [0x011150, 0x011172], + [0x011183, 0x0111B2], + [0x0111C1, 0x0111C4], + [0x011200, 0x011211], + [0x011213, 0x01122B], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112DE], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01135D, 0x011361], + [0x011400, 0x011434], + [0x011447, 0x01144A], + [0x01145F, 0x011461], + [0x011480, 0x0114AF], + [0x0114C4, 0x0114C5], + [0x011580, 0x0115AE], + [0x0115D8, 0x0115DB], + [0x011600, 0x01162F], + [0x011680, 0x0116AA], + [0x011700, 0x01171A], + [0x011800, 0x01182B], + [0x0118A0, 0x0118DF], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x01192F], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D0], + [0x011A0B, 0x011A32], + [0x011A5C, 0x011A89], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C2E], + [0x011C72, 0x011C8F], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D30], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D89], + [0x011EE0, 0x011EF2], + [0x012000, 0x012399], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016AD0, 0x016AED], + [0x016B00, 0x016B2F], + [0x016B40, 0x016B43], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E7F], + [0x016F00, 0x016F4A], + [0x016F93, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01E100, 0x01E12C], + [0x01E137, 0x01E13D], + [0x01E2C0, 0x01E2EB], + [0x01E800, 0x01E8C4], + [0x01E900, 0x01E943], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Letter}+$/u, + matchSymbols, + "\\p{General_Category=Letter}" +); +testPropertyEscapes( + /^\p{General_Category=L}+$/u, + matchSymbols, + "\\p{General_Category=L}" +); +testPropertyEscapes( + /^\p{gc=Letter}+$/u, + matchSymbols, + "\\p{gc=Letter}" +); +testPropertyEscapes( + /^\p{gc=L}+$/u, + matchSymbols, + "\\p{gc=L}" +); +testPropertyEscapes( + /^\p{Letter}+$/u, + matchSymbols, + "\\p{Letter}" +); +testPropertyEscapes( + /^\p{L}+$/u, + matchSymbols, + "\\p{L}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000530, + 0x000670, + 0x0006D4, + 0x000711, + 0x0008B5, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A5D, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CDF, + 0x000D0D, + 0x000D11, + 0x000DB2, + 0x000DBC, + 0x000E31, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EB1, + 0x000EC5, + 0x000F48, + 0x0010C6, + 0x0010FB, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x0018A9, + 0x001CED, + 0x001CF4, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x0030A0, + 0x0030FB, + 0x003130, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A8FC, + 0x00A9E5, + 0x00A9FF, + 0x00AA43, + 0x00AAB0, + 0x00AAC1, + 0x00AB27, + 0x00AB2F, + 0x00AB5B, + 0x00FB1E, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE75, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x010341, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011329, + 0x011331, + 0x011334, + 0x0114C6, + 0x011914, + 0x011917, + 0x011940, + 0x0119E2, + 0x011C09, + 0x011D07, + 0x011D0A, + 0x011D66, + 0x011D69, + 0x016FE2, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B6, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x00036F], + [0x000378, 0x000379], + [0x000380, 0x000385], + [0x000482, 0x000489], + [0x000557, 0x000558], + [0x00055A, 0x00055F], + [0x000589, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00061F], + [0x00064B, 0x00066D], + [0x0006D6, 0x0006E4], + [0x0006E7, 0x0006ED], + [0x0006F0, 0x0006F9], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x000730, 0x00074C], + [0x0007A6, 0x0007B0], + [0x0007B2, 0x0007C9], + [0x0007EB, 0x0007F3], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FF], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00083F], + [0x000859, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x000903], + [0x00093A, 0x00093C], + [0x00093E, 0x00094F], + [0x000951, 0x000957], + [0x000962, 0x000970], + [0x000981, 0x000984], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BC], + [0x0009BE, 0x0009CD], + [0x0009CF, 0x0009DB], + [0x0009E2, 0x0009EF], + [0x0009F2, 0x0009FB], + [0x0009FD, 0x000A04], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A58], + [0x000A5F, 0x000A71], + [0x000A75, 0x000A84], + [0x000ABA, 0x000ABC], + [0x000ABE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE2, 0x000AF8], + [0x000AFA, 0x000B04], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3C], + [0x000B3E, 0x000B5B], + [0x000B62, 0x000B70], + [0x000B72, 0x000B82], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BCF], + [0x000BD1, 0x000C04], + [0x000C3A, 0x000C3C], + [0x000C3E, 0x000C57], + [0x000C5B, 0x000C5F], + [0x000C62, 0x000C7F], + [0x000C81, 0x000C84], + [0x000CBA, 0x000CBC], + [0x000CBE, 0x000CDD], + [0x000CE2, 0x000CF0], + [0x000CF3, 0x000D03], + [0x000D3B, 0x000D3C], + [0x000D3E, 0x000D4D], + [0x000D4F, 0x000D53], + [0x000D57, 0x000D5E], + [0x000D62, 0x000D79], + [0x000D80, 0x000D84], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000E00], + [0x000E34, 0x000E3F], + [0x000E47, 0x000E80], + [0x000EB4, 0x000EBC], + [0x000EBE, 0x000EBF], + [0x000EC7, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F3F], + [0x000F6D, 0x000F87], + [0x000F8D, 0x000FFF], + [0x00102B, 0x00103E], + [0x001040, 0x00104F], + [0x001056, 0x001059], + [0x00105E, 0x001060], + [0x001062, 0x001064], + [0x001067, 0x00106D], + [0x001071, 0x001074], + [0x001082, 0x00108D], + [0x00108F, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00137F], + [0x001390, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016F0], + [0x0016F9, 0x0016FF], + [0x001712, 0x00171F], + [0x001732, 0x00173F], + [0x001752, 0x00175F], + [0x001771, 0x00177F], + [0x0017B4, 0x0017D6], + [0x0017D8, 0x0017DB], + [0x0017DD, 0x00181F], + [0x001879, 0x00187F], + [0x001885, 0x001886], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00191F, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019FF], + [0x001A17, 0x001A1F], + [0x001A55, 0x001AA6], + [0x001AA8, 0x001B04], + [0x001B34, 0x001B44], + [0x001B4C, 0x001B82], + [0x001BA1, 0x001BAD], + [0x001BB0, 0x001BB9], + [0x001BE6, 0x001BFF], + [0x001C24, 0x001C4C], + [0x001C50, 0x001C59], + [0x001C7E, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001CFB, 0x001CFF], + [0x001DC0, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x002182], + [0x002185, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D70, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x002E2E], + [0x002E30, 0x003004], + [0x003007, 0x003030], + [0x003036, 0x00303A], + [0x00303D, 0x003040], + [0x003097, 0x00309C], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A620, 0x00A629], + [0x00A62C, 0x00A63F], + [0x00A66F, 0x00A67E], + [0x00A69E, 0x00A69F], + [0x00A6E6, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A823, 0x00A83F], + [0x00A874, 0x00A881], + [0x00A8B4, 0x00A8F1], + [0x00A8F8, 0x00A8FA], + [0x00A8FF, 0x00A909], + [0x00A926, 0x00A92F], + [0x00A947, 0x00A95F], + [0x00A97D, 0x00A983], + [0x00A9B3, 0x00A9CE], + [0x00A9D0, 0x00A9DF], + [0x00A9F0, 0x00A9F9], + [0x00AA29, 0x00AA3F], + [0x00AA4C, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AA7B, 0x00AA7D], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAC3, 0x00AADA], + [0x00AADE, 0x00AADF], + [0x00AAEB, 0x00AAF1], + [0x00AAF5, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6A, 0x00AB6F], + [0x00ABE3, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFC, 0x00FE6F], + [0x00FEFD, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x00FF65], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034A, 0x01034F], + [0x010376, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D0, 0x0103FF], + [0x01049E, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A01, 0x010A0F], + [0x010A36, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE5, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CFF], + [0x010D24, 0x010E7F], + [0x010EAA, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F46, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x011002], + [0x011038, 0x011082], + [0x0110B0, 0x0110CF], + [0x0110E9, 0x011102], + [0x011127, 0x011143], + [0x011145, 0x011146], + [0x011148, 0x01114F], + [0x011173, 0x011175], + [0x011177, 0x011182], + [0x0111B3, 0x0111C0], + [0x0111C5, 0x0111D9], + [0x0111DD, 0x0111FF], + [0x01122C, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112DF, 0x011304], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133C], + [0x01133E, 0x01134F], + [0x011351, 0x01135C], + [0x011362, 0x0113FF], + [0x011435, 0x011446], + [0x01144B, 0x01145E], + [0x011462, 0x01147F], + [0x0114B0, 0x0114C3], + [0x0114C8, 0x01157F], + [0x0115AF, 0x0115D7], + [0x0115DC, 0x0115FF], + [0x011630, 0x011643], + [0x011645, 0x01167F], + [0x0116AB, 0x0116B7], + [0x0116B9, 0x0116FF], + [0x01171B, 0x0117FF], + [0x01182C, 0x01189F], + [0x0118E0, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011930, 0x01193E], + [0x011942, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D1, 0x0119E0], + [0x0119E4, 0x0119FF], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A39], + [0x011A3B, 0x011A4F], + [0x011A51, 0x011A5B], + [0x011A8A, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C2F, 0x011C3F], + [0x011C41, 0x011C71], + [0x011C90, 0x011CFF], + [0x011D31, 0x011D45], + [0x011D47, 0x011D5F], + [0x011D8A, 0x011D97], + [0x011D99, 0x011EDF], + [0x011EF3, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A5F, 0x016ACF], + [0x016AEE, 0x016AFF], + [0x016B30, 0x016B3F], + [0x016B44, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E80, 0x016EFF], + [0x016F4B, 0x016F4F], + [0x016F51, 0x016F92], + [0x016FA0, 0x016FDF], + [0x016FE4, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01E0FF], + [0x01E12D, 0x01E136], + [0x01E13E, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2EC, 0x01E7FF], + [0x01E8C5, 0x01E8FF], + [0x01E944, 0x01E94A], + [0x01E94C, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Letter}" +); +testPropertyEscapes( + /^\P{General_Category=L}+$/u, + nonMatchSymbols, + "\\P{General_Category=L}" +); +testPropertyEscapes( + /^\P{gc=Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Letter}" +); +testPropertyEscapes( + /^\P{gc=L}+$/u, + nonMatchSymbols, + "\\P{gc=L}" +); +testPropertyEscapes( + /^\P{Letter}+$/u, + nonMatchSymbols, + "\\P{Letter}" +); +testPropertyEscapes( + /^\P{L}+$/u, + nonMatchSymbols, + "\\P{L}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter_Number.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter_Number.js new file mode 100644 index 0000000000..4e6bd8a64e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter_Number.js @@ -0,0 +1,116 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Letter_Number` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003007, + 0x010341, + 0x01034A + ], + ranges: [ + [0x0016EE, 0x0016F0], + [0x002160, 0x002182], + [0x002185, 0x002188], + [0x003021, 0x003029], + [0x003038, 0x00303A], + [0x00A6E6, 0x00A6EF], + [0x010140, 0x010174], + [0x0103D1, 0x0103D5], + [0x012400, 0x01246E] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Letter_Number}+$/u, + matchSymbols, + "\\p{General_Category=Letter_Number}" +); +testPropertyEscapes( + /^\p{General_Category=Nl}+$/u, + matchSymbols, + "\\p{General_Category=Nl}" +); +testPropertyEscapes( + /^\p{gc=Letter_Number}+$/u, + matchSymbols, + "\\p{gc=Letter_Number}" +); +testPropertyEscapes( + /^\p{gc=Nl}+$/u, + matchSymbols, + "\\p{gc=Nl}" +); +testPropertyEscapes( + /^\p{Letter_Number}+$/u, + matchSymbols, + "\\p{Letter_Number}" +); +testPropertyEscapes( + /^\p{Nl}+$/u, + matchSymbols, + "\\p{Nl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0016ED], + [0x0016F1, 0x00215F], + [0x002183, 0x002184], + [0x002189, 0x003006], + [0x003008, 0x003020], + [0x00302A, 0x003037], + [0x00303B, 0x00A6E5], + [0x00A6F0, 0x00DBFF], + [0x00E000, 0x01013F], + [0x010175, 0x010340], + [0x010342, 0x010349], + [0x01034B, 0x0103D0], + [0x0103D6, 0x0123FF], + [0x01246F, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Letter_Number}+$/u, + nonMatchSymbols, + "\\P{General_Category=Letter_Number}" +); +testPropertyEscapes( + /^\P{General_Category=Nl}+$/u, + nonMatchSymbols, + "\\P{General_Category=Nl}" +); +testPropertyEscapes( + /^\P{gc=Letter_Number}+$/u, + nonMatchSymbols, + "\\P{gc=Letter_Number}" +); +testPropertyEscapes( + /^\P{gc=Nl}+$/u, + nonMatchSymbols, + "\\P{gc=Nl}" +); +testPropertyEscapes( + /^\P{Letter_Number}+$/u, + nonMatchSymbols, + "\\P{Letter_Number}" +); +testPropertyEscapes( + /^\P{Nl}+$/u, + nonMatchSymbols, + "\\P{Nl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Line_Separator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Line_Separator.js new file mode 100644 index 0000000000..949bda0d32 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Line_Separator.js @@ -0,0 +1,93 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Line_Separator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x002028 + ], + ranges: [] +}); +testPropertyEscapes( + /^\p{General_Category=Line_Separator}+$/u, + matchSymbols, + "\\p{General_Category=Line_Separator}" +); +testPropertyEscapes( + /^\p{General_Category=Zl}+$/u, + matchSymbols, + "\\p{General_Category=Zl}" +); +testPropertyEscapes( + /^\p{gc=Line_Separator}+$/u, + matchSymbols, + "\\p{gc=Line_Separator}" +); +testPropertyEscapes( + /^\p{gc=Zl}+$/u, + matchSymbols, + "\\p{gc=Zl}" +); +testPropertyEscapes( + /^\p{Line_Separator}+$/u, + matchSymbols, + "\\p{Line_Separator}" +); +testPropertyEscapes( + /^\p{Zl}+$/u, + matchSymbols, + "\\p{Zl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002027], + [0x002029, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Line_Separator}+$/u, + nonMatchSymbols, + "\\P{General_Category=Line_Separator}" +); +testPropertyEscapes( + /^\P{General_Category=Zl}+$/u, + nonMatchSymbols, + "\\P{General_Category=Zl}" +); +testPropertyEscapes( + /^\P{gc=Line_Separator}+$/u, + nonMatchSymbols, + "\\P{gc=Line_Separator}" +); +testPropertyEscapes( + /^\P{gc=Zl}+$/u, + nonMatchSymbols, + "\\P{gc=Zl}" +); +testPropertyEscapes( + /^\P{Line_Separator}+$/u, + nonMatchSymbols, + "\\P{Line_Separator}" +); +testPropertyEscapes( + /^\P{Zl}+$/u, + nonMatchSymbols, + "\\P{Zl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js new file mode 100644 index 0000000000..ac581b90c7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js @@ -0,0 +1,1383 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Lowercase_Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B5, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001C6, + 0x0001C9, + 0x0001CC, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F3, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000371, + 0x000373, + 0x000377, + 0x000390, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F5, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x000481, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x00052F, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001FBE, + 0x00210A, + 0x002113, + 0x00212F, + 0x002134, + 0x002139, + 0x00214E, + 0x002184, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x002CEE, + 0x002CF3, + 0x002D27, + 0x002D2D, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A66D, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A69B, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A76F, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A787, + 0x00A78C, + 0x00A78E, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7BF, + 0x00A7C3, + 0x00A7C8, + 0x00A7CA, + 0x00A7F6, + 0x00A7FA, + 0x01D4BB, + 0x01D7CB + ], + ranges: [ + [0x000061, 0x00007A], + [0x0000DF, 0x0000F6], + [0x0000F8, 0x0000FF], + [0x000137, 0x000138], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BA], + [0x0001BD, 0x0001BF], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x000293], + [0x000295, 0x0002AF], + [0x00037B, 0x00037D], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D1], + [0x0003D5, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x0004CE, 0x0004CF], + [0x000560, 0x000588], + [0x0010D0, 0x0010FA], + [0x0010FD, 0x0010FF], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001D00, 0x001D2B], + [0x001D6B, 0x001D77], + [0x001D79, 0x001D9A], + [0x001E95, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F15], + [0x001F20, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F45], + [0x001F50, 0x001F57], + [0x001F60, 0x001F67], + [0x001F70, 0x001F7D], + [0x001F80, 0x001F87], + [0x001F90, 0x001F97], + [0x001FA0, 0x001FA7], + [0x001FB0, 0x001FB4], + [0x001FB6, 0x001FB7], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FC7], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FD7], + [0x001FE0, 0x001FE7], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FF7], + [0x00210E, 0x00210F], + [0x00213C, 0x00213D], + [0x002146, 0x002149], + [0x002C30, 0x002C5E], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7B], + [0x002CE3, 0x002CE4], + [0x002D00, 0x002D25], + [0x00A72F, 0x00A731], + [0x00A771, 0x00A778], + [0x00A793, 0x00A795], + [0x00AB30, 0x00AB5A], + [0x00AB60, 0x00AB68], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF41, 0x00FF5A], + [0x010428, 0x01044F], + [0x0104D8, 0x0104FB], + [0x010CC0, 0x010CF2], + [0x0118C0, 0x0118DF], + [0x016E60, 0x016E7F], + [0x01D41A, 0x01D433], + [0x01D44E, 0x01D454], + [0x01D456, 0x01D467], + [0x01D482, 0x01D49B], + [0x01D4B6, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D4CF], + [0x01D4EA, 0x01D503], + [0x01D51E, 0x01D537], + [0x01D552, 0x01D56B], + [0x01D586, 0x01D59F], + [0x01D5BA, 0x01D5D3], + [0x01D5EE, 0x01D607], + [0x01D622, 0x01D63B], + [0x01D656, 0x01D66F], + [0x01D68A, 0x01D6A5], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6E1], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D71B], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D755], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D78F], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7C9], + [0x01E922, 0x01E943] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Lowercase_Letter}+$/u, + matchSymbols, + "\\p{General_Category=Lowercase_Letter}" +); +testPropertyEscapes( + /^\p{General_Category=Ll}+$/u, + matchSymbols, + "\\p{General_Category=Ll}" +); +testPropertyEscapes( + /^\p{gc=Lowercase_Letter}+$/u, + matchSymbols, + "\\p{gc=Lowercase_Letter}" +); +testPropertyEscapes( + /^\p{gc=Ll}+$/u, + matchSymbols, + "\\p{gc=Ll}" +); +testPropertyEscapes( + /^\p{Lowercase_Letter}+$/u, + matchSymbols, + "\\p{Lowercase_Letter}" +); +testPropertyEscapes( + /^\p{Ll}+$/u, + matchSymbols, + "\\p{Ll}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000F7, + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000294, + 0x000372, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x001D78, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001FB5, + 0x001FC5, + 0x001FF5, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CED, + 0x002D26, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A770, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78D, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C9, + 0x01D455, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D6DB, + 0x01D715, + 0x01D74F, + 0x01D789, + 0x01D7C3, + 0x01D7CA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000060], + [0x00007B, 0x0000B4], + [0x0000B6, 0x0000DE], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001BB, 0x0001BC], + [0x0001C0, 0x0001C5], + [0x0001C7, 0x0001C8], + [0x0001CA, 0x0001CB], + [0x0001F1, 0x0001F2], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x0002B0, 0x000370], + [0x000374, 0x000376], + [0x000378, 0x00037A], + [0x00037E, 0x00038F], + [0x000391, 0x0003AB], + [0x0003D2, 0x0003D4], + [0x0003F6, 0x0003F7], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x000482, 0x00048A], + [0x0004C0, 0x0004C1], + [0x000530, 0x00055F], + [0x000589, 0x0010CF], + [0x0010FB, 0x0010FC], + [0x001100, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001CFF], + [0x001D2C, 0x001D6A], + [0x001D9B, 0x001E00], + [0x001F08, 0x001F0F], + [0x001F16, 0x001F1F], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F46, 0x001F4F], + [0x001F58, 0x001F5F], + [0x001F68, 0x001F6F], + [0x001F7E, 0x001F7F], + [0x001F88, 0x001F8F], + [0x001F98, 0x001F9F], + [0x001FA8, 0x001FAF], + [0x001FB8, 0x001FBD], + [0x001FBF, 0x001FC1], + [0x001FC8, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FD8, 0x001FDF], + [0x001FE8, 0x001FF1], + [0x001FF8, 0x002109], + [0x00210B, 0x00210D], + [0x002110, 0x002112], + [0x002114, 0x00212E], + [0x002130, 0x002133], + [0x002135, 0x002138], + [0x00213A, 0x00213B], + [0x00213E, 0x002145], + [0x00214A, 0x00214D], + [0x00214F, 0x002183], + [0x002185, 0x002C2F], + [0x002C5F, 0x002C60], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7C, 0x002C80], + [0x002CE5, 0x002CEB], + [0x002CEF, 0x002CF2], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A640], + [0x00A66E, 0x00A680], + [0x00A69C, 0x00A722], + [0x00A77D, 0x00A77E], + [0x00A788, 0x00A78B], + [0x00A78F, 0x00A790], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C0, 0x00A7C2], + [0x00A7C4, 0x00A7C7], + [0x00A7CB, 0x00A7F5], + [0x00A7F7, 0x00A7F9], + [0x00A7FB, 0x00AB2F], + [0x00AB5B, 0x00AB5F], + [0x00AB69, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF40], + [0x00FF5B, 0x010427], + [0x010450, 0x0104D7], + [0x0104FC, 0x010CBF], + [0x010CF3, 0x0118BF], + [0x0118E0, 0x016E5F], + [0x016E80, 0x01D419], + [0x01D434, 0x01D44D], + [0x01D468, 0x01D481], + [0x01D49C, 0x01D4B5], + [0x01D4D0, 0x01D4E9], + [0x01D504, 0x01D51D], + [0x01D538, 0x01D551], + [0x01D56C, 0x01D585], + [0x01D5A0, 0x01D5B9], + [0x01D5D4, 0x01D5ED], + [0x01D608, 0x01D621], + [0x01D63C, 0x01D655], + [0x01D670, 0x01D689], + [0x01D6A6, 0x01D6C1], + [0x01D6E2, 0x01D6FB], + [0x01D71C, 0x01D735], + [0x01D756, 0x01D76F], + [0x01D790, 0x01D7A9], + [0x01D7CC, 0x01E921], + [0x01E944, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Lowercase_Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Lowercase_Letter}" +); +testPropertyEscapes( + /^\P{General_Category=Ll}+$/u, + nonMatchSymbols, + "\\P{General_Category=Ll}" +); +testPropertyEscapes( + /^\P{gc=Lowercase_Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Lowercase_Letter}" +); +testPropertyEscapes( + /^\P{gc=Ll}+$/u, + nonMatchSymbols, + "\\P{gc=Ll}" +); +testPropertyEscapes( + /^\P{Lowercase_Letter}+$/u, + nonMatchSymbols, + "\\P{Lowercase_Letter}" +); +testPropertyEscapes( + /^\P{Ll}+$/u, + nonMatchSymbols, + "\\P{Ll}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js new file mode 100644 index 0000000000..3086dc2632 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js @@ -0,0 +1,703 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Mark` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0005BF, + 0x0005C7, + 0x000670, + 0x000711, + 0x0007FD, + 0x0009BC, + 0x0009D7, + 0x0009FE, + 0x000A3C, + 0x000A51, + 0x000A75, + 0x000ABC, + 0x000B3C, + 0x000B82, + 0x000BD7, + 0x000CBC, + 0x000D57, + 0x000DCA, + 0x000DD6, + 0x000E31, + 0x000EB1, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x00108F, + 0x0017DD, + 0x0018A9, + 0x001A7F, + 0x001CED, + 0x001CF4, + 0x002D7F, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A82C, + 0x00A8FF, + 0x00A9E5, + 0x00AA43, + 0x00AAB0, + 0x00AAC1, + 0x00FB1E, + 0x0101FD, + 0x0102E0, + 0x010A3F, + 0x011173, + 0x01123E, + 0x011357, + 0x01145E, + 0x011940, + 0x0119E4, + 0x011A47, + 0x011D3A, + 0x011D47, + 0x016F4F, + 0x016FE4, + 0x01DA75, + 0x01DA84 + ], + ranges: [ + [0x000300, 0x00036F], + [0x000483, 0x000489], + [0x000591, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x000610, 0x00061A], + [0x00064B, 0x00065F], + [0x0006D6, 0x0006DC], + [0x0006DF, 0x0006E4], + [0x0006E7, 0x0006E8], + [0x0006EA, 0x0006ED], + [0x000730, 0x00074A], + [0x0007A6, 0x0007B0], + [0x0007EB, 0x0007F3], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00082D], + [0x000859, 0x00085B], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x000903], + [0x00093A, 0x00093C], + [0x00093E, 0x00094F], + [0x000951, 0x000957], + [0x000962, 0x000963], + [0x000981, 0x000983], + [0x0009BE, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CD], + [0x0009E2, 0x0009E3], + [0x000A01, 0x000A03], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A70, 0x000A71], + [0x000A81, 0x000A83], + [0x000ABE, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE2, 0x000AE3], + [0x000AFA, 0x000AFF], + [0x000B01, 0x000B03], + [0x000B3E, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B62, 0x000B63], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000C00, 0x000C04], + [0x000C3E, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C62, 0x000C63], + [0x000C81, 0x000C83], + [0x000CBE, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE2, 0x000CE3], + [0x000D00, 0x000D03], + [0x000D3B, 0x000D3C], + [0x000D3E, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4D], + [0x000D62, 0x000D63], + [0x000D81, 0x000D83], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DF2, 0x000DF3], + [0x000E34, 0x000E3A], + [0x000E47, 0x000E4E], + [0x000EB4, 0x000EBC], + [0x000EC8, 0x000ECD], + [0x000F18, 0x000F19], + [0x000F3E, 0x000F3F], + [0x000F71, 0x000F84], + [0x000F86, 0x000F87], + [0x000F8D, 0x000F97], + [0x000F99, 0x000FBC], + [0x00102B, 0x00103E], + [0x001056, 0x001059], + [0x00105E, 0x001060], + [0x001062, 0x001064], + [0x001067, 0x00106D], + [0x001071, 0x001074], + [0x001082, 0x00108D], + [0x00109A, 0x00109D], + [0x00135D, 0x00135F], + [0x001712, 0x001714], + [0x001732, 0x001734], + [0x001752, 0x001753], + [0x001772, 0x001773], + [0x0017B4, 0x0017D3], + [0x00180B, 0x00180D], + [0x001885, 0x001886], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001A17, 0x001A1B], + [0x001A55, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001AB0, 0x001AC0], + [0x001B00, 0x001B04], + [0x001B34, 0x001B44], + [0x001B6B, 0x001B73], + [0x001B80, 0x001B82], + [0x001BA1, 0x001BAD], + [0x001BE6, 0x001BF3], + [0x001C24, 0x001C37], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001DC0, 0x001DF9], + [0x001DFB, 0x001DFF], + [0x0020D0, 0x0020F0], + [0x002CEF, 0x002CF1], + [0x002DE0, 0x002DFF], + [0x00302A, 0x00302F], + [0x003099, 0x00309A], + [0x00A66F, 0x00A672], + [0x00A674, 0x00A67D], + [0x00A69E, 0x00A69F], + [0x00A6F0, 0x00A6F1], + [0x00A823, 0x00A827], + [0x00A880, 0x00A881], + [0x00A8B4, 0x00A8C5], + [0x00A8E0, 0x00A8F1], + [0x00A926, 0x00A92D], + [0x00A947, 0x00A953], + [0x00A980, 0x00A983], + [0x00A9B3, 0x00A9C0], + [0x00AA29, 0x00AA36], + [0x00AA4C, 0x00AA4D], + [0x00AA7B, 0x00AA7D], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAEB, 0x00AAEF], + [0x00AAF5, 0x00AAF6], + [0x00ABE3, 0x00ABEA], + [0x00ABEC, 0x00ABED], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2F], + [0x010376, 0x01037A], + [0x010A01, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A0F], + [0x010A38, 0x010A3A], + [0x010AE5, 0x010AE6], + [0x010D24, 0x010D27], + [0x010EAB, 0x010EAC], + [0x010F46, 0x010F50], + [0x011000, 0x011002], + [0x011038, 0x011046], + [0x01107F, 0x011082], + [0x0110B0, 0x0110BA], + [0x011100, 0x011102], + [0x011127, 0x011134], + [0x011145, 0x011146], + [0x011180, 0x011182], + [0x0111B3, 0x0111C0], + [0x0111C9, 0x0111CC], + [0x0111CE, 0x0111CF], + [0x01122C, 0x011237], + [0x0112DF, 0x0112EA], + [0x011300, 0x011303], + [0x01133B, 0x01133C], + [0x01133E, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x011362, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011435, 0x011446], + [0x0114B0, 0x0114C3], + [0x0115AF, 0x0115B5], + [0x0115B8, 0x0115C0], + [0x0115DC, 0x0115DD], + [0x011630, 0x011640], + [0x0116AB, 0x0116B7], + [0x01171D, 0x01172B], + [0x01182C, 0x01183A], + [0x011930, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x01193E], + [0x011942, 0x011943], + [0x0119D1, 0x0119D7], + [0x0119DA, 0x0119E0], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A39], + [0x011A3B, 0x011A3E], + [0x011A51, 0x011A5B], + [0x011A8A, 0x011A99], + [0x011C2F, 0x011C36], + [0x011C38, 0x011C3F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D31, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D45], + [0x011D8A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D97], + [0x011EF3, 0x011EF6], + [0x016AF0, 0x016AF4], + [0x016B30, 0x016B36], + [0x016F51, 0x016F87], + [0x016F8F, 0x016F92], + [0x016FF0, 0x016FF1], + [0x01BC9D, 0x01BC9E], + [0x01D165, 0x01D169], + [0x01D16D, 0x01D172], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D242, 0x01D244], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E130, 0x01E136], + [0x01E2EC, 0x01E2EF], + [0x01E8D0, 0x01E8D6], + [0x01E944, 0x01E94A], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Mark}+$/u, + matchSymbols, + "\\p{General_Category=Mark}" +); +testPropertyEscapes( + /^\p{General_Category=M}+$/u, + matchSymbols, + "\\p{General_Category=M}" +); +testPropertyEscapes( + /^\p{General_Category=Combining_Mark}+$/u, + matchSymbols, + "\\p{General_Category=Combining_Mark}" +); +testPropertyEscapes( + /^\p{gc=Mark}+$/u, + matchSymbols, + "\\p{gc=Mark}" +); +testPropertyEscapes( + /^\p{gc=M}+$/u, + matchSymbols, + "\\p{gc=M}" +); +testPropertyEscapes( + /^\p{gc=Combining_Mark}+$/u, + matchSymbols, + "\\p{gc=Combining_Mark}" +); +testPropertyEscapes( + /^\p{Mark}+$/u, + matchSymbols, + "\\p{Mark}" +); +testPropertyEscapes( + /^\p{M}+$/u, + matchSymbols, + "\\p{M}" +); +testPropertyEscapes( + /^\p{Combining_Mark}+$/u, + matchSymbols, + "\\p{Combining_Mark}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x0006E9, + 0x00081A, + 0x000824, + 0x000828, + 0x0008E2, + 0x00093D, + 0x000950, + 0x0009BD, + 0x000A3D, + 0x000ABD, + 0x000AC6, + 0x000ACA, + 0x000B00, + 0x000B3D, + 0x000BC9, + 0x000C45, + 0x000C49, + 0x000CBD, + 0x000CC5, + 0x000CC9, + 0x000D3D, + 0x000D45, + 0x000D49, + 0x000DD5, + 0x000DD7, + 0x000F36, + 0x000F38, + 0x000F85, + 0x000F98, + 0x001061, + 0x00108E, + 0x001A5F, + 0x001CD3, + 0x001DFA, + 0x00A673, + 0x00AAB1, + 0x00AAC0, + 0x00ABEB, + 0x010A04, + 0x0111CD, + 0x01133D, + 0x011936, + 0x01193F, + 0x011941, + 0x011A3A, + 0x011C37, + 0x011CA8, + 0x011D3B, + 0x011D3E, + 0x011D46, + 0x011D8F, + 0x011D92, + 0x016F50, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002FF], + [0x000370, 0x000482], + [0x00048A, 0x000590], + [0x0005C8, 0x00060F], + [0x00061B, 0x00064A], + [0x000660, 0x00066F], + [0x000671, 0x0006D5], + [0x0006DD, 0x0006DE], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x000710], + [0x000712, 0x00072F], + [0x00074B, 0x0007A5], + [0x0007B1, 0x0007EA], + [0x0007F4, 0x0007FC], + [0x0007FE, 0x000815], + [0x00082E, 0x000858], + [0x00085C, 0x0008D2], + [0x000904, 0x000939], + [0x000958, 0x000961], + [0x000964, 0x000980], + [0x000984, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CE, 0x0009D6], + [0x0009D8, 0x0009E1], + [0x0009E4, 0x0009FD], + [0x0009FF, 0x000A00], + [0x000A04, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A6F], + [0x000A72, 0x000A74], + [0x000A76, 0x000A80], + [0x000A84, 0x000ABB], + [0x000ACE, 0x000AE1], + [0x000AE4, 0x000AF9], + [0x000B04, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B61], + [0x000B64, 0x000B81], + [0x000B83, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BD6], + [0x000BD8, 0x000BFF], + [0x000C05, 0x000C3D], + [0x000C4E, 0x000C54], + [0x000C57, 0x000C61], + [0x000C64, 0x000C80], + [0x000C84, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CE1], + [0x000CE4, 0x000CFF], + [0x000D04, 0x000D3A], + [0x000D4E, 0x000D56], + [0x000D58, 0x000D61], + [0x000D64, 0x000D80], + [0x000D84, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DF1], + [0x000DF4, 0x000E30], + [0x000E32, 0x000E33], + [0x000E3B, 0x000E46], + [0x000E4F, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EBD, 0x000EC7], + [0x000ECE, 0x000F17], + [0x000F1A, 0x000F34], + [0x000F3A, 0x000F3D], + [0x000F40, 0x000F70], + [0x000F88, 0x000F8C], + [0x000FBD, 0x000FC5], + [0x000FC7, 0x00102A], + [0x00103F, 0x001055], + [0x00105A, 0x00105D], + [0x001065, 0x001066], + [0x00106E, 0x001070], + [0x001075, 0x001081], + [0x001090, 0x001099], + [0x00109E, 0x00135C], + [0x001360, 0x001711], + [0x001715, 0x001731], + [0x001735, 0x001751], + [0x001754, 0x001771], + [0x001774, 0x0017B3], + [0x0017D4, 0x0017DC], + [0x0017DE, 0x00180A], + [0x00180E, 0x001884], + [0x001887, 0x0018A8], + [0x0018AA, 0x00191F], + [0x00192C, 0x00192F], + [0x00193C, 0x001A16], + [0x001A1C, 0x001A54], + [0x001A7D, 0x001A7E], + [0x001A80, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B05, 0x001B33], + [0x001B45, 0x001B6A], + [0x001B74, 0x001B7F], + [0x001B83, 0x001BA0], + [0x001BAE, 0x001BE5], + [0x001BF4, 0x001C23], + [0x001C38, 0x001CCF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x001CFA, 0x001DBF], + [0x001E00, 0x0020CF], + [0x0020F1, 0x002CEE], + [0x002CF2, 0x002D7E], + [0x002D80, 0x002DDF], + [0x002E00, 0x003029], + [0x003030, 0x003098], + [0x00309B, 0x00A66E], + [0x00A67E, 0x00A69D], + [0x00A6A0, 0x00A6EF], + [0x00A6F2, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A822], + [0x00A828, 0x00A82B], + [0x00A82D, 0x00A87F], + [0x00A882, 0x00A8B3], + [0x00A8C6, 0x00A8DF], + [0x00A8F2, 0x00A8FE], + [0x00A900, 0x00A925], + [0x00A92E, 0x00A946], + [0x00A954, 0x00A97F], + [0x00A984, 0x00A9B2], + [0x00A9C1, 0x00A9E4], + [0x00A9E6, 0x00AA28], + [0x00AA37, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA4E, 0x00AA7A], + [0x00AA7E, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AAC2, 0x00AAEA], + [0x00AAF0, 0x00AAF4], + [0x00AAF7, 0x00ABE2], + [0x00ABEE, 0x00DBFF], + [0x00E000, 0x00FB1D], + [0x00FB1F, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE30, 0x0101FC], + [0x0101FE, 0x0102DF], + [0x0102E1, 0x010375], + [0x01037B, 0x010A00], + [0x010A07, 0x010A0B], + [0x010A10, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A40, 0x010AE4], + [0x010AE7, 0x010D23], + [0x010D28, 0x010EAA], + [0x010EAD, 0x010F45], + [0x010F51, 0x010FFF], + [0x011003, 0x011037], + [0x011047, 0x01107E], + [0x011083, 0x0110AF], + [0x0110BB, 0x0110FF], + [0x011103, 0x011126], + [0x011135, 0x011144], + [0x011147, 0x011172], + [0x011174, 0x01117F], + [0x011183, 0x0111B2], + [0x0111C1, 0x0111C8], + [0x0111D0, 0x01122B], + [0x011238, 0x01123D], + [0x01123F, 0x0112DE], + [0x0112EB, 0x0112FF], + [0x011304, 0x01133A], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x011356], + [0x011358, 0x011361], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x011434], + [0x011447, 0x01145D], + [0x01145F, 0x0114AF], + [0x0114C4, 0x0115AE], + [0x0115B6, 0x0115B7], + [0x0115C1, 0x0115DB], + [0x0115DE, 0x01162F], + [0x011641, 0x0116AA], + [0x0116B8, 0x01171C], + [0x01172C, 0x01182B], + [0x01183B, 0x01192F], + [0x011939, 0x01193A], + [0x011944, 0x0119D0], + [0x0119D8, 0x0119D9], + [0x0119E1, 0x0119E3], + [0x0119E5, 0x011A00], + [0x011A0B, 0x011A32], + [0x011A3F, 0x011A46], + [0x011A48, 0x011A50], + [0x011A5C, 0x011A89], + [0x011A9A, 0x011C2E], + [0x011C40, 0x011C91], + [0x011CB7, 0x011D30], + [0x011D37, 0x011D39], + [0x011D48, 0x011D89], + [0x011D98, 0x011EF2], + [0x011EF7, 0x016AEF], + [0x016AF5, 0x016B2F], + [0x016B37, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016F93, 0x016FE3], + [0x016FE5, 0x016FEF], + [0x016FF2, 0x01BC9C], + [0x01BC9F, 0x01D164], + [0x01D16A, 0x01D16C], + [0x01D173, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D241], + [0x01D245, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E12F], + [0x01E137, 0x01E2EB], + [0x01E2F0, 0x01E8CF], + [0x01E8D7, 0x01E943], + [0x01E94B, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Mark}+$/u, + nonMatchSymbols, + "\\P{General_Category=Mark}" +); +testPropertyEscapes( + /^\P{General_Category=M}+$/u, + nonMatchSymbols, + "\\P{General_Category=M}" +); +testPropertyEscapes( + /^\P{General_Category=Combining_Mark}+$/u, + nonMatchSymbols, + "\\P{General_Category=Combining_Mark}" +); +testPropertyEscapes( + /^\P{gc=Mark}+$/u, + nonMatchSymbols, + "\\P{gc=Mark}" +); +testPropertyEscapes( + /^\P{gc=M}+$/u, + nonMatchSymbols, + "\\P{gc=M}" +); +testPropertyEscapes( + /^\P{gc=Combining_Mark}+$/u, + nonMatchSymbols, + "\\P{gc=Combining_Mark}" +); +testPropertyEscapes( + /^\P{Mark}+$/u, + nonMatchSymbols, + "\\P{Mark}" +); +testPropertyEscapes( + /^\P{M}+$/u, + nonMatchSymbols, + "\\P{M}" +); +testPropertyEscapes( + /^\P{Combining_Mark}+$/u, + nonMatchSymbols, + "\\P{Combining_Mark}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js new file mode 100644 index 0000000000..bb3623568c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js @@ -0,0 +1,221 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Math_Symbol` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00002B, + 0x00007C, + 0x00007E, + 0x0000AC, + 0x0000B1, + 0x0000D7, + 0x0000F7, + 0x0003F6, + 0x002044, + 0x002052, + 0x002118, + 0x00214B, + 0x0021A0, + 0x0021A3, + 0x0021A6, + 0x0021AE, + 0x0021D2, + 0x0021D4, + 0x00237C, + 0x0025B7, + 0x0025C1, + 0x00266F, + 0x00FB29, + 0x00FE62, + 0x00FF0B, + 0x00FF5C, + 0x00FF5E, + 0x00FFE2, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3 + ], + ranges: [ + [0x00003C, 0x00003E], + [0x000606, 0x000608], + [0x00207A, 0x00207C], + [0x00208A, 0x00208C], + [0x002140, 0x002144], + [0x002190, 0x002194], + [0x00219A, 0x00219B], + [0x0021CE, 0x0021CF], + [0x0021F4, 0x0022FF], + [0x002320, 0x002321], + [0x00239B, 0x0023B3], + [0x0023DC, 0x0023E1], + [0x0025F8, 0x0025FF], + [0x0027C0, 0x0027C4], + [0x0027C7, 0x0027E5], + [0x0027F0, 0x0027FF], + [0x002900, 0x002982], + [0x002999, 0x0029D7], + [0x0029DC, 0x0029FB], + [0x0029FE, 0x002AFF], + [0x002B30, 0x002B44], + [0x002B47, 0x002B4C], + [0x00FE64, 0x00FE66], + [0x00FF1C, 0x00FF1E], + [0x00FFE9, 0x00FFEC], + [0x01EEF0, 0x01EEF1] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Math_Symbol}+$/u, + matchSymbols, + "\\p{General_Category=Math_Symbol}" +); +testPropertyEscapes( + /^\p{General_Category=Sm}+$/u, + matchSymbols, + "\\p{General_Category=Sm}" +); +testPropertyEscapes( + /^\p{gc=Math_Symbol}+$/u, + matchSymbols, + "\\p{gc=Math_Symbol}" +); +testPropertyEscapes( + /^\p{gc=Sm}+$/u, + matchSymbols, + "\\p{gc=Sm}" +); +testPropertyEscapes( + /^\p{Math_Symbol}+$/u, + matchSymbols, + "\\p{Math_Symbol}" +); +testPropertyEscapes( + /^\p{Sm}+$/u, + matchSymbols, + "\\p{Sm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00007D, + 0x0021D3, + 0x00FE63, + 0x00FF5D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002A], + [0x00002C, 0x00003B], + [0x00003F, 0x00007B], + [0x00007F, 0x0000AB], + [0x0000AD, 0x0000B0], + [0x0000B2, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0003F5], + [0x0003F7, 0x000605], + [0x000609, 0x002043], + [0x002045, 0x002051], + [0x002053, 0x002079], + [0x00207D, 0x002089], + [0x00208D, 0x002117], + [0x002119, 0x00213F], + [0x002145, 0x00214A], + [0x00214C, 0x00218F], + [0x002195, 0x002199], + [0x00219C, 0x00219F], + [0x0021A1, 0x0021A2], + [0x0021A4, 0x0021A5], + [0x0021A7, 0x0021AD], + [0x0021AF, 0x0021CD], + [0x0021D0, 0x0021D1], + [0x0021D5, 0x0021F3], + [0x002300, 0x00231F], + [0x002322, 0x00237B], + [0x00237D, 0x00239A], + [0x0023B4, 0x0023DB], + [0x0023E2, 0x0025B6], + [0x0025B8, 0x0025C0], + [0x0025C2, 0x0025F7], + [0x002600, 0x00266E], + [0x002670, 0x0027BF], + [0x0027C5, 0x0027C6], + [0x0027E6, 0x0027EF], + [0x002800, 0x0028FF], + [0x002983, 0x002998], + [0x0029D8, 0x0029DB], + [0x0029FC, 0x0029FD], + [0x002B00, 0x002B2F], + [0x002B45, 0x002B46], + [0x002B4D, 0x00DBFF], + [0x00E000, 0x00FB28], + [0x00FB2A, 0x00FE61], + [0x00FE67, 0x00FF0A], + [0x00FF0C, 0x00FF1B], + [0x00FF1F, 0x00FF5B], + [0x00FF5F, 0x00FFE1], + [0x00FFE3, 0x00FFE8], + [0x00FFED, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01EEEF], + [0x01EEF2, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Math_Symbol}+$/u, + nonMatchSymbols, + "\\P{General_Category=Math_Symbol}" +); +testPropertyEscapes( + /^\P{General_Category=Sm}+$/u, + nonMatchSymbols, + "\\P{General_Category=Sm}" +); +testPropertyEscapes( + /^\P{gc=Math_Symbol}+$/u, + nonMatchSymbols, + "\\P{gc=Math_Symbol}" +); +testPropertyEscapes( + /^\P{gc=Sm}+$/u, + nonMatchSymbols, + "\\P{gc=Sm}" +); +testPropertyEscapes( + /^\P{Math_Symbol}+$/u, + nonMatchSymbols, + "\\P{Math_Symbol}" +); +testPropertyEscapes( + /^\P{Sm}+$/u, + nonMatchSymbols, + "\\P{Sm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js new file mode 100644 index 0000000000..923722068a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js @@ -0,0 +1,215 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Modifier_Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0002EC, + 0x0002EE, + 0x000374, + 0x00037A, + 0x000559, + 0x000640, + 0x0007FA, + 0x00081A, + 0x000824, + 0x000828, + 0x000971, + 0x000E46, + 0x000EC6, + 0x0010FC, + 0x0017D7, + 0x001843, + 0x001AA7, + 0x001D78, + 0x002071, + 0x00207F, + 0x002D6F, + 0x002E2F, + 0x003005, + 0x00303B, + 0x00A015, + 0x00A60C, + 0x00A67F, + 0x00A770, + 0x00A788, + 0x00A9CF, + 0x00A9E6, + 0x00AA70, + 0x00AADD, + 0x00AB69, + 0x00FF70, + 0x016FE3, + 0x01E94B + ], + ranges: [ + [0x0002B0, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x0006E5, 0x0006E6], + [0x0007F4, 0x0007F5], + [0x001C78, 0x001C7D], + [0x001D2C, 0x001D6A], + [0x001D9B, 0x001DBF], + [0x002090, 0x00209C], + [0x002C7C, 0x002C7D], + [0x003031, 0x003035], + [0x00309D, 0x00309E], + [0x0030FC, 0x0030FE], + [0x00A4F8, 0x00A4FD], + [0x00A69C, 0x00A69D], + [0x00A717, 0x00A71F], + [0x00A7F8, 0x00A7F9], + [0x00AAF3, 0x00AAF4], + [0x00AB5C, 0x00AB5F], + [0x00FF9E, 0x00FF9F], + [0x016B40, 0x016B43], + [0x016F93, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x01E137, 0x01E13D] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Modifier_Letter}+$/u, + matchSymbols, + "\\p{General_Category=Modifier_Letter}" +); +testPropertyEscapes( + /^\p{General_Category=Lm}+$/u, + matchSymbols, + "\\p{General_Category=Lm}" +); +testPropertyEscapes( + /^\p{gc=Modifier_Letter}+$/u, + matchSymbols, + "\\p{gc=Modifier_Letter}" +); +testPropertyEscapes( + /^\p{gc=Lm}+$/u, + matchSymbols, + "\\p{gc=Lm}" +); +testPropertyEscapes( + /^\p{Modifier_Letter}+$/u, + matchSymbols, + "\\p{Modifier_Letter}" +); +testPropertyEscapes( + /^\p{Lm}+$/u, + matchSymbols, + "\\p{Lm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0002ED, + 0x016FE2 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002AF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x000373], + [0x000375, 0x000379], + [0x00037B, 0x000558], + [0x00055A, 0x00063F], + [0x000641, 0x0006E4], + [0x0006E7, 0x0007F3], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x000970], + [0x000972, 0x000E45], + [0x000E47, 0x000EC5], + [0x000EC7, 0x0010FB], + [0x0010FD, 0x0017D6], + [0x0017D8, 0x001842], + [0x001844, 0x001AA6], + [0x001AA8, 0x001C77], + [0x001C7E, 0x001D2B], + [0x001D6B, 0x001D77], + [0x001D79, 0x001D9A], + [0x001DC0, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002C7B], + [0x002C7E, 0x002D6E], + [0x002D70, 0x002E2E], + [0x002E30, 0x003004], + [0x003006, 0x003030], + [0x003036, 0x00303A], + [0x00303C, 0x00309C], + [0x00309F, 0x0030FB], + [0x0030FF, 0x00A014], + [0x00A016, 0x00A4F7], + [0x00A4FE, 0x00A60B], + [0x00A60D, 0x00A67E], + [0x00A680, 0x00A69B], + [0x00A69E, 0x00A716], + [0x00A720, 0x00A76F], + [0x00A771, 0x00A787], + [0x00A789, 0x00A7F7], + [0x00A7FA, 0x00A9CE], + [0x00A9D0, 0x00A9E5], + [0x00A9E7, 0x00AA6F], + [0x00AA71, 0x00AADC], + [0x00AADE, 0x00AAF2], + [0x00AAF5, 0x00AB5B], + [0x00AB60, 0x00AB68], + [0x00AB6A, 0x00DBFF], + [0x00E000, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x00FFA0, 0x016B3F], + [0x016B44, 0x016F92], + [0x016FA0, 0x016FDF], + [0x016FE4, 0x01E136], + [0x01E13E, 0x01E94A], + [0x01E94C, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Modifier_Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Modifier_Letter}" +); +testPropertyEscapes( + /^\P{General_Category=Lm}+$/u, + nonMatchSymbols, + "\\P{General_Category=Lm}" +); +testPropertyEscapes( + /^\P{gc=Modifier_Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Modifier_Letter}" +); +testPropertyEscapes( + /^\P{gc=Lm}+$/u, + nonMatchSymbols, + "\\P{gc=Lm}" +); +testPropertyEscapes( + /^\P{Modifier_Letter}+$/u, + nonMatchSymbols, + "\\P{Modifier_Letter}" +); +testPropertyEscapes( + /^\P{Lm}+$/u, + nonMatchSymbols, + "\\P{Lm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js new file mode 100644 index 0000000000..778096eebd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js @@ -0,0 +1,153 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Modifier_Symbol` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00005E, + 0x000060, + 0x0000A8, + 0x0000AF, + 0x0000B4, + 0x0000B8, + 0x0002ED, + 0x000375, + 0x001FBD, + 0x00AB5B, + 0x00FF3E, + 0x00FF40, + 0x00FFE3 + ], + ranges: [ + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x0002FF], + [0x000384, 0x000385], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FDD, 0x001FDF], + [0x001FED, 0x001FEF], + [0x001FFD, 0x001FFE], + [0x00309B, 0x00309C], + [0x00A700, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00AB6A, 0x00AB6B], + [0x00FBB2, 0x00FBC1], + [0x01F3FB, 0x01F3FF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Modifier_Symbol}+$/u, + matchSymbols, + "\\p{General_Category=Modifier_Symbol}" +); +testPropertyEscapes( + /^\p{General_Category=Sk}+$/u, + matchSymbols, + "\\p{General_Category=Sk}" +); +testPropertyEscapes( + /^\p{gc=Modifier_Symbol}+$/u, + matchSymbols, + "\\p{gc=Modifier_Symbol}" +); +testPropertyEscapes( + /^\p{gc=Sk}+$/u, + matchSymbols, + "\\p{gc=Sk}" +); +testPropertyEscapes( + /^\p{Modifier_Symbol}+$/u, + matchSymbols, + "\\p{Modifier_Symbol}" +); +testPropertyEscapes( + /^\p{Sk}+$/u, + matchSymbols, + "\\p{Sk}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x0002EC, + 0x0002EE, + 0x001FBE, + 0x00FF3F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00005D], + [0x000061, 0x0000A7], + [0x0000A9, 0x0000AE], + [0x0000B0, 0x0000B3], + [0x0000B5, 0x0000B7], + [0x0000B9, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000300, 0x000374], + [0x000376, 0x000383], + [0x000386, 0x001FBC], + [0x001FC2, 0x001FCC], + [0x001FD0, 0x001FDC], + [0x001FE0, 0x001FEC], + [0x001FF0, 0x001FFC], + [0x001FFF, 0x00309A], + [0x00309D, 0x00A6FF], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB6C, 0x00DBFF], + [0x00E000, 0x00FBB1], + [0x00FBC2, 0x00FF3D], + [0x00FF41, 0x00FFE2], + [0x00FFE4, 0x01F3FA], + [0x01F400, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Modifier_Symbol}+$/u, + nonMatchSymbols, + "\\P{General_Category=Modifier_Symbol}" +); +testPropertyEscapes( + /^\P{General_Category=Sk}+$/u, + nonMatchSymbols, + "\\P{General_Category=Sk}" +); +testPropertyEscapes( + /^\P{gc=Modifier_Symbol}+$/u, + nonMatchSymbols, + "\\P{gc=Modifier_Symbol}" +); +testPropertyEscapes( + /^\P{gc=Sk}+$/u, + nonMatchSymbols, + "\\P{gc=Sk}" +); +testPropertyEscapes( + /^\P{Modifier_Symbol}+$/u, + nonMatchSymbols, + "\\P{Modifier_Symbol}" +); +testPropertyEscapes( + /^\P{Sk}+$/u, + nonMatchSymbols, + "\\P{Sk}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js new file mode 100644 index 0000000000..ef7458897e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js @@ -0,0 +1,747 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Nonspacing_Mark` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0005BF, + 0x0005C7, + 0x000670, + 0x000711, + 0x0007FD, + 0x00093A, + 0x00093C, + 0x00094D, + 0x000981, + 0x0009BC, + 0x0009CD, + 0x0009FE, + 0x000A3C, + 0x000A51, + 0x000A75, + 0x000ABC, + 0x000ACD, + 0x000B01, + 0x000B3C, + 0x000B3F, + 0x000B4D, + 0x000B82, + 0x000BC0, + 0x000BCD, + 0x000C00, + 0x000C04, + 0x000C81, + 0x000CBC, + 0x000CBF, + 0x000CC6, + 0x000D4D, + 0x000D81, + 0x000DCA, + 0x000DD6, + 0x000E31, + 0x000EB1, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x001082, + 0x00108D, + 0x00109D, + 0x0017C6, + 0x0017DD, + 0x0018A9, + 0x001932, + 0x001A1B, + 0x001A56, + 0x001A60, + 0x001A62, + 0x001A7F, + 0x001B34, + 0x001B3C, + 0x001B42, + 0x001BE6, + 0x001BED, + 0x001CED, + 0x001CF4, + 0x0020E1, + 0x002D7F, + 0x00A66F, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A82C, + 0x00A8FF, + 0x00A9B3, + 0x00A9E5, + 0x00AA43, + 0x00AA4C, + 0x00AA7C, + 0x00AAB0, + 0x00AAC1, + 0x00AAF6, + 0x00ABE5, + 0x00ABE8, + 0x00ABED, + 0x00FB1E, + 0x0101FD, + 0x0102E0, + 0x010A3F, + 0x011001, + 0x011173, + 0x0111CF, + 0x011234, + 0x01123E, + 0x0112DF, + 0x011340, + 0x011446, + 0x01145E, + 0x0114BA, + 0x01163D, + 0x0116AB, + 0x0116AD, + 0x0116B7, + 0x01193E, + 0x011943, + 0x0119E0, + 0x011A47, + 0x011C3F, + 0x011D3A, + 0x011D47, + 0x011D95, + 0x011D97, + 0x016F4F, + 0x016FE4, + 0x01DA75, + 0x01DA84 + ], + ranges: [ + [0x000300, 0x00036F], + [0x000483, 0x000487], + [0x000591, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x000610, 0x00061A], + [0x00064B, 0x00065F], + [0x0006D6, 0x0006DC], + [0x0006DF, 0x0006E4], + [0x0006E7, 0x0006E8], + [0x0006EA, 0x0006ED], + [0x000730, 0x00074A], + [0x0007A6, 0x0007B0], + [0x0007EB, 0x0007F3], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00082D], + [0x000859, 0x00085B], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x000902], + [0x000941, 0x000948], + [0x000951, 0x000957], + [0x000962, 0x000963], + [0x0009C1, 0x0009C4], + [0x0009E2, 0x0009E3], + [0x000A01, 0x000A02], + [0x000A41, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A70, 0x000A71], + [0x000A81, 0x000A82], + [0x000AC1, 0x000AC5], + [0x000AC7, 0x000AC8], + [0x000AE2, 0x000AE3], + [0x000AFA, 0x000AFF], + [0x000B41, 0x000B44], + [0x000B55, 0x000B56], + [0x000B62, 0x000B63], + [0x000C3E, 0x000C40], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C62, 0x000C63], + [0x000CCC, 0x000CCD], + [0x000CE2, 0x000CE3], + [0x000D00, 0x000D01], + [0x000D3B, 0x000D3C], + [0x000D41, 0x000D44], + [0x000D62, 0x000D63], + [0x000DD2, 0x000DD4], + [0x000E34, 0x000E3A], + [0x000E47, 0x000E4E], + [0x000EB4, 0x000EBC], + [0x000EC8, 0x000ECD], + [0x000F18, 0x000F19], + [0x000F71, 0x000F7E], + [0x000F80, 0x000F84], + [0x000F86, 0x000F87], + [0x000F8D, 0x000F97], + [0x000F99, 0x000FBC], + [0x00102D, 0x001030], + [0x001032, 0x001037], + [0x001039, 0x00103A], + [0x00103D, 0x00103E], + [0x001058, 0x001059], + [0x00105E, 0x001060], + [0x001071, 0x001074], + [0x001085, 0x001086], + [0x00135D, 0x00135F], + [0x001712, 0x001714], + [0x001732, 0x001734], + [0x001752, 0x001753], + [0x001772, 0x001773], + [0x0017B4, 0x0017B5], + [0x0017B7, 0x0017BD], + [0x0017C9, 0x0017D3], + [0x00180B, 0x00180D], + [0x001885, 0x001886], + [0x001920, 0x001922], + [0x001927, 0x001928], + [0x001939, 0x00193B], + [0x001A17, 0x001A18], + [0x001A58, 0x001A5E], + [0x001A65, 0x001A6C], + [0x001A73, 0x001A7C], + [0x001AB0, 0x001ABD], + [0x001ABF, 0x001AC0], + [0x001B00, 0x001B03], + [0x001B36, 0x001B3A], + [0x001B6B, 0x001B73], + [0x001B80, 0x001B81], + [0x001BA2, 0x001BA5], + [0x001BA8, 0x001BA9], + [0x001BAB, 0x001BAD], + [0x001BE8, 0x001BE9], + [0x001BEF, 0x001BF1], + [0x001C2C, 0x001C33], + [0x001C36, 0x001C37], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CE0], + [0x001CE2, 0x001CE8], + [0x001CF8, 0x001CF9], + [0x001DC0, 0x001DF9], + [0x001DFB, 0x001DFF], + [0x0020D0, 0x0020DC], + [0x0020E5, 0x0020F0], + [0x002CEF, 0x002CF1], + [0x002DE0, 0x002DFF], + [0x00302A, 0x00302D], + [0x003099, 0x00309A], + [0x00A674, 0x00A67D], + [0x00A69E, 0x00A69F], + [0x00A6F0, 0x00A6F1], + [0x00A825, 0x00A826], + [0x00A8C4, 0x00A8C5], + [0x00A8E0, 0x00A8F1], + [0x00A926, 0x00A92D], + [0x00A947, 0x00A951], + [0x00A980, 0x00A982], + [0x00A9B6, 0x00A9B9], + [0x00A9BC, 0x00A9BD], + [0x00AA29, 0x00AA2E], + [0x00AA31, 0x00AA32], + [0x00AA35, 0x00AA36], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAEC, 0x00AAED], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2F], + [0x010376, 0x01037A], + [0x010A01, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A0F], + [0x010A38, 0x010A3A], + [0x010AE5, 0x010AE6], + [0x010D24, 0x010D27], + [0x010EAB, 0x010EAC], + [0x010F46, 0x010F50], + [0x011038, 0x011046], + [0x01107F, 0x011081], + [0x0110B3, 0x0110B6], + [0x0110B9, 0x0110BA], + [0x011100, 0x011102], + [0x011127, 0x01112B], + [0x01112D, 0x011134], + [0x011180, 0x011181], + [0x0111B6, 0x0111BE], + [0x0111C9, 0x0111CC], + [0x01122F, 0x011231], + [0x011236, 0x011237], + [0x0112E3, 0x0112EA], + [0x011300, 0x011301], + [0x01133B, 0x01133C], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011438, 0x01143F], + [0x011442, 0x011444], + [0x0114B3, 0x0114B8], + [0x0114BF, 0x0114C0], + [0x0114C2, 0x0114C3], + [0x0115B2, 0x0115B5], + [0x0115BC, 0x0115BD], + [0x0115BF, 0x0115C0], + [0x0115DC, 0x0115DD], + [0x011633, 0x01163A], + [0x01163F, 0x011640], + [0x0116B0, 0x0116B5], + [0x01171D, 0x01171F], + [0x011722, 0x011725], + [0x011727, 0x01172B], + [0x01182F, 0x011837], + [0x011839, 0x01183A], + [0x01193B, 0x01193C], + [0x0119D4, 0x0119D7], + [0x0119DA, 0x0119DB], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A38], + [0x011A3B, 0x011A3E], + [0x011A51, 0x011A56], + [0x011A59, 0x011A5B], + [0x011A8A, 0x011A96], + [0x011A98, 0x011A99], + [0x011C30, 0x011C36], + [0x011C38, 0x011C3D], + [0x011C92, 0x011CA7], + [0x011CAA, 0x011CB0], + [0x011CB2, 0x011CB3], + [0x011CB5, 0x011CB6], + [0x011D31, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D45], + [0x011D90, 0x011D91], + [0x011EF3, 0x011EF4], + [0x016AF0, 0x016AF4], + [0x016B30, 0x016B36], + [0x016F8F, 0x016F92], + [0x01BC9D, 0x01BC9E], + [0x01D167, 0x01D169], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D242, 0x01D244], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E130, 0x01E136], + [0x01E2EC, 0x01E2EF], + [0x01E8D0, 0x01E8D6], + [0x01E944, 0x01E94A], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Nonspacing_Mark}+$/u, + matchSymbols, + "\\p{General_Category=Nonspacing_Mark}" +); +testPropertyEscapes( + /^\p{General_Category=Mn}+$/u, + matchSymbols, + "\\p{General_Category=Mn}" +); +testPropertyEscapes( + /^\p{gc=Nonspacing_Mark}+$/u, + matchSymbols, + "\\p{gc=Nonspacing_Mark}" +); +testPropertyEscapes( + /^\p{gc=Mn}+$/u, + matchSymbols, + "\\p{gc=Mn}" +); +testPropertyEscapes( + /^\p{Nonspacing_Mark}+$/u, + matchSymbols, + "\\p{Nonspacing_Mark}" +); +testPropertyEscapes( + /^\p{Mn}+$/u, + matchSymbols, + "\\p{Mn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x0006E9, + 0x00081A, + 0x000824, + 0x000828, + 0x0008E2, + 0x00093B, + 0x000AC6, + 0x000B00, + 0x000B40, + 0x000C49, + 0x000DD5, + 0x000F36, + 0x000F38, + 0x000F7F, + 0x000F85, + 0x000F98, + 0x001031, + 0x001038, + 0x0017B6, + 0x001A57, + 0x001A5F, + 0x001A61, + 0x001ABE, + 0x001B35, + 0x001B3B, + 0x001BAA, + 0x001BE7, + 0x001BEE, + 0x001CD3, + 0x001CE1, + 0x001DFA, + 0x00AAB1, + 0x00AAC0, + 0x010A04, + 0x01112C, + 0x011235, + 0x011445, + 0x0114B9, + 0x0114C1, + 0x0115BE, + 0x01163E, + 0x0116AC, + 0x0116B6, + 0x011726, + 0x011838, + 0x01193D, + 0x011A97, + 0x011C37, + 0x011C3E, + 0x011CB1, + 0x011CB4, + 0x011D3B, + 0x011D3E, + 0x011D46, + 0x011D96, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002FF], + [0x000370, 0x000482], + [0x000488, 0x000590], + [0x0005C8, 0x00060F], + [0x00061B, 0x00064A], + [0x000660, 0x00066F], + [0x000671, 0x0006D5], + [0x0006DD, 0x0006DE], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x000710], + [0x000712, 0x00072F], + [0x00074B, 0x0007A5], + [0x0007B1, 0x0007EA], + [0x0007F4, 0x0007FC], + [0x0007FE, 0x000815], + [0x00082E, 0x000858], + [0x00085C, 0x0008D2], + [0x000903, 0x000939], + [0x00093D, 0x000940], + [0x000949, 0x00094C], + [0x00094E, 0x000950], + [0x000958, 0x000961], + [0x000964, 0x000980], + [0x000982, 0x0009BB], + [0x0009BD, 0x0009C0], + [0x0009C5, 0x0009CC], + [0x0009CE, 0x0009E1], + [0x0009E4, 0x0009FD], + [0x0009FF, 0x000A00], + [0x000A03, 0x000A3B], + [0x000A3D, 0x000A40], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A6F], + [0x000A72, 0x000A74], + [0x000A76, 0x000A80], + [0x000A83, 0x000ABB], + [0x000ABD, 0x000AC0], + [0x000AC9, 0x000ACC], + [0x000ACE, 0x000AE1], + [0x000AE4, 0x000AF9], + [0x000B02, 0x000B3B], + [0x000B3D, 0x000B3E], + [0x000B45, 0x000B4C], + [0x000B4E, 0x000B54], + [0x000B57, 0x000B61], + [0x000B64, 0x000B81], + [0x000B83, 0x000BBF], + [0x000BC1, 0x000BCC], + [0x000BCE, 0x000BFF], + [0x000C01, 0x000C03], + [0x000C05, 0x000C3D], + [0x000C41, 0x000C45], + [0x000C4E, 0x000C54], + [0x000C57, 0x000C61], + [0x000C64, 0x000C80], + [0x000C82, 0x000CBB], + [0x000CBD, 0x000CBE], + [0x000CC0, 0x000CC5], + [0x000CC7, 0x000CCB], + [0x000CCE, 0x000CE1], + [0x000CE4, 0x000CFF], + [0x000D02, 0x000D3A], + [0x000D3D, 0x000D40], + [0x000D45, 0x000D4C], + [0x000D4E, 0x000D61], + [0x000D64, 0x000D80], + [0x000D82, 0x000DC9], + [0x000DCB, 0x000DD1], + [0x000DD7, 0x000E30], + [0x000E32, 0x000E33], + [0x000E3B, 0x000E46], + [0x000E4F, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EBD, 0x000EC7], + [0x000ECE, 0x000F17], + [0x000F1A, 0x000F34], + [0x000F3A, 0x000F70], + [0x000F88, 0x000F8C], + [0x000FBD, 0x000FC5], + [0x000FC7, 0x00102C], + [0x00103B, 0x00103C], + [0x00103F, 0x001057], + [0x00105A, 0x00105D], + [0x001061, 0x001070], + [0x001075, 0x001081], + [0x001083, 0x001084], + [0x001087, 0x00108C], + [0x00108E, 0x00109C], + [0x00109E, 0x00135C], + [0x001360, 0x001711], + [0x001715, 0x001731], + [0x001735, 0x001751], + [0x001754, 0x001771], + [0x001774, 0x0017B3], + [0x0017BE, 0x0017C5], + [0x0017C7, 0x0017C8], + [0x0017D4, 0x0017DC], + [0x0017DE, 0x00180A], + [0x00180E, 0x001884], + [0x001887, 0x0018A8], + [0x0018AA, 0x00191F], + [0x001923, 0x001926], + [0x001929, 0x001931], + [0x001933, 0x001938], + [0x00193C, 0x001A16], + [0x001A19, 0x001A1A], + [0x001A1C, 0x001A55], + [0x001A63, 0x001A64], + [0x001A6D, 0x001A72], + [0x001A7D, 0x001A7E], + [0x001A80, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B04, 0x001B33], + [0x001B3D, 0x001B41], + [0x001B43, 0x001B6A], + [0x001B74, 0x001B7F], + [0x001B82, 0x001BA1], + [0x001BA6, 0x001BA7], + [0x001BAE, 0x001BE5], + [0x001BEA, 0x001BEC], + [0x001BF2, 0x001C2B], + [0x001C34, 0x001C35], + [0x001C38, 0x001CCF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF7], + [0x001CFA, 0x001DBF], + [0x001E00, 0x0020CF], + [0x0020DD, 0x0020E0], + [0x0020E2, 0x0020E4], + [0x0020F1, 0x002CEE], + [0x002CF2, 0x002D7E], + [0x002D80, 0x002DDF], + [0x002E00, 0x003029], + [0x00302E, 0x003098], + [0x00309B, 0x00A66E], + [0x00A670, 0x00A673], + [0x00A67E, 0x00A69D], + [0x00A6A0, 0x00A6EF], + [0x00A6F2, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A824], + [0x00A827, 0x00A82B], + [0x00A82D, 0x00A8C3], + [0x00A8C6, 0x00A8DF], + [0x00A8F2, 0x00A8FE], + [0x00A900, 0x00A925], + [0x00A92E, 0x00A946], + [0x00A952, 0x00A97F], + [0x00A983, 0x00A9B2], + [0x00A9B4, 0x00A9B5], + [0x00A9BA, 0x00A9BB], + [0x00A9BE, 0x00A9E4], + [0x00A9E6, 0x00AA28], + [0x00AA2F, 0x00AA30], + [0x00AA33, 0x00AA34], + [0x00AA37, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA4D, 0x00AA7B], + [0x00AA7D, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AAC2, 0x00AAEB], + [0x00AAEE, 0x00AAF5], + [0x00AAF7, 0x00ABE4], + [0x00ABE6, 0x00ABE7], + [0x00ABE9, 0x00ABEC], + [0x00ABEE, 0x00DBFF], + [0x00E000, 0x00FB1D], + [0x00FB1F, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE30, 0x0101FC], + [0x0101FE, 0x0102DF], + [0x0102E1, 0x010375], + [0x01037B, 0x010A00], + [0x010A07, 0x010A0B], + [0x010A10, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A40, 0x010AE4], + [0x010AE7, 0x010D23], + [0x010D28, 0x010EAA], + [0x010EAD, 0x010F45], + [0x010F51, 0x011000], + [0x011002, 0x011037], + [0x011047, 0x01107E], + [0x011082, 0x0110B2], + [0x0110B7, 0x0110B8], + [0x0110BB, 0x0110FF], + [0x011103, 0x011126], + [0x011135, 0x011172], + [0x011174, 0x01117F], + [0x011182, 0x0111B5], + [0x0111BF, 0x0111C8], + [0x0111CD, 0x0111CE], + [0x0111D0, 0x01122E], + [0x011232, 0x011233], + [0x011238, 0x01123D], + [0x01123F, 0x0112DE], + [0x0112E0, 0x0112E2], + [0x0112EB, 0x0112FF], + [0x011302, 0x01133A], + [0x01133D, 0x01133F], + [0x011341, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x011437], + [0x011440, 0x011441], + [0x011447, 0x01145D], + [0x01145F, 0x0114B2], + [0x0114BB, 0x0114BE], + [0x0114C4, 0x0115B1], + [0x0115B6, 0x0115BB], + [0x0115C1, 0x0115DB], + [0x0115DE, 0x011632], + [0x01163B, 0x01163C], + [0x011641, 0x0116AA], + [0x0116AE, 0x0116AF], + [0x0116B8, 0x01171C], + [0x011720, 0x011721], + [0x01172C, 0x01182E], + [0x01183B, 0x01193A], + [0x01193F, 0x011942], + [0x011944, 0x0119D3], + [0x0119D8, 0x0119D9], + [0x0119DC, 0x0119DF], + [0x0119E1, 0x011A00], + [0x011A0B, 0x011A32], + [0x011A39, 0x011A3A], + [0x011A3F, 0x011A46], + [0x011A48, 0x011A50], + [0x011A57, 0x011A58], + [0x011A5C, 0x011A89], + [0x011A9A, 0x011C2F], + [0x011C40, 0x011C91], + [0x011CA8, 0x011CA9], + [0x011CB7, 0x011D30], + [0x011D37, 0x011D39], + [0x011D48, 0x011D8F], + [0x011D92, 0x011D94], + [0x011D98, 0x011EF2], + [0x011EF5, 0x016AEF], + [0x016AF5, 0x016B2F], + [0x016B37, 0x016F4E], + [0x016F50, 0x016F8E], + [0x016F93, 0x016FE3], + [0x016FE5, 0x01BC9C], + [0x01BC9F, 0x01D166], + [0x01D16A, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D241], + [0x01D245, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E12F], + [0x01E137, 0x01E2EB], + [0x01E2F0, 0x01E8CF], + [0x01E8D7, 0x01E943], + [0x01E94B, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Nonspacing_Mark}+$/u, + nonMatchSymbols, + "\\P{General_Category=Nonspacing_Mark}" +); +testPropertyEscapes( + /^\P{General_Category=Mn}+$/u, + nonMatchSymbols, + "\\P{General_Category=Mn}" +); +testPropertyEscapes( + /^\P{gc=Nonspacing_Mark}+$/u, + nonMatchSymbols, + "\\P{gc=Nonspacing_Mark}" +); +testPropertyEscapes( + /^\P{gc=Mn}+$/u, + nonMatchSymbols, + "\\P{gc=Mn}" +); +testPropertyEscapes( + /^\P{Nonspacing_Mark}+$/u, + nonMatchSymbols, + "\\P{Nonspacing_Mark}" +); +testPropertyEscapes( + /^\P{Mn}+$/u, + nonMatchSymbols, + "\\P{Mn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js new file mode 100644 index 0000000000..f2b84c41f2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js @@ -0,0 +1,359 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Number` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B9, + 0x002070, + 0x002CFD, + 0x003007, + 0x010341, + 0x01034A + ], + ranges: [ + [0x000030, 0x000039], + [0x0000B2, 0x0000B3], + [0x0000BC, 0x0000BE], + [0x000660, 0x000669], + [0x0006F0, 0x0006F9], + [0x0007C0, 0x0007C9], + [0x000966, 0x00096F], + [0x0009E6, 0x0009EF], + [0x0009F4, 0x0009F9], + [0x000A66, 0x000A6F], + [0x000AE6, 0x000AEF], + [0x000B66, 0x000B6F], + [0x000B72, 0x000B77], + [0x000BE6, 0x000BF2], + [0x000C66, 0x000C6F], + [0x000C78, 0x000C7E], + [0x000CE6, 0x000CEF], + [0x000D58, 0x000D5E], + [0x000D66, 0x000D78], + [0x000DE6, 0x000DEF], + [0x000E50, 0x000E59], + [0x000ED0, 0x000ED9], + [0x000F20, 0x000F33], + [0x001040, 0x001049], + [0x001090, 0x001099], + [0x001369, 0x00137C], + [0x0016EE, 0x0016F0], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x001810, 0x001819], + [0x001946, 0x00194F], + [0x0019D0, 0x0019DA], + [0x001A80, 0x001A89], + [0x001A90, 0x001A99], + [0x001B50, 0x001B59], + [0x001BB0, 0x001BB9], + [0x001C40, 0x001C49], + [0x001C50, 0x001C59], + [0x002074, 0x002079], + [0x002080, 0x002089], + [0x002150, 0x002182], + [0x002185, 0x002189], + [0x002460, 0x00249B], + [0x0024EA, 0x0024FF], + [0x002776, 0x002793], + [0x003021, 0x003029], + [0x003038, 0x00303A], + [0x003192, 0x003195], + [0x003220, 0x003229], + [0x003248, 0x00324F], + [0x003251, 0x00325F], + [0x003280, 0x003289], + [0x0032B1, 0x0032BF], + [0x00A620, 0x00A629], + [0x00A6E6, 0x00A6EF], + [0x00A830, 0x00A835], + [0x00A8D0, 0x00A8D9], + [0x00A900, 0x00A909], + [0x00A9D0, 0x00A9D9], + [0x00A9F0, 0x00A9F9], + [0x00AA50, 0x00AA59], + [0x00ABF0, 0x00ABF9], + [0x00FF10, 0x00FF19], + [0x010107, 0x010133], + [0x010140, 0x010178], + [0x01018A, 0x01018B], + [0x0102E1, 0x0102FB], + [0x010320, 0x010323], + [0x0103D1, 0x0103D5], + [0x0104A0, 0x0104A9], + [0x010858, 0x01085F], + [0x010879, 0x01087F], + [0x0108A7, 0x0108AF], + [0x0108FB, 0x0108FF], + [0x010916, 0x01091B], + [0x0109BC, 0x0109BD], + [0x0109C0, 0x0109CF], + [0x0109D2, 0x0109FF], + [0x010A40, 0x010A48], + [0x010A7D, 0x010A7E], + [0x010A9D, 0x010A9F], + [0x010AEB, 0x010AEF], + [0x010B58, 0x010B5F], + [0x010B78, 0x010B7F], + [0x010BA9, 0x010BAF], + [0x010CFA, 0x010CFF], + [0x010D30, 0x010D39], + [0x010E60, 0x010E7E], + [0x010F1D, 0x010F26], + [0x010F51, 0x010F54], + [0x010FC5, 0x010FCB], + [0x011052, 0x01106F], + [0x0110F0, 0x0110F9], + [0x011136, 0x01113F], + [0x0111D0, 0x0111D9], + [0x0111E1, 0x0111F4], + [0x0112F0, 0x0112F9], + [0x011450, 0x011459], + [0x0114D0, 0x0114D9], + [0x011650, 0x011659], + [0x0116C0, 0x0116C9], + [0x011730, 0x01173B], + [0x0118E0, 0x0118F2], + [0x011950, 0x011959], + [0x011C50, 0x011C6C], + [0x011D50, 0x011D59], + [0x011DA0, 0x011DA9], + [0x011FC0, 0x011FD4], + [0x012400, 0x01246E], + [0x016A60, 0x016A69], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016E80, 0x016E96], + [0x01D2E0, 0x01D2F3], + [0x01D360, 0x01D378], + [0x01D7CE, 0x01D7FF], + [0x01E140, 0x01E149], + [0x01E2F0, 0x01E2F9], + [0x01E8C7, 0x01E8CF], + [0x01E950, 0x01E959], + [0x01EC71, 0x01ECAB], + [0x01ECAD, 0x01ECAF], + [0x01ECB1, 0x01ECB4], + [0x01ED01, 0x01ED2D], + [0x01ED2F, 0x01ED3D], + [0x01F100, 0x01F10C], + [0x01FBF0, 0x01FBF9] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Number}+$/u, + matchSymbols, + "\\p{General_Category=Number}" +); +testPropertyEscapes( + /^\p{General_Category=N}+$/u, + matchSymbols, + "\\p{General_Category=N}" +); +testPropertyEscapes( + /^\p{gc=Number}+$/u, + matchSymbols, + "\\p{gc=Number}" +); +testPropertyEscapes( + /^\p{gc=N}+$/u, + matchSymbols, + "\\p{gc=N}" +); +testPropertyEscapes( + /^\p{Number}+$/u, + matchSymbols, + "\\p{Number}" +); +testPropertyEscapes( + /^\p{N}+$/u, + matchSymbols, + "\\p{N}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x003250, + 0x016B5A, + 0x01ECAC, + 0x01ECB0, + 0x01ED2E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x0000B1], + [0x0000B4, 0x0000B8], + [0x0000BA, 0x0000BB], + [0x0000BF, 0x00065F], + [0x00066A, 0x0006EF], + [0x0006FA, 0x0007BF], + [0x0007CA, 0x000965], + [0x000970, 0x0009E5], + [0x0009F0, 0x0009F3], + [0x0009FA, 0x000A65], + [0x000A70, 0x000AE5], + [0x000AF0, 0x000B65], + [0x000B70, 0x000B71], + [0x000B78, 0x000BE5], + [0x000BF3, 0x000C65], + [0x000C70, 0x000C77], + [0x000C7F, 0x000CE5], + [0x000CF0, 0x000D57], + [0x000D5F, 0x000D65], + [0x000D79, 0x000DE5], + [0x000DF0, 0x000E4F], + [0x000E5A, 0x000ECF], + [0x000EDA, 0x000F1F], + [0x000F34, 0x00103F], + [0x00104A, 0x00108F], + [0x00109A, 0x001368], + [0x00137D, 0x0016ED], + [0x0016F1, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x00180F], + [0x00181A, 0x001945], + [0x001950, 0x0019CF], + [0x0019DB, 0x001A7F], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001B4F], + [0x001B5A, 0x001BAF], + [0x001BBA, 0x001C3F], + [0x001C4A, 0x001C4F], + [0x001C5A, 0x00206F], + [0x002071, 0x002073], + [0x00207A, 0x00207F], + [0x00208A, 0x00214F], + [0x002183, 0x002184], + [0x00218A, 0x00245F], + [0x00249C, 0x0024E9], + [0x002500, 0x002775], + [0x002794, 0x002CFC], + [0x002CFE, 0x003006], + [0x003008, 0x003020], + [0x00302A, 0x003037], + [0x00303B, 0x003191], + [0x003196, 0x00321F], + [0x00322A, 0x003247], + [0x003260, 0x00327F], + [0x00328A, 0x0032B0], + [0x0032C0, 0x00A61F], + [0x00A62A, 0x00A6E5], + [0x00A6F0, 0x00A82F], + [0x00A836, 0x00A8CF], + [0x00A8DA, 0x00A8FF], + [0x00A90A, 0x00A9CF], + [0x00A9DA, 0x00A9EF], + [0x00A9FA, 0x00AA4F], + [0x00AA5A, 0x00ABEF], + [0x00ABFA, 0x00DBFF], + [0x00E000, 0x00FF0F], + [0x00FF1A, 0x010106], + [0x010134, 0x01013F], + [0x010179, 0x010189], + [0x01018C, 0x0102E0], + [0x0102FC, 0x01031F], + [0x010324, 0x010340], + [0x010342, 0x010349], + [0x01034B, 0x0103D0], + [0x0103D6, 0x01049F], + [0x0104AA, 0x010857], + [0x010860, 0x010878], + [0x010880, 0x0108A6], + [0x0108B0, 0x0108FA], + [0x010900, 0x010915], + [0x01091C, 0x0109BB], + [0x0109BE, 0x0109BF], + [0x0109D0, 0x0109D1], + [0x010A00, 0x010A3F], + [0x010A49, 0x010A7C], + [0x010A7F, 0x010A9C], + [0x010AA0, 0x010AEA], + [0x010AF0, 0x010B57], + [0x010B60, 0x010B77], + [0x010B80, 0x010BA8], + [0x010BB0, 0x010CF9], + [0x010D00, 0x010D2F], + [0x010D3A, 0x010E5F], + [0x010E7F, 0x010F1C], + [0x010F27, 0x010F50], + [0x010F55, 0x010FC4], + [0x010FCC, 0x011051], + [0x011070, 0x0110EF], + [0x0110FA, 0x011135], + [0x011140, 0x0111CF], + [0x0111DA, 0x0111E0], + [0x0111F5, 0x0112EF], + [0x0112FA, 0x01144F], + [0x01145A, 0x0114CF], + [0x0114DA, 0x01164F], + [0x01165A, 0x0116BF], + [0x0116CA, 0x01172F], + [0x01173C, 0x0118DF], + [0x0118F3, 0x01194F], + [0x01195A, 0x011C4F], + [0x011C6D, 0x011D4F], + [0x011D5A, 0x011D9F], + [0x011DAA, 0x011FBF], + [0x011FD5, 0x0123FF], + [0x01246F, 0x016A5F], + [0x016A6A, 0x016B4F], + [0x016B62, 0x016E7F], + [0x016E97, 0x01D2DF], + [0x01D2F4, 0x01D35F], + [0x01D379, 0x01D7CD], + [0x01D800, 0x01E13F], + [0x01E14A, 0x01E2EF], + [0x01E2FA, 0x01E8C6], + [0x01E8D0, 0x01E94F], + [0x01E95A, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01F0FF], + [0x01F10D, 0x01FBEF], + [0x01FBFA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Number}+$/u, + nonMatchSymbols, + "\\P{General_Category=Number}" +); +testPropertyEscapes( + /^\P{General_Category=N}+$/u, + nonMatchSymbols, + "\\P{General_Category=N}" +); +testPropertyEscapes( + /^\P{gc=Number}+$/u, + nonMatchSymbols, + "\\P{gc=Number}" +); +testPropertyEscapes( + /^\P{gc=N}+$/u, + nonMatchSymbols, + "\\P{gc=N}" +); +testPropertyEscapes( + /^\P{Number}+$/u, + nonMatchSymbols, + "\\P{Number}" +); +testPropertyEscapes( + /^\P{N}+$/u, + nonMatchSymbols, + "\\P{N}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js new file mode 100644 index 0000000000..6e7a62494e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js @@ -0,0 +1,242 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Open_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000028, + 0x00005B, + 0x00007B, + 0x000F3A, + 0x000F3C, + 0x00169B, + 0x00201A, + 0x00201E, + 0x002045, + 0x00207D, + 0x00208D, + 0x002308, + 0x00230A, + 0x002329, + 0x002768, + 0x00276A, + 0x00276C, + 0x00276E, + 0x002770, + 0x002772, + 0x002774, + 0x0027C5, + 0x0027E6, + 0x0027E8, + 0x0027EA, + 0x0027EC, + 0x0027EE, + 0x002983, + 0x002985, + 0x002987, + 0x002989, + 0x00298B, + 0x00298D, + 0x00298F, + 0x002991, + 0x002993, + 0x002995, + 0x002997, + 0x0029D8, + 0x0029DA, + 0x0029FC, + 0x002E22, + 0x002E24, + 0x002E26, + 0x002E28, + 0x002E42, + 0x003008, + 0x00300A, + 0x00300C, + 0x00300E, + 0x003010, + 0x003014, + 0x003016, + 0x003018, + 0x00301A, + 0x00301D, + 0x00FD3F, + 0x00FE17, + 0x00FE35, + 0x00FE37, + 0x00FE39, + 0x00FE3B, + 0x00FE3D, + 0x00FE3F, + 0x00FE41, + 0x00FE43, + 0x00FE47, + 0x00FE59, + 0x00FE5B, + 0x00FE5D, + 0x00FF08, + 0x00FF3B, + 0x00FF5B, + 0x00FF5F, + 0x00FF62 + ], + ranges: [] +}); +testPropertyEscapes( + /^\p{General_Category=Open_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Open_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Ps}+$/u, + matchSymbols, + "\\p{General_Category=Ps}" +); +testPropertyEscapes( + /^\p{gc=Open_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Open_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Ps}+$/u, + matchSymbols, + "\\p{gc=Ps}" +); +testPropertyEscapes( + /^\p{Open_Punctuation}+$/u, + matchSymbols, + "\\p{Open_Punctuation}" +); +testPropertyEscapes( + /^\p{Ps}+$/u, + matchSymbols, + "\\p{Ps}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000F3B, + 0x002309, + 0x002769, + 0x00276B, + 0x00276D, + 0x00276F, + 0x002771, + 0x002773, + 0x0027E7, + 0x0027E9, + 0x0027EB, + 0x0027ED, + 0x002984, + 0x002986, + 0x002988, + 0x00298A, + 0x00298C, + 0x00298E, + 0x002990, + 0x002992, + 0x002994, + 0x002996, + 0x0029D9, + 0x002E23, + 0x002E25, + 0x002E27, + 0x003009, + 0x00300B, + 0x00300D, + 0x00300F, + 0x003015, + 0x003017, + 0x003019, + 0x00FE36, + 0x00FE38, + 0x00FE3A, + 0x00FE3C, + 0x00FE3E, + 0x00FE40, + 0x00FE42, + 0x00FE5A, + 0x00FE5C + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000027], + [0x000029, 0x00005A], + [0x00005C, 0x00007A], + [0x00007C, 0x000F39], + [0x000F3D, 0x00169A], + [0x00169C, 0x002019], + [0x00201B, 0x00201D], + [0x00201F, 0x002044], + [0x002046, 0x00207C], + [0x00207E, 0x00208C], + [0x00208E, 0x002307], + [0x00230B, 0x002328], + [0x00232A, 0x002767], + [0x002775, 0x0027C4], + [0x0027C6, 0x0027E5], + [0x0027EF, 0x002982], + [0x002998, 0x0029D7], + [0x0029DB, 0x0029FB], + [0x0029FD, 0x002E21], + [0x002E29, 0x002E41], + [0x002E43, 0x003007], + [0x003011, 0x003013], + [0x00301B, 0x00301C], + [0x00301E, 0x00DBFF], + [0x00E000, 0x00FD3E], + [0x00FD40, 0x00FE16], + [0x00FE18, 0x00FE34], + [0x00FE44, 0x00FE46], + [0x00FE48, 0x00FE58], + [0x00FE5E, 0x00FF07], + [0x00FF09, 0x00FF3A], + [0x00FF3C, 0x00FF5A], + [0x00FF5C, 0x00FF5E], + [0x00FF60, 0x00FF61], + [0x00FF63, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Open_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Open_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Ps}+$/u, + nonMatchSymbols, + "\\P{General_Category=Ps}" +); +testPropertyEscapes( + /^\P{gc=Open_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Open_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Ps}+$/u, + nonMatchSymbols, + "\\P{gc=Ps}" +); +testPropertyEscapes( + /^\P{Open_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Open_Punctuation}" +); +testPropertyEscapes( + /^\P{Ps}+$/u, + nonMatchSymbols, + "\\P{Ps}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js new file mode 100644 index 0000000000..3640e284dd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js @@ -0,0 +1,1449 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Other` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AD, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x000530, + 0x000590, + 0x0006DD, + 0x00083F, + 0x00085F, + 0x0008B5, + 0x0008E2, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA, + 0x000B00, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49, + 0x000D80, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7, + 0x000F48, + 0x000F98, + 0x000FBD, + 0x000FCD, + 0x0010C6, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x00170D, + 0x00176D, + 0x001771, + 0x00191F, + 0x001A5F, + 0x001DFA, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FC5, + 0x001FDC, + 0x001FF5, + 0x001FFF, + 0x00208F, + 0x002B96, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002DDF, + 0x002E9A, + 0x003040, + 0x003130, + 0x00318F, + 0x00321F, + 0x00A9CE, + 0x00A9FF, + 0x00AB27, + 0x00AB2F, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE53, + 0x00FE67, + 0x00FE75, + 0x00FFE7, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x01018F, + 0x01039E, + 0x010809, + 0x010836, + 0x010856, + 0x0108F3, + 0x010A04, + 0x010A14, + 0x010A18, + 0x010E7F, + 0x010EAA, + 0x0110BD, + 0x011135, + 0x0111E0, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133A, + 0x01145C, + 0x011914, + 0x011917, + 0x011936, + 0x011C09, + 0x011C37, + 0x011CA8, + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E, + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92, + 0x01246F, + 0x016A5F, + 0x016B5A, + 0x016B62, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA, + 0x01F0C0, + 0x01F0D0, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00001F], + [0x00007F, 0x00009F], + [0x000378, 0x000379], + [0x000380, 0x000383], + [0x000557, 0x000558], + [0x00058B, 0x00058C], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F5, 0x000605], + [0x00061C, 0x00061D], + [0x00070E, 0x00070F], + [0x00074B, 0x00074C], + [0x0007B2, 0x0007BF], + [0x0007FB, 0x0007FC], + [0x00082E, 0x00082F], + [0x00085C, 0x00085D], + [0x00086B, 0x00089F], + [0x0008C8, 0x0008D2], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009FF, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A77, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF2, 0x000AF8], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B78, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BFB, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C76], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x000CFF], + [0x000D50, 0x000D53], + [0x000D64, 0x000D65], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF5, 0x000E00], + [0x000E3B, 0x000E3E], + [0x000E5C, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F6D, 0x000F70], + [0x000FDB, 0x000FFF], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x00137D, 0x00137F], + [0x00139A, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x0013FF], + [0x00169D, 0x00169F], + [0x0016F9, 0x0016FF], + [0x001715, 0x00171F], + [0x001737, 0x00173F], + [0x001754, 0x00175F], + [0x001774, 0x00177F], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x0017FF], + [0x00180E, 0x00180F], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x00193F], + [0x001941, 0x001943], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019DD], + [0x001A1C, 0x001A1D], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001A9F], + [0x001AAE, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B7D, 0x001B7F], + [0x001BF4, 0x001BFB], + [0x001C38, 0x001C3A], + [0x001C4A, 0x001C4C], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC8, 0x001CCF], + [0x001CFB, 0x001CFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FD4, 0x001FD5], + [0x001FF0, 0x001FF1], + [0x00200B, 0x00200F], + [0x00202A, 0x00202E], + [0x002060, 0x00206F], + [0x002072, 0x002073], + [0x00209D, 0x00209F], + [0x0020C0, 0x0020CF], + [0x0020F1, 0x0020FF], + [0x00218C, 0x00218F], + [0x002427, 0x00243F], + [0x00244B, 0x00245F], + [0x002B74, 0x002B75], + [0x002CF4, 0x002CF8], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D71, 0x002D7E], + [0x002D97, 0x002D9F], + [0x002E53, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FEF], + [0x002FFC, 0x002FFF], + [0x003097, 0x003098], + [0x003100, 0x003104], + [0x0031E4, 0x0031EF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A48F], + [0x00A4C7, 0x00A4CF], + [0x00A62C, 0x00A63F], + [0x00A6F8, 0x00A6FF], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A82D, 0x00A82F], + [0x00A83A, 0x00A83F], + [0x00A878, 0x00A87F], + [0x00A8C6, 0x00A8CD], + [0x00A8DA, 0x00A8DF], + [0x00A954, 0x00A95E], + [0x00A97D, 0x00A97F], + [0x00A9DA, 0x00A9DD], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5B], + [0x00AAC3, 0x00AADA], + [0x00AAF7, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6C, 0x00AB6F], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBC2, 0x00FBD2], + [0x00FD40, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFE, 0x00FDFF], + [0x00FE1A, 0x00FE1F], + [0x00FE6C, 0x00FE6F], + [0x00FEFD, 0x00FF00], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFDF], + [0x00FFEF, 0x00FFFB], + [0x00FFFE, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x01019D, 0x01019F], + [0x0101A1, 0x0101CF], + [0x0101FE, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102DF], + [0x0102FC, 0x0102FF], + [0x010324, 0x01032C], + [0x01034B, 0x01034F], + [0x01037B, 0x01037F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x01049F], + [0x0104AA, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x01056E], + [0x010570, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x01089F, 0x0108A6], + [0x0108B0, 0x0108DF], + [0x0108F6, 0x0108FA], + [0x01091C, 0x01091E], + [0x01093A, 0x01093E], + [0x010940, 0x01097F], + [0x0109B8, 0x0109BB], + [0x0109D0, 0x0109D1], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A49, 0x010A4F], + [0x010A59, 0x010A5F], + [0x010AA0, 0x010ABF], + [0x010AE7, 0x010AEA], + [0x010AF7, 0x010AFF], + [0x010B36, 0x010B38], + [0x010B56, 0x010B57], + [0x010B73, 0x010B77], + [0x010B92, 0x010B98], + [0x010B9D, 0x010BA8], + [0x010BB0, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CF9], + [0x010D28, 0x010D2F], + [0x010D3A, 0x010E5F], + [0x010EAE, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F28, 0x010F2F], + [0x010F5A, 0x010FAF], + [0x010FCC, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x01104E, 0x011051], + [0x011070, 0x01107E], + [0x0110C2, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x0110FF], + [0x011148, 0x01114F], + [0x011177, 0x01117F], + [0x0111F5, 0x0111FF], + [0x01123F, 0x01127F], + [0x0112AA, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x0113FF], + [0x011462, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115DE, 0x0115FF], + [0x011645, 0x01164F], + [0x01165A, 0x01165F], + [0x01166D, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x011740, 0x0117FF], + [0x01183C, 0x01189F], + [0x0118F3, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011947, 0x01194F], + [0x01195A, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x0119FF], + [0x011A48, 0x011A4F], + [0x011AA3, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C46, 0x011C4F], + [0x011C6D, 0x011C6F], + [0x011C90, 0x011C91], + [0x011CB7, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x011EDF], + [0x011EF9, 0x011FAF], + [0x011FB1, 0x011FBF], + [0x011FF2, 0x011FFE], + [0x01239A, 0x0123FF], + [0x012475, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A6A, 0x016A6D], + [0x016A70, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF6, 0x016AFF], + [0x016B46, 0x016B4F], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E9B, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE5, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9B], + [0x01BCA0, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D173, 0x01D17A], + [0x01D1E9, 0x01D1FF], + [0x01D246, 0x01D2DF], + [0x01D2F4, 0x01D2FF], + [0x01D357, 0x01D35F], + [0x01D379, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01DA8C, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E150, 0x01E2BF], + [0x01E2FA, 0x01E2FE], + [0x01E300, 0x01E7FF], + [0x01E8C5, 0x01E8C6], + [0x01E8D7, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01E95D], + [0x01E960, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F0FF], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x01FBEF], + [0x01FBFA, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Other}+$/u, + matchSymbols, + "\\p{General_Category=Other}" +); +testPropertyEscapes( + /^\p{General_Category=C}+$/u, + matchSymbols, + "\\p{General_Category=C}" +); +testPropertyEscapes( + /^\p{gc=Other}+$/u, + matchSymbols, + "\\p{gc=Other}" +); +testPropertyEscapes( + /^\p{gc=C}+$/u, + matchSymbols, + "\\p{gc=C}" +); +testPropertyEscapes( + /^\p{Other}+$/u, + matchSymbols, + "\\p{Other}" +); +testPropertyEscapes( + /^\p{C}+$/u, + matchSymbols, + "\\p{C}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00038C, + 0x00085E, + 0x0009B2, + 0x0009D7, + 0x000A3C, + 0x000A51, + 0x000A5E, + 0x000AD0, + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x000CDE, + 0x000DBD, + 0x000DCA, + 0x000DD6, + 0x000E84, + 0x000EA5, + 0x000EC6, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x001940, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x002D27, + 0x002D2D, + 0x00FB3E, + 0x0101A0, + 0x01056F, + 0x010808, + 0x01083C, + 0x01093F, + 0x011288, + 0x011350, + 0x011357, + 0x011909, + 0x011D3A, + 0x011FB0, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E2FF, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000020, 0x00007E], + [0x0000A0, 0x0000AC], + [0x0000AE, 0x000377], + [0x00037A, 0x00037F], + [0x000384, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x00052F], + [0x000531, 0x000556], + [0x000559, 0x00058A], + [0x00058D, 0x00058F], + [0x000591, 0x0005C7], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F4], + [0x000606, 0x00061B], + [0x00061E, 0x0006DC], + [0x0006DE, 0x00070D], + [0x000710, 0x00074A], + [0x00074D, 0x0007B1], + [0x0007C0, 0x0007FA], + [0x0007FD, 0x00082D], + [0x000830, 0x00083E], + [0x000840, 0x00085B], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009FE], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A76], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AF1], + [0x000AF9, 0x000AFF], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B77], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BFA], + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C77, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4F], + [0x000D54, 0x000D63], + [0x000D66, 0x000D7F], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF4], + [0x000E01, 0x000E3A], + [0x000E3F, 0x000E5B], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF], + [0x000F00, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F97], + [0x000F99, 0x000FBC], + [0x000FBE, 0x000FCC], + [0x000FCE, 0x000FDA], + [0x001000, 0x0010C5], + [0x0010D0, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00137C], + [0x001380, 0x001399], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001400, 0x00169C], + [0x0016A0, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001714], + [0x001720, 0x001736], + [0x001740, 0x001753], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773], + [0x001780, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x001800, 0x00180D], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001944, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x0019DE, 0x001A1B], + [0x001A1E, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AA0, 0x001AAD], + [0x001AB0, 0x001AC0], + [0x001B00, 0x001B4B], + [0x001B50, 0x001B7C], + [0x001B80, 0x001BF3], + [0x001BFC, 0x001C37], + [0x001C3B, 0x001C49], + [0x001C4D, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CC7], + [0x001CD0, 0x001CFA], + [0x001D00, 0x001DF9], + [0x001DFB, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FC4], + [0x001FC6, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FDD, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFE], + [0x002000, 0x00200A], + [0x002010, 0x002029], + [0x00202F, 0x00205F], + [0x002070, 0x002071], + [0x002074, 0x00208E], + [0x002090, 0x00209C], + [0x0020A0, 0x0020BF], + [0x0020D0, 0x0020F0], + [0x002100, 0x00218B], + [0x002190, 0x002426], + [0x002440, 0x00244A], + [0x002460, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CF3], + [0x002CF9, 0x002D25], + [0x002D30, 0x002D67], + [0x002D6F, 0x002D70], + [0x002D7F, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002DE0, 0x002E52], + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x002FF0, 0x002FFB], + [0x003000, 0x00303F], + [0x003041, 0x003096], + [0x003099, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x003190, 0x0031E3], + [0x0031F0, 0x00321E], + [0x003220, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A490, 0x00A4C6], + [0x00A4D0, 0x00A62B], + [0x00A640, 0x00A6F7], + [0x00A700, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A82C], + [0x00A830, 0x00A839], + [0x00A840, 0x00A877], + [0x00A880, 0x00A8C5], + [0x00A8CE, 0x00A8D9], + [0x00A8E0, 0x00A953], + [0x00A95F, 0x00A97C], + [0x00A980, 0x00A9CD], + [0x00A9CF, 0x00A9D9], + [0x00A9DE, 0x00A9FE], + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA5C, 0x00AAC2], + [0x00AADB, 0x00AAF6], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB6B], + [0x00AB70, 0x00ABED], + [0x00ABF0, 0x00ABF9], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1D, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBC1], + [0x00FBD3, 0x00FD3F], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFD], + [0x00FE00, 0x00FE19], + [0x00FE20, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF01, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFFC, 0x00FFFD], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01018E], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FD], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x0102E0, 0x0102FB], + [0x010300, 0x010323], + [0x01032D, 0x01034A], + [0x010350, 0x01037A], + [0x010380, 0x01039D], + [0x01039F, 0x0103C3], + [0x0103C8, 0x0103D5], + [0x010400, 0x01049D], + [0x0104A0, 0x0104A9], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010857, 0x01089E], + [0x0108A7, 0x0108AF], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x0108FB, 0x01091B], + [0x01091F, 0x010939], + [0x010980, 0x0109B7], + [0x0109BC, 0x0109CF], + [0x0109D2, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A3F, 0x010A48], + [0x010A50, 0x010A58], + [0x010A60, 0x010A9F], + [0x010AC0, 0x010AE6], + [0x010AEB, 0x010AF6], + [0x010B00, 0x010B35], + [0x010B39, 0x010B55], + [0x010B58, 0x010B72], + [0x010B78, 0x010B91], + [0x010B99, 0x010B9C], + [0x010BA9, 0x010BAF], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010CFA, 0x010D27], + [0x010D30, 0x010D39], + [0x010E60, 0x010E7E], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAD], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F27], + [0x010F30, 0x010F59], + [0x010FB0, 0x010FCB], + [0x010FE0, 0x010FF6], + [0x011000, 0x01104D], + [0x011052, 0x01106F], + [0x01107F, 0x0110BC], + [0x0110BE, 0x0110C1], + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9], + [0x011100, 0x011134], + [0x011136, 0x011147], + [0x011150, 0x011176], + [0x011180, 0x0111DF], + [0x0111E1, 0x0111F4], + [0x011200, 0x011211], + [0x011213, 0x01123E], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A9], + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133B, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011400, 0x01145B], + [0x01145D, 0x011461], + [0x011480, 0x0114C7], + [0x0114D0, 0x0114D9], + [0x011580, 0x0115B5], + [0x0115B8, 0x0115DD], + [0x011600, 0x011644], + [0x011650, 0x011659], + [0x011660, 0x01166C], + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9], + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x01173F], + [0x011800, 0x01183B], + [0x0118A0, 0x0118F2], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011946], + [0x011950, 0x011959], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E4], + [0x011A00, 0x011A47], + [0x011A50, 0x011AA2], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C45], + [0x011C50, 0x011C6C], + [0x011C70, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9], + [0x011EE0, 0x011EF8], + [0x011FC0, 0x011FF1], + [0x011FFF, 0x012399], + [0x012400, 0x01246E], + [0x012470, 0x012474], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016A6E, 0x016A6F], + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF5], + [0x016B00, 0x016B45], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E9A], + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE4], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9C, 0x01BC9F], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D172], + [0x01D17B, 0x01D1E8], + [0x01D200, 0x01D245], + [0x01D2E0, 0x01D2F3], + [0x01D300, 0x01D356], + [0x01D360, 0x01D378], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01DA8B], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E14E, 0x01E14F], + [0x01E2C0, 0x01E2F9], + [0x01E800, 0x01E8C4], + [0x01E8C7, 0x01E8D6], + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01E95E, 0x01E95F], + [0x01EC71, 0x01ECB4], + [0x01ED01, 0x01ED3D], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F100, 0x01F1AD], + [0x01F1E6, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA], + [0x01FBF0, 0x01FBF9], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Other}+$/u, + nonMatchSymbols, + "\\P{General_Category=Other}" +); +testPropertyEscapes( + /^\P{General_Category=C}+$/u, + nonMatchSymbols, + "\\P{General_Category=C}" +); +testPropertyEscapes( + /^\P{gc=Other}+$/u, + nonMatchSymbols, + "\\P{gc=Other}" +); +testPropertyEscapes( + /^\P{gc=C}+$/u, + nonMatchSymbols, + "\\P{gc=C}" +); +testPropertyEscapes( + /^\P{Other}+$/u, + nonMatchSymbols, + "\\P{Other}" +); +testPropertyEscapes( + /^\P{C}+$/u, + nonMatchSymbols, + "\\P{C}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js new file mode 100644 index 0000000000..e950fb7e76 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js @@ -0,0 +1,1071 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Other_Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000BA, + 0x0001BB, + 0x000294, + 0x0006D5, + 0x0006FF, + 0x000710, + 0x0007B1, + 0x00093D, + 0x000950, + 0x0009B2, + 0x0009BD, + 0x0009CE, + 0x0009FC, + 0x000A5E, + 0x000ABD, + 0x000AD0, + 0x000AF9, + 0x000B3D, + 0x000B71, + 0x000B83, + 0x000B9C, + 0x000BD0, + 0x000C3D, + 0x000C80, + 0x000CBD, + 0x000CDE, + 0x000D3D, + 0x000D4E, + 0x000DBD, + 0x000E84, + 0x000EA5, + 0x000EBD, + 0x000F00, + 0x00103F, + 0x001061, + 0x00108E, + 0x001258, + 0x0012C0, + 0x0017DC, + 0x0018AA, + 0x001CFA, + 0x003006, + 0x00303C, + 0x00309F, + 0x0030FF, + 0x00A66E, + 0x00A78F, + 0x00A7F7, + 0x00A8FB, + 0x00AA7A, + 0x00AAB1, + 0x00AAC0, + 0x00AAC2, + 0x00AAF2, + 0x00FB1D, + 0x00FB3E, + 0x010808, + 0x01083C, + 0x010A00, + 0x010F27, + 0x011144, + 0x011147, + 0x011176, + 0x0111DA, + 0x0111DC, + 0x011288, + 0x01133D, + 0x011350, + 0x0114C7, + 0x011644, + 0x0116B8, + 0x011909, + 0x01193F, + 0x011941, + 0x0119E1, + 0x0119E3, + 0x011A00, + 0x011A3A, + 0x011A50, + 0x011A9D, + 0x011C40, + 0x011D46, + 0x011D98, + 0x011FB0, + 0x016F50, + 0x01E14E, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x0001C0, 0x0001C3], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000620, 0x00063F], + [0x000641, 0x00064A], + [0x00066E, 0x00066F], + [0x000671, 0x0006D3], + [0x0006EE, 0x0006EF], + [0x0006FA, 0x0006FC], + [0x000712, 0x00072F], + [0x00074D, 0x0007A5], + [0x0007CA, 0x0007EA], + [0x000800, 0x000815], + [0x000840, 0x000858], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x000904, 0x000939], + [0x000958, 0x000961], + [0x000972, 0x000980], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E1], + [0x0009F0, 0x0009F1], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A59, 0x000A5C], + [0x000A72, 0x000A74], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000AE0, 0x000AE1], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B61], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000C05, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C61], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CE0, 0x000CE1], + [0x000CF1, 0x000CF2], + [0x000D04, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D3A], + [0x000D54, 0x000D56], + [0x000D5F, 0x000D61], + [0x000D7A, 0x000D7F], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000E01, 0x000E30], + [0x000E32, 0x000E33], + [0x000E40, 0x000E45], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EC0, 0x000EC4], + [0x000EDC, 0x000EDF], + [0x000F40, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F88, 0x000F8C], + [0x001000, 0x00102A], + [0x001050, 0x001055], + [0x00105A, 0x00105D], + [0x001065, 0x001066], + [0x00106E, 0x001070], + [0x001075, 0x001081], + [0x001100, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x001380, 0x00138F], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016F1, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001711], + [0x001720, 0x001731], + [0x001740, 0x001751], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001780, 0x0017B3], + [0x001820, 0x001842], + [0x001844, 0x001878], + [0x001880, 0x001884], + [0x001887, 0x0018A8], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001950, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x001A00, 0x001A16], + [0x001A20, 0x001A54], + [0x001B05, 0x001B33], + [0x001B45, 0x001B4B], + [0x001B83, 0x001BA0], + [0x001BAE, 0x001BAF], + [0x001BBA, 0x001BE5], + [0x001C00, 0x001C23], + [0x001C4D, 0x001C4F], + [0x001C5A, 0x001C77], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x002135, 0x002138], + [0x002D30, 0x002D67], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x003041, 0x003096], + [0x0030A1, 0x0030FA], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A014], + [0x00A016, 0x00A48C], + [0x00A4D0, 0x00A4F7], + [0x00A500, 0x00A60B], + [0x00A610, 0x00A61F], + [0x00A62A, 0x00A62B], + [0x00A6A0, 0x00A6E5], + [0x00A7FB, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A822], + [0x00A840, 0x00A873], + [0x00A882, 0x00A8B3], + [0x00A8F2, 0x00A8F7], + [0x00A8FD, 0x00A8FE], + [0x00A90A, 0x00A925], + [0x00A930, 0x00A946], + [0x00A960, 0x00A97C], + [0x00A984, 0x00A9B2], + [0x00A9E0, 0x00A9E4], + [0x00A9E7, 0x00A9EF], + [0x00A9FA, 0x00A9FE], + [0x00AA00, 0x00AA28], + [0x00AA40, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA60, 0x00AA6F], + [0x00AA71, 0x00AA76], + [0x00AA7E, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AADB, 0x00AADC], + [0x00AAE0, 0x00AAEA], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00ABC0, 0x00ABE2], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB1F, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFB], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF66, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x00FFA0, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x010340], + [0x010342, 0x010349], + [0x010350, 0x010375], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x010450, 0x01049D], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A10, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE4], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010D00, 0x010D23], + [0x010E80, 0x010EA9], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F45], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011003, 0x011037], + [0x011083, 0x0110AF], + [0x0110D0, 0x0110E8], + [0x011103, 0x011126], + [0x011150, 0x011172], + [0x011183, 0x0111B2], + [0x0111C1, 0x0111C4], + [0x011200, 0x011211], + [0x011213, 0x01122B], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112DE], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01135D, 0x011361], + [0x011400, 0x011434], + [0x011447, 0x01144A], + [0x01145F, 0x011461], + [0x011480, 0x0114AF], + [0x0114C4, 0x0114C5], + [0x011580, 0x0115AE], + [0x0115D8, 0x0115DB], + [0x011600, 0x01162F], + [0x011680, 0x0116AA], + [0x011700, 0x01171A], + [0x011800, 0x01182B], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x01192F], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D0], + [0x011A0B, 0x011A32], + [0x011A5C, 0x011A89], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C2E], + [0x011C72, 0x011C8F], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D30], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D89], + [0x011EE0, 0x011EF2], + [0x012000, 0x012399], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016AD0, 0x016AED], + [0x016B00, 0x016B2F], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016F00, 0x016F4A], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01E100, 0x01E12C], + [0x01E2C0, 0x01E2EB], + [0x01E800, 0x01E8C4], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Other_Letter}+$/u, + matchSymbols, + "\\p{General_Category=Other_Letter}" +); +testPropertyEscapes( + /^\p{General_Category=Lo}+$/u, + matchSymbols, + "\\p{General_Category=Lo}" +); +testPropertyEscapes( + /^\p{gc=Other_Letter}+$/u, + matchSymbols, + "\\p{gc=Other_Letter}" +); +testPropertyEscapes( + /^\p{gc=Lo}+$/u, + matchSymbols, + "\\p{gc=Lo}" +); +testPropertyEscapes( + /^\p{Other_Letter}+$/u, + matchSymbols, + "\\p{Other_Letter}" +); +testPropertyEscapes( + /^\p{Lo}+$/u, + matchSymbols, + "\\p{Lo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000640, + 0x000670, + 0x0006D4, + 0x000711, + 0x0008B5, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A5D, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CDF, + 0x000D0D, + 0x000D11, + 0x000DB2, + 0x000DBC, + 0x000E31, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EB1, + 0x000F48, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x001843, + 0x0018A9, + 0x001CED, + 0x001CF4, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x0030A0, + 0x003130, + 0x00A015, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A8FC, + 0x00A9FF, + 0x00AA43, + 0x00AA70, + 0x00AAB0, + 0x00AAC1, + 0x00AB27, + 0x00FB1E, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE75, + 0x00FF70, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x010341, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011329, + 0x011331, + 0x011334, + 0x0114C6, + 0x011914, + 0x011917, + 0x011940, + 0x0119E2, + 0x011C09, + 0x011D07, + 0x011D0A, + 0x011D66, + 0x011D69, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000A9], + [0x0000AB, 0x0000B9], + [0x0000BB, 0x0001BA], + [0x0001BC, 0x0001BF], + [0x0001C4, 0x000293], + [0x000295, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00061F], + [0x00064B, 0x00066D], + [0x0006D6, 0x0006ED], + [0x0006F0, 0x0006F9], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x000730, 0x00074C], + [0x0007A6, 0x0007B0], + [0x0007B2, 0x0007C9], + [0x0007EB, 0x0007FF], + [0x000816, 0x00083F], + [0x000859, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x000903], + [0x00093A, 0x00093C], + [0x00093E, 0x00094F], + [0x000951, 0x000957], + [0x000962, 0x000971], + [0x000981, 0x000984], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BC], + [0x0009BE, 0x0009CD], + [0x0009CF, 0x0009DB], + [0x0009E2, 0x0009EF], + [0x0009F2, 0x0009FB], + [0x0009FD, 0x000A04], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A58], + [0x000A5F, 0x000A71], + [0x000A75, 0x000A84], + [0x000ABA, 0x000ABC], + [0x000ABE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE2, 0x000AF8], + [0x000AFA, 0x000B04], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3C], + [0x000B3E, 0x000B5B], + [0x000B62, 0x000B70], + [0x000B72, 0x000B82], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BCF], + [0x000BD1, 0x000C04], + [0x000C3A, 0x000C3C], + [0x000C3E, 0x000C57], + [0x000C5B, 0x000C5F], + [0x000C62, 0x000C7F], + [0x000C81, 0x000C84], + [0x000CBA, 0x000CBC], + [0x000CBE, 0x000CDD], + [0x000CE2, 0x000CF0], + [0x000CF3, 0x000D03], + [0x000D3B, 0x000D3C], + [0x000D3E, 0x000D4D], + [0x000D4F, 0x000D53], + [0x000D57, 0x000D5E], + [0x000D62, 0x000D79], + [0x000D80, 0x000D84], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000E00], + [0x000E34, 0x000E3F], + [0x000E46, 0x000E80], + [0x000EB4, 0x000EBC], + [0x000EBE, 0x000EBF], + [0x000EC5, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F3F], + [0x000F6D, 0x000F87], + [0x000F8D, 0x000FFF], + [0x00102B, 0x00103E], + [0x001040, 0x00104F], + [0x001056, 0x001059], + [0x00105E, 0x001060], + [0x001062, 0x001064], + [0x001067, 0x00106D], + [0x001071, 0x001074], + [0x001082, 0x00108D], + [0x00108F, 0x0010FF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00137F], + [0x001390, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016F0], + [0x0016F9, 0x0016FF], + [0x001712, 0x00171F], + [0x001732, 0x00173F], + [0x001752, 0x00175F], + [0x001771, 0x00177F], + [0x0017B4, 0x0017DB], + [0x0017DD, 0x00181F], + [0x001879, 0x00187F], + [0x001885, 0x001886], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00191F, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019FF], + [0x001A17, 0x001A1F], + [0x001A55, 0x001B04], + [0x001B34, 0x001B44], + [0x001B4C, 0x001B82], + [0x001BA1, 0x001BAD], + [0x001BB0, 0x001BB9], + [0x001BE6, 0x001BFF], + [0x001C24, 0x001C4C], + [0x001C50, 0x001C59], + [0x001C78, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001CFB, 0x002134], + [0x002139, 0x002D2F], + [0x002D68, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x003005], + [0x003007, 0x00303B], + [0x00303D, 0x003040], + [0x003097, 0x00309E], + [0x0030FB, 0x0030FE], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4F8, 0x00A4FF], + [0x00A60C, 0x00A60F], + [0x00A620, 0x00A629], + [0x00A62C, 0x00A66D], + [0x00A66F, 0x00A69F], + [0x00A6E6, 0x00A78E], + [0x00A790, 0x00A7F6], + [0x00A7F8, 0x00A7FA], + [0x00A823, 0x00A83F], + [0x00A874, 0x00A881], + [0x00A8B4, 0x00A8F1], + [0x00A8F8, 0x00A8FA], + [0x00A8FF, 0x00A909], + [0x00A926, 0x00A92F], + [0x00A947, 0x00A95F], + [0x00A97D, 0x00A983], + [0x00A9B3, 0x00A9DF], + [0x00A9E5, 0x00A9E6], + [0x00A9F0, 0x00A9F9], + [0x00AA29, 0x00AA3F], + [0x00AA4C, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AA7B, 0x00AA7D], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAC3, 0x00AADA], + [0x00AADD, 0x00AADF], + [0x00AAEB, 0x00AAF1], + [0x00AAF3, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB2F, 0x00ABBF], + [0x00ABE3, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFC, 0x00FE6F], + [0x00FEFD, 0x00FF65], + [0x00FF9E, 0x00FF9F], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034A, 0x01034F], + [0x010376, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D0, 0x01044F], + [0x01049E, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A01, 0x010A0F], + [0x010A36, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE5, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010CFF], + [0x010D24, 0x010E7F], + [0x010EAA, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F46, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x011002], + [0x011038, 0x011082], + [0x0110B0, 0x0110CF], + [0x0110E9, 0x011102], + [0x011127, 0x011143], + [0x011145, 0x011146], + [0x011148, 0x01114F], + [0x011173, 0x011175], + [0x011177, 0x011182], + [0x0111B3, 0x0111C0], + [0x0111C5, 0x0111D9], + [0x0111DD, 0x0111FF], + [0x01122C, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112DF, 0x011304], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133C], + [0x01133E, 0x01134F], + [0x011351, 0x01135C], + [0x011362, 0x0113FF], + [0x011435, 0x011446], + [0x01144B, 0x01145E], + [0x011462, 0x01147F], + [0x0114B0, 0x0114C3], + [0x0114C8, 0x01157F], + [0x0115AF, 0x0115D7], + [0x0115DC, 0x0115FF], + [0x011630, 0x011643], + [0x011645, 0x01167F], + [0x0116AB, 0x0116B7], + [0x0116B9, 0x0116FF], + [0x01171B, 0x0117FF], + [0x01182C, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011930, 0x01193E], + [0x011942, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D1, 0x0119E0], + [0x0119E4, 0x0119FF], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A39], + [0x011A3B, 0x011A4F], + [0x011A51, 0x011A5B], + [0x011A8A, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C2F, 0x011C3F], + [0x011C41, 0x011C71], + [0x011C90, 0x011CFF], + [0x011D31, 0x011D45], + [0x011D47, 0x011D5F], + [0x011D8A, 0x011D97], + [0x011D99, 0x011EDF], + [0x011EF3, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A5F, 0x016ACF], + [0x016AEE, 0x016AFF], + [0x016B30, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016EFF], + [0x016F4B, 0x016F4F], + [0x016F51, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01E0FF], + [0x01E12D, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2EC, 0x01E7FF], + [0x01E8C5, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Other_Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Other_Letter}" +); +testPropertyEscapes( + /^\P{General_Category=Lo}+$/u, + nonMatchSymbols, + "\\P{General_Category=Lo}" +); +testPropertyEscapes( + /^\P{gc=Other_Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Other_Letter}" +); +testPropertyEscapes( + /^\P{gc=Lo}+$/u, + nonMatchSymbols, + "\\P{gc=Lo}" +); +testPropertyEscapes( + /^\P{Other_Letter}+$/u, + nonMatchSymbols, + "\\P{Other_Letter}" +); +testPropertyEscapes( + /^\P{Lo}+$/u, + nonMatchSymbols, + "\\P{Lo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js new file mode 100644 index 0000000000..28852351a9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js @@ -0,0 +1,235 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Other_Number` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000B9, + 0x0019DA, + 0x002070, + 0x002189, + 0x002CFD + ], + ranges: [ + [0x0000B2, 0x0000B3], + [0x0000BC, 0x0000BE], + [0x0009F4, 0x0009F9], + [0x000B72, 0x000B77], + [0x000BF0, 0x000BF2], + [0x000C78, 0x000C7E], + [0x000D58, 0x000D5E], + [0x000D70, 0x000D78], + [0x000F2A, 0x000F33], + [0x001369, 0x00137C], + [0x0017F0, 0x0017F9], + [0x002074, 0x002079], + [0x002080, 0x002089], + [0x002150, 0x00215F], + [0x002460, 0x00249B], + [0x0024EA, 0x0024FF], + [0x002776, 0x002793], + [0x003192, 0x003195], + [0x003220, 0x003229], + [0x003248, 0x00324F], + [0x003251, 0x00325F], + [0x003280, 0x003289], + [0x0032B1, 0x0032BF], + [0x00A830, 0x00A835], + [0x010107, 0x010133], + [0x010175, 0x010178], + [0x01018A, 0x01018B], + [0x0102E1, 0x0102FB], + [0x010320, 0x010323], + [0x010858, 0x01085F], + [0x010879, 0x01087F], + [0x0108A7, 0x0108AF], + [0x0108FB, 0x0108FF], + [0x010916, 0x01091B], + [0x0109BC, 0x0109BD], + [0x0109C0, 0x0109CF], + [0x0109D2, 0x0109FF], + [0x010A40, 0x010A48], + [0x010A7D, 0x010A7E], + [0x010A9D, 0x010A9F], + [0x010AEB, 0x010AEF], + [0x010B58, 0x010B5F], + [0x010B78, 0x010B7F], + [0x010BA9, 0x010BAF], + [0x010CFA, 0x010CFF], + [0x010E60, 0x010E7E], + [0x010F1D, 0x010F26], + [0x010F51, 0x010F54], + [0x010FC5, 0x010FCB], + [0x011052, 0x011065], + [0x0111E1, 0x0111F4], + [0x01173A, 0x01173B], + [0x0118EA, 0x0118F2], + [0x011C5A, 0x011C6C], + [0x011FC0, 0x011FD4], + [0x016B5B, 0x016B61], + [0x016E80, 0x016E96], + [0x01D2E0, 0x01D2F3], + [0x01D360, 0x01D378], + [0x01E8C7, 0x01E8CF], + [0x01EC71, 0x01ECAB], + [0x01ECAD, 0x01ECAF], + [0x01ECB1, 0x01ECB4], + [0x01ED01, 0x01ED2D], + [0x01ED2F, 0x01ED3D], + [0x01F100, 0x01F10C] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Other_Number}+$/u, + matchSymbols, + "\\p{General_Category=Other_Number}" +); +testPropertyEscapes( + /^\p{General_Category=No}+$/u, + matchSymbols, + "\\p{General_Category=No}" +); +testPropertyEscapes( + /^\p{gc=Other_Number}+$/u, + matchSymbols, + "\\p{gc=Other_Number}" +); +testPropertyEscapes( + /^\p{gc=No}+$/u, + matchSymbols, + "\\p{gc=No}" +); +testPropertyEscapes( + /^\p{Other_Number}+$/u, + matchSymbols, + "\\p{Other_Number}" +); +testPropertyEscapes( + /^\p{No}+$/u, + matchSymbols, + "\\p{No}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x003250, + 0x01ECAC, + 0x01ECB0, + 0x01ED2E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000B1], + [0x0000B4, 0x0000B8], + [0x0000BA, 0x0000BB], + [0x0000BF, 0x0009F3], + [0x0009FA, 0x000B71], + [0x000B78, 0x000BEF], + [0x000BF3, 0x000C77], + [0x000C7F, 0x000D57], + [0x000D5F, 0x000D6F], + [0x000D79, 0x000F29], + [0x000F34, 0x001368], + [0x00137D, 0x0017EF], + [0x0017FA, 0x0019D9], + [0x0019DB, 0x00206F], + [0x002071, 0x002073], + [0x00207A, 0x00207F], + [0x00208A, 0x00214F], + [0x002160, 0x002188], + [0x00218A, 0x00245F], + [0x00249C, 0x0024E9], + [0x002500, 0x002775], + [0x002794, 0x002CFC], + [0x002CFE, 0x003191], + [0x003196, 0x00321F], + [0x00322A, 0x003247], + [0x003260, 0x00327F], + [0x00328A, 0x0032B0], + [0x0032C0, 0x00A82F], + [0x00A836, 0x00DBFF], + [0x00E000, 0x010106], + [0x010134, 0x010174], + [0x010179, 0x010189], + [0x01018C, 0x0102E0], + [0x0102FC, 0x01031F], + [0x010324, 0x010857], + [0x010860, 0x010878], + [0x010880, 0x0108A6], + [0x0108B0, 0x0108FA], + [0x010900, 0x010915], + [0x01091C, 0x0109BB], + [0x0109BE, 0x0109BF], + [0x0109D0, 0x0109D1], + [0x010A00, 0x010A3F], + [0x010A49, 0x010A7C], + [0x010A7F, 0x010A9C], + [0x010AA0, 0x010AEA], + [0x010AF0, 0x010B57], + [0x010B60, 0x010B77], + [0x010B80, 0x010BA8], + [0x010BB0, 0x010CF9], + [0x010D00, 0x010E5F], + [0x010E7F, 0x010F1C], + [0x010F27, 0x010F50], + [0x010F55, 0x010FC4], + [0x010FCC, 0x011051], + [0x011066, 0x0111E0], + [0x0111F5, 0x011739], + [0x01173C, 0x0118E9], + [0x0118F3, 0x011C59], + [0x011C6D, 0x011FBF], + [0x011FD5, 0x016B5A], + [0x016B62, 0x016E7F], + [0x016E97, 0x01D2DF], + [0x01D2F4, 0x01D35F], + [0x01D379, 0x01E8C6], + [0x01E8D0, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01F0FF], + [0x01F10D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Other_Number}+$/u, + nonMatchSymbols, + "\\P{General_Category=Other_Number}" +); +testPropertyEscapes( + /^\P{General_Category=No}+$/u, + nonMatchSymbols, + "\\P{General_Category=No}" +); +testPropertyEscapes( + /^\P{gc=Other_Number}+$/u, + nonMatchSymbols, + "\\P{gc=Other_Number}" +); +testPropertyEscapes( + /^\P{gc=No}+$/u, + nonMatchSymbols, + "\\P{gc=No}" +); +testPropertyEscapes( + /^\P{Other_Number}+$/u, + nonMatchSymbols, + "\\P{Other_Number}" +); +testPropertyEscapes( + /^\P{No}+$/u, + nonMatchSymbols, + "\\P{No}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js new file mode 100644 index 0000000000..1d0510686a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js @@ -0,0 +1,455 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Other_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00002A, + 0x00002C, + 0x00005C, + 0x0000A1, + 0x0000A7, + 0x0000BF, + 0x00037E, + 0x000387, + 0x000589, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x00061B, + 0x0006D4, + 0x00085E, + 0x000970, + 0x0009FD, + 0x000A76, + 0x000AF0, + 0x000C77, + 0x000C84, + 0x000DF4, + 0x000E4F, + 0x000F14, + 0x000F85, + 0x0010FB, + 0x00166E, + 0x001CD3, + 0x002053, + 0x002D70, + 0x002E0B, + 0x002E1B, + 0x002E41, + 0x002E52, + 0x00303D, + 0x0030FB, + 0x00A673, + 0x00A67E, + 0x00A8FC, + 0x00A95F, + 0x00ABEB, + 0x00FE19, + 0x00FE30, + 0x00FE68, + 0x00FF0A, + 0x00FF0C, + 0x00FF3C, + 0x00FF61, + 0x01039F, + 0x0103D0, + 0x01056F, + 0x010857, + 0x01091F, + 0x01093F, + 0x010A7F, + 0x0111CD, + 0x0111DB, + 0x0112A9, + 0x01145D, + 0x0114C6, + 0x01183B, + 0x0119E2, + 0x011FFF, + 0x016AF5, + 0x016B44, + 0x016FE2, + 0x01BC9F + ], + ranges: [ + [0x000021, 0x000023], + [0x000025, 0x000027], + [0x00002E, 0x00002F], + [0x00003A, 0x00003B], + [0x00003F, 0x000040], + [0x0000B6, 0x0000B7], + [0x00055A, 0x00055F], + [0x0005F3, 0x0005F4], + [0x000609, 0x00060A], + [0x00060C, 0x00060D], + [0x00061E, 0x00061F], + [0x00066A, 0x00066D], + [0x000700, 0x00070D], + [0x0007F7, 0x0007F9], + [0x000830, 0x00083E], + [0x000964, 0x000965], + [0x000E5A, 0x000E5B], + [0x000F04, 0x000F12], + [0x000FD0, 0x000FD4], + [0x000FD9, 0x000FDA], + [0x00104A, 0x00104F], + [0x001360, 0x001368], + [0x0016EB, 0x0016ED], + [0x001735, 0x001736], + [0x0017D4, 0x0017D6], + [0x0017D8, 0x0017DA], + [0x001800, 0x001805], + [0x001807, 0x00180A], + [0x001944, 0x001945], + [0x001A1E, 0x001A1F], + [0x001AA0, 0x001AA6], + [0x001AA8, 0x001AAD], + [0x001B5A, 0x001B60], + [0x001BFC, 0x001BFF], + [0x001C3B, 0x001C3F], + [0x001C7E, 0x001C7F], + [0x001CC0, 0x001CC7], + [0x002016, 0x002017], + [0x002020, 0x002027], + [0x002030, 0x002038], + [0x00203B, 0x00203E], + [0x002041, 0x002043], + [0x002047, 0x002051], + [0x002055, 0x00205E], + [0x002CF9, 0x002CFC], + [0x002CFE, 0x002CFF], + [0x002E00, 0x002E01], + [0x002E06, 0x002E08], + [0x002E0E, 0x002E16], + [0x002E18, 0x002E19], + [0x002E1E, 0x002E1F], + [0x002E2A, 0x002E2E], + [0x002E30, 0x002E39], + [0x002E3C, 0x002E3F], + [0x002E43, 0x002E4F], + [0x003001, 0x003003], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A6F2, 0x00A6F7], + [0x00A874, 0x00A877], + [0x00A8CE, 0x00A8CF], + [0x00A8F8, 0x00A8FA], + [0x00A92E, 0x00A92F], + [0x00A9C1, 0x00A9CD], + [0x00A9DE, 0x00A9DF], + [0x00AA5C, 0x00AA5F], + [0x00AADE, 0x00AADF], + [0x00AAF0, 0x00AAF1], + [0x00FE10, 0x00FE16], + [0x00FE45, 0x00FE46], + [0x00FE49, 0x00FE4C], + [0x00FE50, 0x00FE52], + [0x00FE54, 0x00FE57], + [0x00FE5F, 0x00FE61], + [0x00FE6A, 0x00FE6B], + [0x00FF01, 0x00FF03], + [0x00FF05, 0x00FF07], + [0x00FF0E, 0x00FF0F], + [0x00FF1A, 0x00FF1B], + [0x00FF1F, 0x00FF20], + [0x00FF64, 0x00FF65], + [0x010100, 0x010102], + [0x010A50, 0x010A58], + [0x010AF0, 0x010AF6], + [0x010B39, 0x010B3F], + [0x010B99, 0x010B9C], + [0x010F55, 0x010F59], + [0x011047, 0x01104D], + [0x0110BB, 0x0110BC], + [0x0110BE, 0x0110C1], + [0x011140, 0x011143], + [0x011174, 0x011175], + [0x0111C5, 0x0111C8], + [0x0111DD, 0x0111DF], + [0x011238, 0x01123D], + [0x01144B, 0x01144F], + [0x01145A, 0x01145B], + [0x0115C1, 0x0115D7], + [0x011641, 0x011643], + [0x011660, 0x01166C], + [0x01173C, 0x01173E], + [0x011944, 0x011946], + [0x011A3F, 0x011A46], + [0x011A9A, 0x011A9C], + [0x011A9E, 0x011AA2], + [0x011C41, 0x011C45], + [0x011C70, 0x011C71], + [0x011EF7, 0x011EF8], + [0x012470, 0x012474], + [0x016A6E, 0x016A6F], + [0x016B37, 0x016B3B], + [0x016E97, 0x016E9A], + [0x01DA87, 0x01DA8B], + [0x01E95E, 0x01E95F] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Other_Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Other_Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=Po}+$/u, + matchSymbols, + "\\p{General_Category=Po}" +); +testPropertyEscapes( + /^\p{gc=Other_Punctuation}+$/u, + matchSymbols, + "\\p{gc=Other_Punctuation}" +); +testPropertyEscapes( + /^\p{gc=Po}+$/u, + matchSymbols, + "\\p{gc=Po}" +); +testPropertyEscapes( + /^\p{Other_Punctuation}+$/u, + matchSymbols, + "\\p{Other_Punctuation}" +); +testPropertyEscapes( + /^\p{Po}+$/u, + matchSymbols, + "\\p{Po}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000024, + 0x00002B, + 0x00002D, + 0x00060B, + 0x000F13, + 0x0017D7, + 0x001806, + 0x001AA7, + 0x002052, + 0x002054, + 0x002CFD, + 0x002E17, + 0x002E1A, + 0x002E2F, + 0x002E40, + 0x002E42, + 0x00A8FB, + 0x00FE53, + 0x00FE69, + 0x00FF04, + 0x00FF0B, + 0x00FF0D, + 0x0110BD, + 0x0111DC, + 0x01145C, + 0x011A9D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000020], + [0x000028, 0x000029], + [0x000030, 0x000039], + [0x00003C, 0x00003E], + [0x000041, 0x00005B], + [0x00005D, 0x0000A0], + [0x0000A2, 0x0000A6], + [0x0000A8, 0x0000B5], + [0x0000B8, 0x0000BE], + [0x0000C0, 0x00037D], + [0x00037F, 0x000386], + [0x000388, 0x000559], + [0x000560, 0x000588], + [0x00058A, 0x0005BF], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x0005C7, 0x0005F2], + [0x0005F5, 0x000608], + [0x00060E, 0x00061A], + [0x00061C, 0x00061D], + [0x000620, 0x000669], + [0x00066E, 0x0006D3], + [0x0006D5, 0x0006FF], + [0x00070E, 0x0007F6], + [0x0007FA, 0x00082F], + [0x00083F, 0x00085D], + [0x00085F, 0x000963], + [0x000966, 0x00096F], + [0x000971, 0x0009FC], + [0x0009FE, 0x000A75], + [0x000A77, 0x000AEF], + [0x000AF1, 0x000C76], + [0x000C78, 0x000C83], + [0x000C85, 0x000DF3], + [0x000DF5, 0x000E4E], + [0x000E50, 0x000E59], + [0x000E5C, 0x000F03], + [0x000F15, 0x000F84], + [0x000F86, 0x000FCF], + [0x000FD5, 0x000FD8], + [0x000FDB, 0x001049], + [0x001050, 0x0010FA], + [0x0010FC, 0x00135F], + [0x001369, 0x00166D], + [0x00166F, 0x0016EA], + [0x0016EE, 0x001734], + [0x001737, 0x0017D3], + [0x0017DB, 0x0017FF], + [0x00180B, 0x001943], + [0x001946, 0x001A1D], + [0x001A20, 0x001A9F], + [0x001AAE, 0x001B59], + [0x001B61, 0x001BFB], + [0x001C00, 0x001C3A], + [0x001C40, 0x001C7D], + [0x001C80, 0x001CBF], + [0x001CC8, 0x001CD2], + [0x001CD4, 0x002015], + [0x002018, 0x00201F], + [0x002028, 0x00202F], + [0x002039, 0x00203A], + [0x00203F, 0x002040], + [0x002044, 0x002046], + [0x00205F, 0x002CF8], + [0x002D00, 0x002D6F], + [0x002D71, 0x002DFF], + [0x002E02, 0x002E05], + [0x002E09, 0x002E0A], + [0x002E0C, 0x002E0D], + [0x002E1C, 0x002E1D], + [0x002E20, 0x002E29], + [0x002E3A, 0x002E3B], + [0x002E50, 0x002E51], + [0x002E53, 0x003000], + [0x003004, 0x00303C], + [0x00303E, 0x0030FA], + [0x0030FC, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A672], + [0x00A674, 0x00A67D], + [0x00A67F, 0x00A6F1], + [0x00A6F8, 0x00A873], + [0x00A878, 0x00A8CD], + [0x00A8D0, 0x00A8F7], + [0x00A8FD, 0x00A92D], + [0x00A930, 0x00A95E], + [0x00A960, 0x00A9C0], + [0x00A9CE, 0x00A9DD], + [0x00A9E0, 0x00AA5B], + [0x00AA60, 0x00AADD], + [0x00AAE0, 0x00AAEF], + [0x00AAF2, 0x00ABEA], + [0x00ABEC, 0x00DBFF], + [0x00E000, 0x00FE0F], + [0x00FE17, 0x00FE18], + [0x00FE1A, 0x00FE2F], + [0x00FE31, 0x00FE44], + [0x00FE47, 0x00FE48], + [0x00FE4D, 0x00FE4F], + [0x00FE58, 0x00FE5E], + [0x00FE62, 0x00FE67], + [0x00FE6C, 0x00FF00], + [0x00FF08, 0x00FF09], + [0x00FF10, 0x00FF19], + [0x00FF1C, 0x00FF1E], + [0x00FF21, 0x00FF3B], + [0x00FF3D, 0x00FF60], + [0x00FF62, 0x00FF63], + [0x00FF66, 0x0100FF], + [0x010103, 0x01039E], + [0x0103A0, 0x0103CF], + [0x0103D1, 0x01056E], + [0x010570, 0x010856], + [0x010858, 0x01091E], + [0x010920, 0x01093E], + [0x010940, 0x010A4F], + [0x010A59, 0x010A7E], + [0x010A80, 0x010AEF], + [0x010AF7, 0x010B38], + [0x010B40, 0x010B98], + [0x010B9D, 0x010F54], + [0x010F5A, 0x011046], + [0x01104E, 0x0110BA], + [0x0110C2, 0x01113F], + [0x011144, 0x011173], + [0x011176, 0x0111C4], + [0x0111C9, 0x0111CC], + [0x0111CE, 0x0111DA], + [0x0111E0, 0x011237], + [0x01123E, 0x0112A8], + [0x0112AA, 0x01144A], + [0x011450, 0x011459], + [0x01145E, 0x0114C5], + [0x0114C7, 0x0115C0], + [0x0115D8, 0x011640], + [0x011644, 0x01165F], + [0x01166D, 0x01173B], + [0x01173F, 0x01183A], + [0x01183C, 0x011943], + [0x011947, 0x0119E1], + [0x0119E3, 0x011A3E], + [0x011A47, 0x011A99], + [0x011AA3, 0x011C40], + [0x011C46, 0x011C6F], + [0x011C72, 0x011EF6], + [0x011EF9, 0x011FFE], + [0x012000, 0x01246F], + [0x012475, 0x016A6D], + [0x016A70, 0x016AF4], + [0x016AF6, 0x016B36], + [0x016B3C, 0x016B43], + [0x016B45, 0x016E96], + [0x016E9B, 0x016FE1], + [0x016FE3, 0x01BC9E], + [0x01BCA0, 0x01DA86], + [0x01DA8C, 0x01E95D], + [0x01E960, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Other_Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Other_Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=Po}+$/u, + nonMatchSymbols, + "\\P{General_Category=Po}" +); +testPropertyEscapes( + /^\P{gc=Other_Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Other_Punctuation}" +); +testPropertyEscapes( + /^\P{gc=Po}+$/u, + nonMatchSymbols, + "\\P{gc=Po}" +); +testPropertyEscapes( + /^\P{Other_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Other_Punctuation}" +); +testPropertyEscapes( + /^\P{Po}+$/u, + nonMatchSymbols, + "\\P{Po}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js new file mode 100644 index 0000000000..7cb4418fec --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js @@ -0,0 +1,457 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Other_Symbol` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000A6, + 0x0000A9, + 0x0000AE, + 0x0000B0, + 0x000482, + 0x0006DE, + 0x0006E9, + 0x0007F6, + 0x0009FA, + 0x000B70, + 0x000BFA, + 0x000C7F, + 0x000D4F, + 0x000D79, + 0x000F13, + 0x000F34, + 0x000F36, + 0x000F38, + 0x00166D, + 0x001940, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x00214A, + 0x00214F, + 0x0021D3, + 0x003004, + 0x003020, + 0x003250, + 0x00A839, + 0x00FDFD, + 0x00FFE4, + 0x00FFE8, + 0x0101A0, + 0x010AC8, + 0x01173F, + 0x016B45, + 0x01BC9C, + 0x01D245, + 0x01E14F, + 0x01ECAC, + 0x01ED2E + ], + ranges: [ + [0x00058D, 0x00058E], + [0x00060E, 0x00060F], + [0x0006FD, 0x0006FE], + [0x000BF3, 0x000BF8], + [0x000F01, 0x000F03], + [0x000F15, 0x000F17], + [0x000F1A, 0x000F1F], + [0x000FBE, 0x000FC5], + [0x000FC7, 0x000FCC], + [0x000FCE, 0x000FCF], + [0x000FD5, 0x000FD8], + [0x00109E, 0x00109F], + [0x001390, 0x001399], + [0x0019DE, 0x0019FF], + [0x001B61, 0x001B6A], + [0x001B74, 0x001B7C], + [0x002100, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002117], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x00214C, 0x00214D], + [0x00218A, 0x00218B], + [0x002195, 0x002199], + [0x00219C, 0x00219F], + [0x0021A1, 0x0021A2], + [0x0021A4, 0x0021A5], + [0x0021A7, 0x0021AD], + [0x0021AF, 0x0021CD], + [0x0021D0, 0x0021D1], + [0x0021D5, 0x0021F3], + [0x002300, 0x002307], + [0x00230C, 0x00231F], + [0x002322, 0x002328], + [0x00232B, 0x00237B], + [0x00237D, 0x00239A], + [0x0023B4, 0x0023DB], + [0x0023E2, 0x002426], + [0x002440, 0x00244A], + [0x00249C, 0x0024E9], + [0x002500, 0x0025B6], + [0x0025B8, 0x0025C0], + [0x0025C2, 0x0025F7], + [0x002600, 0x00266E], + [0x002670, 0x002767], + [0x002794, 0x0027BF], + [0x002800, 0x0028FF], + [0x002B00, 0x002B2F], + [0x002B45, 0x002B46], + [0x002B4D, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002E50, 0x002E51], + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x002FF0, 0x002FFB], + [0x003012, 0x003013], + [0x003036, 0x003037], + [0x00303E, 0x00303F], + [0x003190, 0x003191], + [0x003196, 0x00319F], + [0x0031C0, 0x0031E3], + [0x003200, 0x00321E], + [0x00322A, 0x003247], + [0x003260, 0x00327F], + [0x00328A, 0x0032B0], + [0x0032C0, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x00A490, 0x00A4C6], + [0x00A828, 0x00A82B], + [0x00A836, 0x00A837], + [0x00AA77, 0x00AA79], + [0x00FFED, 0x00FFEE], + [0x00FFFC, 0x00FFFD], + [0x010137, 0x01013F], + [0x010179, 0x010189], + [0x01018C, 0x01018E], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FC], + [0x010877, 0x010878], + [0x011FD5, 0x011FDC], + [0x011FE1, 0x011FF1], + [0x016B3C, 0x016B3F], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D164], + [0x01D16A, 0x01D16C], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D1E8], + [0x01D200, 0x01D241], + [0x01D300, 0x01D356], + [0x01D800, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA86], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F10D, 0x01F1AD], + [0x01F1E6, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F3FA], + [0x01F400, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Other_Symbol}+$/u, + matchSymbols, + "\\p{General_Category=Other_Symbol}" +); +testPropertyEscapes( + /^\p{General_Category=So}+$/u, + matchSymbols, + "\\p{General_Category=So}" +); +testPropertyEscapes( + /^\p{gc=Other_Symbol}+$/u, + matchSymbols, + "\\p{gc=Other_Symbol}" +); +testPropertyEscapes( + /^\p{gc=So}+$/u, + matchSymbols, + "\\p{gc=So}" +); +testPropertyEscapes( + /^\p{Other_Symbol}+$/u, + matchSymbols, + "\\p{Other_Symbol}" +); +testPropertyEscapes( + /^\p{So}+$/u, + matchSymbols, + "\\p{So}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000AF, + 0x000BF9, + 0x000F14, + 0x000F35, + 0x000F37, + 0x000FC6, + 0x000FCD, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214B, + 0x00214E, + 0x0021A0, + 0x0021A3, + 0x0021A6, + 0x0021AE, + 0x0021D2, + 0x0021D4, + 0x00237C, + 0x0025B7, + 0x0025C1, + 0x00266F, + 0x002B96, + 0x002E9A, + 0x00A838, + 0x01018F, + 0x01DA75, + 0x01DA84, + 0x01F0C0, + 0x01F0D0, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0000A5], + [0x0000A7, 0x0000A8], + [0x0000AA, 0x0000AD], + [0x0000B1, 0x000481], + [0x000483, 0x00058C], + [0x00058F, 0x00060D], + [0x000610, 0x0006DD], + [0x0006DF, 0x0006E8], + [0x0006EA, 0x0006FC], + [0x0006FF, 0x0007F5], + [0x0007F7, 0x0009F9], + [0x0009FB, 0x000B6F], + [0x000B71, 0x000BF2], + [0x000BFB, 0x000C7E], + [0x000C80, 0x000D4E], + [0x000D50, 0x000D78], + [0x000D7A, 0x000F00], + [0x000F04, 0x000F12], + [0x000F18, 0x000F19], + [0x000F20, 0x000F33], + [0x000F39, 0x000FBD], + [0x000FD0, 0x000FD4], + [0x000FD9, 0x00109D], + [0x0010A0, 0x00138F], + [0x00139A, 0x00166C], + [0x00166E, 0x00193F], + [0x001941, 0x0019DD], + [0x001A00, 0x001B60], + [0x001B6B, 0x001B73], + [0x001B7D, 0x0020FF], + [0x00210A, 0x002113], + [0x002118, 0x00211D], + [0x00212A, 0x00212D], + [0x00212F, 0x002139], + [0x00213C, 0x002149], + [0x002150, 0x002189], + [0x00218C, 0x002194], + [0x00219A, 0x00219B], + [0x0021CE, 0x0021CF], + [0x0021F4, 0x0022FF], + [0x002308, 0x00230B], + [0x002320, 0x002321], + [0x002329, 0x00232A], + [0x00239B, 0x0023B3], + [0x0023DC, 0x0023E1], + [0x002427, 0x00243F], + [0x00244B, 0x00249B], + [0x0024EA, 0x0024FF], + [0x0025F8, 0x0025FF], + [0x002768, 0x002793], + [0x0027C0, 0x0027FF], + [0x002900, 0x002AFF], + [0x002B30, 0x002B44], + [0x002B47, 0x002B4C], + [0x002B74, 0x002B75], + [0x002C00, 0x002CE4], + [0x002CEB, 0x002E4F], + [0x002E52, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FEF], + [0x002FFC, 0x003003], + [0x003005, 0x003011], + [0x003014, 0x00301F], + [0x003021, 0x003035], + [0x003038, 0x00303D], + [0x003040, 0x00318F], + [0x003192, 0x003195], + [0x0031A0, 0x0031BF], + [0x0031E4, 0x0031FF], + [0x00321F, 0x003229], + [0x003248, 0x00324F], + [0x003251, 0x00325F], + [0x003280, 0x003289], + [0x0032B1, 0x0032BF], + [0x003400, 0x004DBF], + [0x004E00, 0x00A48F], + [0x00A4C7, 0x00A827], + [0x00A82C, 0x00A835], + [0x00A83A, 0x00AA76], + [0x00AA7A, 0x00DBFF], + [0x00E000, 0x00FDFC], + [0x00FDFE, 0x00FFE3], + [0x00FFE5, 0x00FFE7], + [0x00FFE9, 0x00FFEC], + [0x00FFEF, 0x00FFFB], + [0x00FFFE, 0x010136], + [0x010140, 0x010178], + [0x01018A, 0x01018B], + [0x01019D, 0x01019F], + [0x0101A1, 0x0101CF], + [0x0101FD, 0x010876], + [0x010879, 0x010AC7], + [0x010AC9, 0x01173E], + [0x011740, 0x011FD4], + [0x011FDD, 0x011FE0], + [0x011FF2, 0x016B3B], + [0x016B40, 0x016B44], + [0x016B46, 0x01BC9B], + [0x01BC9D, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D165, 0x01D169], + [0x01D16D, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D1E9, 0x01D1FF], + [0x01D242, 0x01D244], + [0x01D246, 0x01D2FF], + [0x01D357, 0x01D7FF], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA87, 0x01E14E], + [0x01E150, 0x01ECAB], + [0x01ECAD, 0x01ED2D], + [0x01ED2F, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F10C], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F3FB, 0x01F3FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Other_Symbol}+$/u, + nonMatchSymbols, + "\\P{General_Category=Other_Symbol}" +); +testPropertyEscapes( + /^\P{General_Category=So}+$/u, + nonMatchSymbols, + "\\P{General_Category=So}" +); +testPropertyEscapes( + /^\P{gc=Other_Symbol}+$/u, + nonMatchSymbols, + "\\P{gc=Other_Symbol}" +); +testPropertyEscapes( + /^\P{gc=So}+$/u, + nonMatchSymbols, + "\\P{gc=So}" +); +testPropertyEscapes( + /^\P{Other_Symbol}+$/u, + nonMatchSymbols, + "\\P{Other_Symbol}" +); +testPropertyEscapes( + /^\P{So}+$/u, + nonMatchSymbols, + "\\P{So}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Paragraph_Separator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Paragraph_Separator.js new file mode 100644 index 0000000000..3fc3f4d78c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Paragraph_Separator.js @@ -0,0 +1,93 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Paragraph_Separator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x002029 + ], + ranges: [] +}); +testPropertyEscapes( + /^\p{General_Category=Paragraph_Separator}+$/u, + matchSymbols, + "\\p{General_Category=Paragraph_Separator}" +); +testPropertyEscapes( + /^\p{General_Category=Zp}+$/u, + matchSymbols, + "\\p{General_Category=Zp}" +); +testPropertyEscapes( + /^\p{gc=Paragraph_Separator}+$/u, + matchSymbols, + "\\p{gc=Paragraph_Separator}" +); +testPropertyEscapes( + /^\p{gc=Zp}+$/u, + matchSymbols, + "\\p{gc=Zp}" +); +testPropertyEscapes( + /^\p{Paragraph_Separator}+$/u, + matchSymbols, + "\\p{Paragraph_Separator}" +); +testPropertyEscapes( + /^\p{Zp}+$/u, + matchSymbols, + "\\p{Zp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002028], + [0x00202A, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Paragraph_Separator}+$/u, + nonMatchSymbols, + "\\P{General_Category=Paragraph_Separator}" +); +testPropertyEscapes( + /^\P{General_Category=Zp}+$/u, + nonMatchSymbols, + "\\P{General_Category=Zp}" +); +testPropertyEscapes( + /^\P{gc=Paragraph_Separator}+$/u, + nonMatchSymbols, + "\\P{gc=Paragraph_Separator}" +); +testPropertyEscapes( + /^\P{gc=Zp}+$/u, + nonMatchSymbols, + "\\P{gc=Zp}" +); +testPropertyEscapes( + /^\P{Paragraph_Separator}+$/u, + nonMatchSymbols, + "\\P{Paragraph_Separator}" +); +testPropertyEscapes( + /^\P{Zp}+$/u, + nonMatchSymbols, + "\\P{Zp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Private_Use.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Private_Use.js new file mode 100644 index 0000000000..19b8eb5629 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Private_Use.js @@ -0,0 +1,96 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Private_Use` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00E000, 0x00F8FF], + [0x0F0000, 0x0FFFFD], + [0x100000, 0x10FFFD] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Private_Use}+$/u, + matchSymbols, + "\\p{General_Category=Private_Use}" +); +testPropertyEscapes( + /^\p{General_Category=Co}+$/u, + matchSymbols, + "\\p{General_Category=Co}" +); +testPropertyEscapes( + /^\p{gc=Private_Use}+$/u, + matchSymbols, + "\\p{gc=Private_Use}" +); +testPropertyEscapes( + /^\p{gc=Co}+$/u, + matchSymbols, + "\\p{gc=Co}" +); +testPropertyEscapes( + /^\p{Private_Use}+$/u, + matchSymbols, + "\\p{Private_Use}" +); +testPropertyEscapes( + /^\p{Co}+$/u, + matchSymbols, + "\\p{Co}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00F900, 0x0EFFFF], + [0x0FFFFE, 0x0FFFFF], + [0x10FFFE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Private_Use}+$/u, + nonMatchSymbols, + "\\P{General_Category=Private_Use}" +); +testPropertyEscapes( + /^\P{General_Category=Co}+$/u, + nonMatchSymbols, + "\\P{General_Category=Co}" +); +testPropertyEscapes( + /^\P{gc=Private_Use}+$/u, + nonMatchSymbols, + "\\P{gc=Private_Use}" +); +testPropertyEscapes( + /^\P{gc=Co}+$/u, + nonMatchSymbols, + "\\P{gc=Co}" +); +testPropertyEscapes( + /^\P{Private_Use}+$/u, + nonMatchSymbols, + "\\P{Private_Use}" +); +testPropertyEscapes( + /^\P{Co}+$/u, + nonMatchSymbols, + "\\P{Co}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js new file mode 100644 index 0000000000..abc7c5baf8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js @@ -0,0 +1,493 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x00007B, + 0x00007D, + 0x0000A1, + 0x0000A7, + 0x0000AB, + 0x0000BB, + 0x0000BF, + 0x00037E, + 0x000387, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x00061B, + 0x0006D4, + 0x00085E, + 0x000970, + 0x0009FD, + 0x000A76, + 0x000AF0, + 0x000C77, + 0x000C84, + 0x000DF4, + 0x000E4F, + 0x000F14, + 0x000F85, + 0x0010FB, + 0x001400, + 0x00166E, + 0x001CD3, + 0x002D70, + 0x002E52, + 0x003030, + 0x00303D, + 0x0030A0, + 0x0030FB, + 0x00A673, + 0x00A67E, + 0x00A8FC, + 0x00A95F, + 0x00ABEB, + 0x00FE63, + 0x00FE68, + 0x00FF3F, + 0x00FF5B, + 0x00FF5D, + 0x01039F, + 0x0103D0, + 0x01056F, + 0x010857, + 0x01091F, + 0x01093F, + 0x010A7F, + 0x010EAD, + 0x0111CD, + 0x0111DB, + 0x0112A9, + 0x01145D, + 0x0114C6, + 0x01183B, + 0x0119E2, + 0x011FFF, + 0x016AF5, + 0x016B44, + 0x016FE2, + 0x01BC9F + ], + ranges: [ + [0x000021, 0x000023], + [0x000025, 0x00002A], + [0x00002C, 0x00002F], + [0x00003A, 0x00003B], + [0x00003F, 0x000040], + [0x00005B, 0x00005D], + [0x0000B6, 0x0000B7], + [0x00055A, 0x00055F], + [0x000589, 0x00058A], + [0x0005F3, 0x0005F4], + [0x000609, 0x00060A], + [0x00060C, 0x00060D], + [0x00061E, 0x00061F], + [0x00066A, 0x00066D], + [0x000700, 0x00070D], + [0x0007F7, 0x0007F9], + [0x000830, 0x00083E], + [0x000964, 0x000965], + [0x000E5A, 0x000E5B], + [0x000F04, 0x000F12], + [0x000F3A, 0x000F3D], + [0x000FD0, 0x000FD4], + [0x000FD9, 0x000FDA], + [0x00104A, 0x00104F], + [0x001360, 0x001368], + [0x00169B, 0x00169C], + [0x0016EB, 0x0016ED], + [0x001735, 0x001736], + [0x0017D4, 0x0017D6], + [0x0017D8, 0x0017DA], + [0x001800, 0x00180A], + [0x001944, 0x001945], + [0x001A1E, 0x001A1F], + [0x001AA0, 0x001AA6], + [0x001AA8, 0x001AAD], + [0x001B5A, 0x001B60], + [0x001BFC, 0x001BFF], + [0x001C3B, 0x001C3F], + [0x001C7E, 0x001C7F], + [0x001CC0, 0x001CC7], + [0x002010, 0x002027], + [0x002030, 0x002043], + [0x002045, 0x002051], + [0x002053, 0x00205E], + [0x00207D, 0x00207E], + [0x00208D, 0x00208E], + [0x002308, 0x00230B], + [0x002329, 0x00232A], + [0x002768, 0x002775], + [0x0027C5, 0x0027C6], + [0x0027E6, 0x0027EF], + [0x002983, 0x002998], + [0x0029D8, 0x0029DB], + [0x0029FC, 0x0029FD], + [0x002CF9, 0x002CFC], + [0x002CFE, 0x002CFF], + [0x002E00, 0x002E2E], + [0x002E30, 0x002E4F], + [0x003001, 0x003003], + [0x003008, 0x003011], + [0x003014, 0x00301F], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A6F2, 0x00A6F7], + [0x00A874, 0x00A877], + [0x00A8CE, 0x00A8CF], + [0x00A8F8, 0x00A8FA], + [0x00A92E, 0x00A92F], + [0x00A9C1, 0x00A9CD], + [0x00A9DE, 0x00A9DF], + [0x00AA5C, 0x00AA5F], + [0x00AADE, 0x00AADF], + [0x00AAF0, 0x00AAF1], + [0x00FD3E, 0x00FD3F], + [0x00FE10, 0x00FE19], + [0x00FE30, 0x00FE52], + [0x00FE54, 0x00FE61], + [0x00FE6A, 0x00FE6B], + [0x00FF01, 0x00FF03], + [0x00FF05, 0x00FF0A], + [0x00FF0C, 0x00FF0F], + [0x00FF1A, 0x00FF1B], + [0x00FF1F, 0x00FF20], + [0x00FF3B, 0x00FF3D], + [0x00FF5F, 0x00FF65], + [0x010100, 0x010102], + [0x010A50, 0x010A58], + [0x010AF0, 0x010AF6], + [0x010B39, 0x010B3F], + [0x010B99, 0x010B9C], + [0x010F55, 0x010F59], + [0x011047, 0x01104D], + [0x0110BB, 0x0110BC], + [0x0110BE, 0x0110C1], + [0x011140, 0x011143], + [0x011174, 0x011175], + [0x0111C5, 0x0111C8], + [0x0111DD, 0x0111DF], + [0x011238, 0x01123D], + [0x01144B, 0x01144F], + [0x01145A, 0x01145B], + [0x0115C1, 0x0115D7], + [0x011641, 0x011643], + [0x011660, 0x01166C], + [0x01173C, 0x01173E], + [0x011944, 0x011946], + [0x011A3F, 0x011A46], + [0x011A9A, 0x011A9C], + [0x011A9E, 0x011AA2], + [0x011C41, 0x011C45], + [0x011C70, 0x011C71], + [0x011EF7, 0x011EF8], + [0x012470, 0x012474], + [0x016A6E, 0x016A6F], + [0x016B37, 0x016B3B], + [0x016E97, 0x016E9A], + [0x01DA87, 0x01DA8B], + [0x01E95E, 0x01E95F] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Punctuation}+$/u, + matchSymbols, + "\\p{General_Category=Punctuation}" +); +testPropertyEscapes( + /^\p{General_Category=P}+$/u, + matchSymbols, + "\\p{General_Category=P}" +); +testPropertyEscapes( + /^\p{General_Category=punct}+$/u, + matchSymbols, + "\\p{General_Category=punct}" +); +testPropertyEscapes( + /^\p{gc=Punctuation}+$/u, + matchSymbols, + "\\p{gc=Punctuation}" +); +testPropertyEscapes( + /^\p{gc=P}+$/u, + matchSymbols, + "\\p{gc=P}" +); +testPropertyEscapes( + /^\p{gc=punct}+$/u, + matchSymbols, + "\\p{gc=punct}" +); +testPropertyEscapes( + /^\p{Punctuation}+$/u, + matchSymbols, + "\\p{Punctuation}" +); +testPropertyEscapes( + /^\p{P}+$/u, + matchSymbols, + "\\p{P}" +); +testPropertyEscapes( + /^\p{punct}+$/u, + matchSymbols, + "\\p{punct}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000024, + 0x00002B, + 0x00005E, + 0x00007C, + 0x0005BF, + 0x00060B, + 0x000F13, + 0x0017D7, + 0x001AA7, + 0x002044, + 0x002052, + 0x002CFD, + 0x002E2F, + 0x00A8FB, + 0x00FE53, + 0x00FE62, + 0x00FE69, + 0x00FF04, + 0x00FF0B, + 0x00FF3E, + 0x00FF5C, + 0x00FF5E, + 0x0110BD, + 0x0111DC, + 0x01145C, + 0x011A9D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000020], + [0x000030, 0x000039], + [0x00003C, 0x00003E], + [0x000041, 0x00005A], + [0x000060, 0x00007A], + [0x00007E, 0x0000A0], + [0x0000A2, 0x0000A6], + [0x0000A8, 0x0000AA], + [0x0000AC, 0x0000B5], + [0x0000B8, 0x0000BA], + [0x0000BC, 0x0000BE], + [0x0000C0, 0x00037D], + [0x00037F, 0x000386], + [0x000388, 0x000559], + [0x000560, 0x000588], + [0x00058B, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x0005C7, 0x0005F2], + [0x0005F5, 0x000608], + [0x00060E, 0x00061A], + [0x00061C, 0x00061D], + [0x000620, 0x000669], + [0x00066E, 0x0006D3], + [0x0006D5, 0x0006FF], + [0x00070E, 0x0007F6], + [0x0007FA, 0x00082F], + [0x00083F, 0x00085D], + [0x00085F, 0x000963], + [0x000966, 0x00096F], + [0x000971, 0x0009FC], + [0x0009FE, 0x000A75], + [0x000A77, 0x000AEF], + [0x000AF1, 0x000C76], + [0x000C78, 0x000C83], + [0x000C85, 0x000DF3], + [0x000DF5, 0x000E4E], + [0x000E50, 0x000E59], + [0x000E5C, 0x000F03], + [0x000F15, 0x000F39], + [0x000F3E, 0x000F84], + [0x000F86, 0x000FCF], + [0x000FD5, 0x000FD8], + [0x000FDB, 0x001049], + [0x001050, 0x0010FA], + [0x0010FC, 0x00135F], + [0x001369, 0x0013FF], + [0x001401, 0x00166D], + [0x00166F, 0x00169A], + [0x00169D, 0x0016EA], + [0x0016EE, 0x001734], + [0x001737, 0x0017D3], + [0x0017DB, 0x0017FF], + [0x00180B, 0x001943], + [0x001946, 0x001A1D], + [0x001A20, 0x001A9F], + [0x001AAE, 0x001B59], + [0x001B61, 0x001BFB], + [0x001C00, 0x001C3A], + [0x001C40, 0x001C7D], + [0x001C80, 0x001CBF], + [0x001CC8, 0x001CD2], + [0x001CD4, 0x00200F], + [0x002028, 0x00202F], + [0x00205F, 0x00207C], + [0x00207F, 0x00208C], + [0x00208F, 0x002307], + [0x00230C, 0x002328], + [0x00232B, 0x002767], + [0x002776, 0x0027C4], + [0x0027C7, 0x0027E5], + [0x0027F0, 0x002982], + [0x002999, 0x0029D7], + [0x0029DC, 0x0029FB], + [0x0029FE, 0x002CF8], + [0x002D00, 0x002D6F], + [0x002D71, 0x002DFF], + [0x002E50, 0x002E51], + [0x002E53, 0x003000], + [0x003004, 0x003007], + [0x003012, 0x003013], + [0x003020, 0x00302F], + [0x003031, 0x00303C], + [0x00303E, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A672], + [0x00A674, 0x00A67D], + [0x00A67F, 0x00A6F1], + [0x00A6F8, 0x00A873], + [0x00A878, 0x00A8CD], + [0x00A8D0, 0x00A8F7], + [0x00A8FD, 0x00A92D], + [0x00A930, 0x00A95E], + [0x00A960, 0x00A9C0], + [0x00A9CE, 0x00A9DD], + [0x00A9E0, 0x00AA5B], + [0x00AA60, 0x00AADD], + [0x00AAE0, 0x00AAEF], + [0x00AAF2, 0x00ABEA], + [0x00ABEC, 0x00DBFF], + [0x00E000, 0x00FD3D], + [0x00FD40, 0x00FE0F], + [0x00FE1A, 0x00FE2F], + [0x00FE64, 0x00FE67], + [0x00FE6C, 0x00FF00], + [0x00FF10, 0x00FF19], + [0x00FF1C, 0x00FF1E], + [0x00FF21, 0x00FF3A], + [0x00FF40, 0x00FF5A], + [0x00FF66, 0x0100FF], + [0x010103, 0x01039E], + [0x0103A0, 0x0103CF], + [0x0103D1, 0x01056E], + [0x010570, 0x010856], + [0x010858, 0x01091E], + [0x010920, 0x01093E], + [0x010940, 0x010A4F], + [0x010A59, 0x010A7E], + [0x010A80, 0x010AEF], + [0x010AF7, 0x010B38], + [0x010B40, 0x010B98], + [0x010B9D, 0x010EAC], + [0x010EAE, 0x010F54], + [0x010F5A, 0x011046], + [0x01104E, 0x0110BA], + [0x0110C2, 0x01113F], + [0x011144, 0x011173], + [0x011176, 0x0111C4], + [0x0111C9, 0x0111CC], + [0x0111CE, 0x0111DA], + [0x0111E0, 0x011237], + [0x01123E, 0x0112A8], + [0x0112AA, 0x01144A], + [0x011450, 0x011459], + [0x01145E, 0x0114C5], + [0x0114C7, 0x0115C0], + [0x0115D8, 0x011640], + [0x011644, 0x01165F], + [0x01166D, 0x01173B], + [0x01173F, 0x01183A], + [0x01183C, 0x011943], + [0x011947, 0x0119E1], + [0x0119E3, 0x011A3E], + [0x011A47, 0x011A99], + [0x011AA3, 0x011C40], + [0x011C46, 0x011C6F], + [0x011C72, 0x011EF6], + [0x011EF9, 0x011FFE], + [0x012000, 0x01246F], + [0x012475, 0x016A6D], + [0x016A70, 0x016AF4], + [0x016AF6, 0x016B36], + [0x016B3C, 0x016B43], + [0x016B45, 0x016E96], + [0x016E9B, 0x016FE1], + [0x016FE3, 0x01BC9E], + [0x01BCA0, 0x01DA86], + [0x01DA8C, 0x01E95D], + [0x01E960, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Punctuation}+$/u, + nonMatchSymbols, + "\\P{General_Category=Punctuation}" +); +testPropertyEscapes( + /^\P{General_Category=P}+$/u, + nonMatchSymbols, + "\\P{General_Category=P}" +); +testPropertyEscapes( + /^\P{General_Category=punct}+$/u, + nonMatchSymbols, + "\\P{General_Category=punct}" +); +testPropertyEscapes( + /^\P{gc=Punctuation}+$/u, + nonMatchSymbols, + "\\P{gc=Punctuation}" +); +testPropertyEscapes( + /^\P{gc=P}+$/u, + nonMatchSymbols, + "\\P{gc=P}" +); +testPropertyEscapes( + /^\P{gc=punct}+$/u, + nonMatchSymbols, + "\\P{gc=punct}" +); +testPropertyEscapes( + /^\P{Punctuation}+$/u, + nonMatchSymbols, + "\\P{Punctuation}" +); +testPropertyEscapes( + /^\P{P}+$/u, + nonMatchSymbols, + "\\P{P}" +); +testPropertyEscapes( + /^\P{punct}+$/u, + nonMatchSymbols, + "\\P{punct}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Separator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Separator.js new file mode 100644 index 0000000000..d0c58e9cac --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Separator.js @@ -0,0 +1,108 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Separator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000020, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000 + ], + ranges: [ + [0x002000, 0x00200A], + [0x002028, 0x002029] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Separator}+$/u, + matchSymbols, + "\\p{General_Category=Separator}" +); +testPropertyEscapes( + /^\p{General_Category=Z}+$/u, + matchSymbols, + "\\p{General_Category=Z}" +); +testPropertyEscapes( + /^\p{gc=Separator}+$/u, + matchSymbols, + "\\p{gc=Separator}" +); +testPropertyEscapes( + /^\p{gc=Z}+$/u, + matchSymbols, + "\\p{gc=Z}" +); +testPropertyEscapes( + /^\p{Separator}+$/u, + matchSymbols, + "\\p{Separator}" +); +testPropertyEscapes( + /^\p{Z}+$/u, + matchSymbols, + "\\p{Z}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00001F], + [0x000021, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x002027], + [0x00202A, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Separator}+$/u, + nonMatchSymbols, + "\\P{General_Category=Separator}" +); +testPropertyEscapes( + /^\P{General_Category=Z}+$/u, + nonMatchSymbols, + "\\P{General_Category=Z}" +); +testPropertyEscapes( + /^\P{gc=Separator}+$/u, + nonMatchSymbols, + "\\P{gc=Separator}" +); +testPropertyEscapes( + /^\P{gc=Z}+$/u, + nonMatchSymbols, + "\\P{gc=Z}" +); +testPropertyEscapes( + /^\P{Separator}+$/u, + nonMatchSymbols, + "\\P{Separator}" +); +testPropertyEscapes( + /^\P{Z}+$/u, + nonMatchSymbols, + "\\P{Z}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Space_Separator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Space_Separator.js new file mode 100644 index 0000000000..379b4f01ee --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Space_Separator.js @@ -0,0 +1,106 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Space_Separator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000020, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000 + ], + ranges: [ + [0x002000, 0x00200A] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Space_Separator}+$/u, + matchSymbols, + "\\p{General_Category=Space_Separator}" +); +testPropertyEscapes( + /^\p{General_Category=Zs}+$/u, + matchSymbols, + "\\p{General_Category=Zs}" +); +testPropertyEscapes( + /^\p{gc=Space_Separator}+$/u, + matchSymbols, + "\\p{gc=Space_Separator}" +); +testPropertyEscapes( + /^\p{gc=Zs}+$/u, + matchSymbols, + "\\p{gc=Zs}" +); +testPropertyEscapes( + /^\p{Space_Separator}+$/u, + matchSymbols, + "\\p{Space_Separator}" +); +testPropertyEscapes( + /^\p{Zs}+$/u, + matchSymbols, + "\\p{Zs}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00001F], + [0x000021, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Space_Separator}+$/u, + nonMatchSymbols, + "\\P{General_Category=Space_Separator}" +); +testPropertyEscapes( + /^\P{General_Category=Zs}+$/u, + nonMatchSymbols, + "\\P{General_Category=Zs}" +); +testPropertyEscapes( + /^\P{gc=Space_Separator}+$/u, + nonMatchSymbols, + "\\P{gc=Space_Separator}" +); +testPropertyEscapes( + /^\P{gc=Zs}+$/u, + nonMatchSymbols, + "\\P{gc=Zs}" +); +testPropertyEscapes( + /^\P{Space_Separator}+$/u, + nonMatchSymbols, + "\\P{Space_Separator}" +); +testPropertyEscapes( + /^\P{Zs}+$/u, + nonMatchSymbols, + "\\P{Zs}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js new file mode 100644 index 0000000000..8a2149040b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js @@ -0,0 +1,443 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Spacing_Mark` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000903, + 0x00093B, + 0x0009D7, + 0x000A03, + 0x000A83, + 0x000AC9, + 0x000B3E, + 0x000B40, + 0x000B57, + 0x000BD7, + 0x000CBE, + 0x000D57, + 0x000F7F, + 0x001031, + 0x001038, + 0x00108F, + 0x0017B6, + 0x001A55, + 0x001A57, + 0x001A61, + 0x001B04, + 0x001B35, + 0x001B3B, + 0x001B82, + 0x001BA1, + 0x001BAA, + 0x001BE7, + 0x001BEE, + 0x001CE1, + 0x001CF7, + 0x00A827, + 0x00A983, + 0x00AA4D, + 0x00AA7B, + 0x00AA7D, + 0x00AAEB, + 0x00AAF5, + 0x00ABEC, + 0x011000, + 0x011002, + 0x011082, + 0x01112C, + 0x011182, + 0x0111CE, + 0x011235, + 0x011357, + 0x011445, + 0x0114B9, + 0x0114C1, + 0x0115BE, + 0x01163E, + 0x0116AC, + 0x0116B6, + 0x011726, + 0x011838, + 0x01193D, + 0x011940, + 0x011942, + 0x0119E4, + 0x011A39, + 0x011A97, + 0x011C2F, + 0x011C3E, + 0x011CA9, + 0x011CB1, + 0x011CB4, + 0x011D96 + ], + ranges: [ + [0x00093E, 0x000940], + [0x000949, 0x00094C], + [0x00094E, 0x00094F], + [0x000982, 0x000983], + [0x0009BE, 0x0009C0], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CC], + [0x000A3E, 0x000A40], + [0x000ABE, 0x000AC0], + [0x000ACB, 0x000ACC], + [0x000B02, 0x000B03], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4C], + [0x000BBE, 0x000BBF], + [0x000BC1, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCC], + [0x000C01, 0x000C03], + [0x000C41, 0x000C44], + [0x000C82, 0x000C83], + [0x000CC0, 0x000CC4], + [0x000CC7, 0x000CC8], + [0x000CCA, 0x000CCB], + [0x000CD5, 0x000CD6], + [0x000D02, 0x000D03], + [0x000D3E, 0x000D40], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4C], + [0x000D82, 0x000D83], + [0x000DCF, 0x000DD1], + [0x000DD8, 0x000DDF], + [0x000DF2, 0x000DF3], + [0x000F3E, 0x000F3F], + [0x00102B, 0x00102C], + [0x00103B, 0x00103C], + [0x001056, 0x001057], + [0x001062, 0x001064], + [0x001067, 0x00106D], + [0x001083, 0x001084], + [0x001087, 0x00108C], + [0x00109A, 0x00109C], + [0x0017BE, 0x0017C5], + [0x0017C7, 0x0017C8], + [0x001923, 0x001926], + [0x001929, 0x00192B], + [0x001930, 0x001931], + [0x001933, 0x001938], + [0x001A19, 0x001A1A], + [0x001A63, 0x001A64], + [0x001A6D, 0x001A72], + [0x001B3D, 0x001B41], + [0x001B43, 0x001B44], + [0x001BA6, 0x001BA7], + [0x001BEA, 0x001BEC], + [0x001BF2, 0x001BF3], + [0x001C24, 0x001C2B], + [0x001C34, 0x001C35], + [0x00302E, 0x00302F], + [0x00A823, 0x00A824], + [0x00A880, 0x00A881], + [0x00A8B4, 0x00A8C3], + [0x00A952, 0x00A953], + [0x00A9B4, 0x00A9B5], + [0x00A9BA, 0x00A9BB], + [0x00A9BE, 0x00A9C0], + [0x00AA2F, 0x00AA30], + [0x00AA33, 0x00AA34], + [0x00AAEE, 0x00AAEF], + [0x00ABE3, 0x00ABE4], + [0x00ABE6, 0x00ABE7], + [0x00ABE9, 0x00ABEA], + [0x0110B0, 0x0110B2], + [0x0110B7, 0x0110B8], + [0x011145, 0x011146], + [0x0111B3, 0x0111B5], + [0x0111BF, 0x0111C0], + [0x01122C, 0x01122E], + [0x011232, 0x011233], + [0x0112E0, 0x0112E2], + [0x011302, 0x011303], + [0x01133E, 0x01133F], + [0x011341, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x011362, 0x011363], + [0x011435, 0x011437], + [0x011440, 0x011441], + [0x0114B0, 0x0114B2], + [0x0114BB, 0x0114BE], + [0x0115AF, 0x0115B1], + [0x0115B8, 0x0115BB], + [0x011630, 0x011632], + [0x01163B, 0x01163C], + [0x0116AE, 0x0116AF], + [0x011720, 0x011721], + [0x01182C, 0x01182E], + [0x011930, 0x011935], + [0x011937, 0x011938], + [0x0119D1, 0x0119D3], + [0x0119DC, 0x0119DF], + [0x011A57, 0x011A58], + [0x011D8A, 0x011D8E], + [0x011D93, 0x011D94], + [0x011EF5, 0x011EF6], + [0x016F51, 0x016F87], + [0x016FF0, 0x016FF1], + [0x01D165, 0x01D166], + [0x01D16D, 0x01D172] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Spacing_Mark}+$/u, + matchSymbols, + "\\p{General_Category=Spacing_Mark}" +); +testPropertyEscapes( + /^\p{General_Category=Mc}+$/u, + matchSymbols, + "\\p{General_Category=Mc}" +); +testPropertyEscapes( + /^\p{gc=Spacing_Mark}+$/u, + matchSymbols, + "\\p{gc=Spacing_Mark}" +); +testPropertyEscapes( + /^\p{gc=Mc}+$/u, + matchSymbols, + "\\p{gc=Mc}" +); +testPropertyEscapes( + /^\p{Spacing_Mark}+$/u, + matchSymbols, + "\\p{Spacing_Mark}" +); +testPropertyEscapes( + /^\p{Mc}+$/u, + matchSymbols, + "\\p{Mc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00094D, + 0x000ACA, + 0x000B3F, + 0x000BC0, + 0x000BC9, + 0x000CBF, + 0x000CC9, + 0x000D49, + 0x0017C6, + 0x001932, + 0x001A56, + 0x001A62, + 0x001B3C, + 0x001B42, + 0x001BED, + 0x00AA7C, + 0x00ABE5, + 0x00ABE8, + 0x00ABEB, + 0x011001, + 0x011234, + 0x011340, + 0x0114BA, + 0x01163D, + 0x0116AD, + 0x011936, + 0x011941, + 0x011D95 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000902], + [0x000904, 0x00093A], + [0x00093C, 0x00093D], + [0x000941, 0x000948], + [0x000950, 0x000981], + [0x000984, 0x0009BD], + [0x0009C1, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CD, 0x0009D6], + [0x0009D8, 0x000A02], + [0x000A04, 0x000A3D], + [0x000A41, 0x000A82], + [0x000A84, 0x000ABD], + [0x000AC1, 0x000AC8], + [0x000ACD, 0x000B01], + [0x000B04, 0x000B3D], + [0x000B41, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4D, 0x000B56], + [0x000B58, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCD, 0x000BD6], + [0x000BD8, 0x000C00], + [0x000C04, 0x000C40], + [0x000C45, 0x000C81], + [0x000C84, 0x000CBD], + [0x000CC5, 0x000CC6], + [0x000CCC, 0x000CD4], + [0x000CD7, 0x000D01], + [0x000D04, 0x000D3D], + [0x000D41, 0x000D45], + [0x000D4D, 0x000D56], + [0x000D58, 0x000D81], + [0x000D84, 0x000DCE], + [0x000DD2, 0x000DD7], + [0x000DE0, 0x000DF1], + [0x000DF4, 0x000F3D], + [0x000F40, 0x000F7E], + [0x000F80, 0x00102A], + [0x00102D, 0x001030], + [0x001032, 0x001037], + [0x001039, 0x00103A], + [0x00103D, 0x001055], + [0x001058, 0x001061], + [0x001065, 0x001066], + [0x00106E, 0x001082], + [0x001085, 0x001086], + [0x00108D, 0x00108E], + [0x001090, 0x001099], + [0x00109D, 0x0017B5], + [0x0017B7, 0x0017BD], + [0x0017C9, 0x001922], + [0x001927, 0x001928], + [0x00192C, 0x00192F], + [0x001939, 0x001A18], + [0x001A1B, 0x001A54], + [0x001A58, 0x001A60], + [0x001A65, 0x001A6C], + [0x001A73, 0x001B03], + [0x001B05, 0x001B34], + [0x001B36, 0x001B3A], + [0x001B45, 0x001B81], + [0x001B83, 0x001BA0], + [0x001BA2, 0x001BA5], + [0x001BA8, 0x001BA9], + [0x001BAB, 0x001BE6], + [0x001BE8, 0x001BE9], + [0x001BEF, 0x001BF1], + [0x001BF4, 0x001C23], + [0x001C2C, 0x001C33], + [0x001C36, 0x001CE0], + [0x001CE2, 0x001CF6], + [0x001CF8, 0x00302D], + [0x003030, 0x00A822], + [0x00A825, 0x00A826], + [0x00A828, 0x00A87F], + [0x00A882, 0x00A8B3], + [0x00A8C4, 0x00A951], + [0x00A954, 0x00A982], + [0x00A984, 0x00A9B3], + [0x00A9B6, 0x00A9B9], + [0x00A9BC, 0x00A9BD], + [0x00A9C1, 0x00AA2E], + [0x00AA31, 0x00AA32], + [0x00AA35, 0x00AA4C], + [0x00AA4E, 0x00AA7A], + [0x00AA7E, 0x00AAEA], + [0x00AAEC, 0x00AAED], + [0x00AAF0, 0x00AAF4], + [0x00AAF6, 0x00ABE2], + [0x00ABED, 0x00DBFF], + [0x00E000, 0x010FFF], + [0x011003, 0x011081], + [0x011083, 0x0110AF], + [0x0110B3, 0x0110B6], + [0x0110B9, 0x01112B], + [0x01112D, 0x011144], + [0x011147, 0x011181], + [0x011183, 0x0111B2], + [0x0111B6, 0x0111BE], + [0x0111C1, 0x0111CD], + [0x0111CF, 0x01122B], + [0x01122F, 0x011231], + [0x011236, 0x0112DF], + [0x0112E3, 0x011301], + [0x011304, 0x01133D], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x011356], + [0x011358, 0x011361], + [0x011364, 0x011434], + [0x011438, 0x01143F], + [0x011442, 0x011444], + [0x011446, 0x0114AF], + [0x0114B3, 0x0114B8], + [0x0114BF, 0x0114C0], + [0x0114C2, 0x0115AE], + [0x0115B2, 0x0115B7], + [0x0115BC, 0x0115BD], + [0x0115BF, 0x01162F], + [0x011633, 0x01163A], + [0x01163F, 0x0116AB], + [0x0116B0, 0x0116B5], + [0x0116B7, 0x01171F], + [0x011722, 0x011725], + [0x011727, 0x01182B], + [0x01182F, 0x011837], + [0x011839, 0x01192F], + [0x011939, 0x01193C], + [0x01193E, 0x01193F], + [0x011943, 0x0119D0], + [0x0119D4, 0x0119DB], + [0x0119E0, 0x0119E3], + [0x0119E5, 0x011A38], + [0x011A3A, 0x011A56], + [0x011A59, 0x011A96], + [0x011A98, 0x011C2E], + [0x011C30, 0x011C3D], + [0x011C3F, 0x011CA8], + [0x011CAA, 0x011CB0], + [0x011CB2, 0x011CB3], + [0x011CB5, 0x011D89], + [0x011D8F, 0x011D92], + [0x011D97, 0x011EF4], + [0x011EF7, 0x016F50], + [0x016F88, 0x016FEF], + [0x016FF2, 0x01D164], + [0x01D167, 0x01D16C], + [0x01D173, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Spacing_Mark}+$/u, + nonMatchSymbols, + "\\P{General_Category=Spacing_Mark}" +); +testPropertyEscapes( + /^\P{General_Category=Mc}+$/u, + nonMatchSymbols, + "\\P{General_Category=Mc}" +); +testPropertyEscapes( + /^\P{gc=Spacing_Mark}+$/u, + nonMatchSymbols, + "\\P{gc=Spacing_Mark}" +); +testPropertyEscapes( + /^\P{gc=Mc}+$/u, + nonMatchSymbols, + "\\P{gc=Mc}" +); +testPropertyEscapes( + /^\P{Spacing_Mark}+$/u, + nonMatchSymbols, + "\\P{Spacing_Mark}" +); +testPropertyEscapes( + /^\P{Mc}+$/u, + nonMatchSymbols, + "\\P{Mc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Surrogate.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Surrogate.js new file mode 100644 index 0000000000..06197c06f5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Surrogate.js @@ -0,0 +1,92 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Surrogate` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x00D800, 0x00DBFF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Surrogate}+$/u, + matchSymbols, + "\\p{General_Category=Surrogate}" +); +testPropertyEscapes( + /^\p{General_Category=Cs}+$/u, + matchSymbols, + "\\p{General_Category=Cs}" +); +testPropertyEscapes( + /^\p{gc=Surrogate}+$/u, + matchSymbols, + "\\p{gc=Surrogate}" +); +testPropertyEscapes( + /^\p{gc=Cs}+$/u, + matchSymbols, + "\\p{gc=Cs}" +); +testPropertyEscapes( + /^\p{Surrogate}+$/u, + matchSymbols, + "\\p{Surrogate}" +); +testPropertyEscapes( + /^\p{Cs}+$/u, + matchSymbols, + "\\p{Cs}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00D7FF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Surrogate}+$/u, + nonMatchSymbols, + "\\P{General_Category=Surrogate}" +); +testPropertyEscapes( + /^\P{General_Category=Cs}+$/u, + nonMatchSymbols, + "\\P{General_Category=Cs}" +); +testPropertyEscapes( + /^\P{gc=Surrogate}+$/u, + nonMatchSymbols, + "\\P{gc=Surrogate}" +); +testPropertyEscapes( + /^\P{gc=Cs}+$/u, + nonMatchSymbols, + "\\P{gc=Cs}" +); +testPropertyEscapes( + /^\P{Surrogate}+$/u, + nonMatchSymbols, + "\\P{Surrogate}" +); +testPropertyEscapes( + /^\P{Cs}+$/u, + nonMatchSymbols, + "\\P{Cs}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js new file mode 100644 index 0000000000..d50af24bff --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js @@ -0,0 +1,551 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Symbol` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000024, + 0x00002B, + 0x00005E, + 0x000060, + 0x00007C, + 0x00007E, + 0x0000AC, + 0x0000B4, + 0x0000B8, + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x0003F6, + 0x000482, + 0x00060B, + 0x0006DE, + 0x0006E9, + 0x0007F6, + 0x000AF1, + 0x000B70, + 0x000C7F, + 0x000D4F, + 0x000D79, + 0x000E3F, + 0x000F13, + 0x000F34, + 0x000F36, + 0x000F38, + 0x00166D, + 0x0017DB, + 0x001940, + 0x001FBD, + 0x002044, + 0x002052, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x00212E, + 0x00214F, + 0x003004, + 0x003020, + 0x003250, + 0x00AB5B, + 0x00FB29, + 0x00FE62, + 0x00FE69, + 0x00FF04, + 0x00FF0B, + 0x00FF3E, + 0x00FF40, + 0x00FF5C, + 0x00FF5E, + 0x0101A0, + 0x010AC8, + 0x01173F, + 0x016B45, + 0x01BC9C, + 0x01D245, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01E14F, + 0x01E2FF, + 0x01ECAC, + 0x01ECB0, + 0x01ED2E + ], + ranges: [ + [0x00003C, 0x00003E], + [0x0000A2, 0x0000A6], + [0x0000A8, 0x0000A9], + [0x0000AE, 0x0000B1], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x0002FF], + [0x000384, 0x000385], + [0x00058D, 0x00058F], + [0x000606, 0x000608], + [0x00060E, 0x00060F], + [0x0006FD, 0x0006FE], + [0x0007FE, 0x0007FF], + [0x0009F2, 0x0009F3], + [0x0009FA, 0x0009FB], + [0x000BF3, 0x000BFA], + [0x000F01, 0x000F03], + [0x000F15, 0x000F17], + [0x000F1A, 0x000F1F], + [0x000FBE, 0x000FC5], + [0x000FC7, 0x000FCC], + [0x000FCE, 0x000FCF], + [0x000FD5, 0x000FD8], + [0x00109E, 0x00109F], + [0x001390, 0x001399], + [0x0019DE, 0x0019FF], + [0x001B61, 0x001B6A], + [0x001B74, 0x001B7C], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FDD, 0x001FDF], + [0x001FED, 0x001FEF], + [0x001FFD, 0x001FFE], + [0x00207A, 0x00207C], + [0x00208A, 0x00208C], + [0x0020A0, 0x0020BF], + [0x002100, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00218A, 0x00218B], + [0x002190, 0x002307], + [0x00230C, 0x002328], + [0x00232B, 0x002426], + [0x002440, 0x00244A], + [0x00249C, 0x0024E9], + [0x002500, 0x002767], + [0x002794, 0x0027C4], + [0x0027C7, 0x0027E5], + [0x0027F0, 0x002982], + [0x002999, 0x0029D7], + [0x0029DC, 0x0029FB], + [0x0029FE, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002E50, 0x002E51], + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x002FF0, 0x002FFB], + [0x003012, 0x003013], + [0x003036, 0x003037], + [0x00303E, 0x00303F], + [0x00309B, 0x00309C], + [0x003190, 0x003191], + [0x003196, 0x00319F], + [0x0031C0, 0x0031E3], + [0x003200, 0x00321E], + [0x00322A, 0x003247], + [0x003260, 0x00327F], + [0x00328A, 0x0032B0], + [0x0032C0, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x00A490, 0x00A4C6], + [0x00A700, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A828, 0x00A82B], + [0x00A836, 0x00A839], + [0x00AA77, 0x00AA79], + [0x00AB6A, 0x00AB6B], + [0x00FBB2, 0x00FBC1], + [0x00FDFC, 0x00FDFD], + [0x00FE64, 0x00FE66], + [0x00FF1C, 0x00FF1E], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFFC, 0x00FFFD], + [0x010137, 0x01013F], + [0x010179, 0x010189], + [0x01018C, 0x01018E], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FC], + [0x010877, 0x010878], + [0x011FD5, 0x011FF1], + [0x016B3C, 0x016B3F], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D164], + [0x01D16A, 0x01D16C], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D1E8], + [0x01D200, 0x01D241], + [0x01D300, 0x01D356], + [0x01D800, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA86], + [0x01EEF0, 0x01EEF1], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F10D, 0x01F1AD], + [0x01F1E6, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Symbol}+$/u, + matchSymbols, + "\\p{General_Category=Symbol}" +); +testPropertyEscapes( + /^\p{General_Category=S}+$/u, + matchSymbols, + "\\p{General_Category=S}" +); +testPropertyEscapes( + /^\p{gc=Symbol}+$/u, + matchSymbols, + "\\p{gc=Symbol}" +); +testPropertyEscapes( + /^\p{gc=S}+$/u, + matchSymbols, + "\\p{gc=S}" +); +testPropertyEscapes( + /^\p{Symbol}+$/u, + matchSymbols, + "\\p{Symbol}" +); +testPropertyEscapes( + /^\p{S}+$/u, + matchSymbols, + "\\p{S}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x00007D, + 0x0000A7, + 0x0000AD, + 0x0002EC, + 0x0002EE, + 0x000F14, + 0x000F35, + 0x000F37, + 0x000FC6, + 0x000FCD, + 0x001FBE, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002B96, + 0x002E9A, + 0x00FE63, + 0x00FF3F, + 0x00FF5D, + 0x00FFE7, + 0x01018F, + 0x01DA75, + 0x01DA84, + 0x01F0C0, + 0x01F0D0, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000023], + [0x000025, 0x00002A], + [0x00002C, 0x00003B], + [0x00003F, 0x00005D], + [0x000061, 0x00007B], + [0x00007F, 0x0000A1], + [0x0000AA, 0x0000AB], + [0x0000B2, 0x0000B3], + [0x0000B5, 0x0000B7], + [0x0000B9, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000300, 0x000374], + [0x000376, 0x000383], + [0x000386, 0x0003F5], + [0x0003F7, 0x000481], + [0x000483, 0x00058C], + [0x000590, 0x000605], + [0x000609, 0x00060A], + [0x00060C, 0x00060D], + [0x000610, 0x0006DD], + [0x0006DF, 0x0006E8], + [0x0006EA, 0x0006FC], + [0x0006FF, 0x0007F5], + [0x0007F7, 0x0007FD], + [0x000800, 0x0009F1], + [0x0009F4, 0x0009F9], + [0x0009FC, 0x000AF0], + [0x000AF2, 0x000B6F], + [0x000B71, 0x000BF2], + [0x000BFB, 0x000C7E], + [0x000C80, 0x000D4E], + [0x000D50, 0x000D78], + [0x000D7A, 0x000E3E], + [0x000E40, 0x000F00], + [0x000F04, 0x000F12], + [0x000F18, 0x000F19], + [0x000F20, 0x000F33], + [0x000F39, 0x000FBD], + [0x000FD0, 0x000FD4], + [0x000FD9, 0x00109D], + [0x0010A0, 0x00138F], + [0x00139A, 0x00166C], + [0x00166E, 0x0017DA], + [0x0017DC, 0x00193F], + [0x001941, 0x0019DD], + [0x001A00, 0x001B60], + [0x001B6B, 0x001B73], + [0x001B7D, 0x001FBC], + [0x001FC2, 0x001FCC], + [0x001FD0, 0x001FDC], + [0x001FE0, 0x001FEC], + [0x001FF0, 0x001FFC], + [0x001FFF, 0x002043], + [0x002045, 0x002051], + [0x002053, 0x002079], + [0x00207D, 0x002089], + [0x00208D, 0x00209F], + [0x0020C0, 0x0020FF], + [0x00210A, 0x002113], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x00212F, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002150, 0x002189], + [0x00218C, 0x00218F], + [0x002308, 0x00230B], + [0x002329, 0x00232A], + [0x002427, 0x00243F], + [0x00244B, 0x00249B], + [0x0024EA, 0x0024FF], + [0x002768, 0x002793], + [0x0027C5, 0x0027C6], + [0x0027E6, 0x0027EF], + [0x002983, 0x002998], + [0x0029D8, 0x0029DB], + [0x0029FC, 0x0029FD], + [0x002B74, 0x002B75], + [0x002C00, 0x002CE4], + [0x002CEB, 0x002E4F], + [0x002E52, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FEF], + [0x002FFC, 0x003003], + [0x003005, 0x003011], + [0x003014, 0x00301F], + [0x003021, 0x003035], + [0x003038, 0x00303D], + [0x003040, 0x00309A], + [0x00309D, 0x00318F], + [0x003192, 0x003195], + [0x0031A0, 0x0031BF], + [0x0031E4, 0x0031FF], + [0x00321F, 0x003229], + [0x003248, 0x00324F], + [0x003251, 0x00325F], + [0x003280, 0x003289], + [0x0032B1, 0x0032BF], + [0x003400, 0x004DBF], + [0x004E00, 0x00A48F], + [0x00A4C7, 0x00A6FF], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A827], + [0x00A82C, 0x00A835], + [0x00A83A, 0x00AA76], + [0x00AA7A, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB6C, 0x00DBFF], + [0x00E000, 0x00FB28], + [0x00FB2A, 0x00FBB1], + [0x00FBC2, 0x00FDFB], + [0x00FDFE, 0x00FE61], + [0x00FE67, 0x00FE68], + [0x00FE6A, 0x00FF03], + [0x00FF05, 0x00FF0A], + [0x00FF0C, 0x00FF1B], + [0x00FF1F, 0x00FF3D], + [0x00FF41, 0x00FF5B], + [0x00FF5F, 0x00FFDF], + [0x00FFEF, 0x00FFFB], + [0x00FFFE, 0x010136], + [0x010140, 0x010178], + [0x01018A, 0x01018B], + [0x01019D, 0x01019F], + [0x0101A1, 0x0101CF], + [0x0101FD, 0x010876], + [0x010879, 0x010AC7], + [0x010AC9, 0x01173E], + [0x011740, 0x011FD4], + [0x011FF2, 0x016B3B], + [0x016B40, 0x016B44], + [0x016B46, 0x01BC9B], + [0x01BC9D, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D165, 0x01D169], + [0x01D16D, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D1E9, 0x01D1FF], + [0x01D242, 0x01D244], + [0x01D246, 0x01D2FF], + [0x01D357, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7FF], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA87, 0x01E14E], + [0x01E150, 0x01E2FE], + [0x01E300, 0x01ECAB], + [0x01ECAD, 0x01ECAF], + [0x01ECB1, 0x01ED2D], + [0x01ED2F, 0x01EEEF], + [0x01EEF2, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F10C], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Symbol}+$/u, + nonMatchSymbols, + "\\P{General_Category=Symbol}" +); +testPropertyEscapes( + /^\P{General_Category=S}+$/u, + nonMatchSymbols, + "\\P{General_Category=S}" +); +testPropertyEscapes( + /^\P{gc=Symbol}+$/u, + nonMatchSymbols, + "\\P{gc=Symbol}" +); +testPropertyEscapes( + /^\P{gc=S}+$/u, + nonMatchSymbols, + "\\P{gc=S}" +); +testPropertyEscapes( + /^\P{Symbol}+$/u, + nonMatchSymbols, + "\\P{Symbol}" +); +testPropertyEscapes( + /^\P{S}+$/u, + nonMatchSymbols, + "\\P{S}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Titlecase_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Titlecase_Letter.js new file mode 100644 index 0000000000..783fd85fe6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Titlecase_Letter.js @@ -0,0 +1,112 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Titlecase_Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0001C5, + 0x0001C8, + 0x0001CB, + 0x0001F2, + 0x001FBC, + 0x001FCC, + 0x001FFC + ], + ranges: [ + [0x001F88, 0x001F8F], + [0x001F98, 0x001F9F], + [0x001FA8, 0x001FAF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Titlecase_Letter}+$/u, + matchSymbols, + "\\p{General_Category=Titlecase_Letter}" +); +testPropertyEscapes( + /^\p{General_Category=Lt}+$/u, + matchSymbols, + "\\p{General_Category=Lt}" +); +testPropertyEscapes( + /^\p{gc=Titlecase_Letter}+$/u, + matchSymbols, + "\\p{gc=Titlecase_Letter}" +); +testPropertyEscapes( + /^\p{gc=Lt}+$/u, + matchSymbols, + "\\p{gc=Lt}" +); +testPropertyEscapes( + /^\p{Titlecase_Letter}+$/u, + matchSymbols, + "\\p{Titlecase_Letter}" +); +testPropertyEscapes( + /^\p{Lt}+$/u, + matchSymbols, + "\\p{Lt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0001C4], + [0x0001C6, 0x0001C7], + [0x0001C9, 0x0001CA], + [0x0001CC, 0x0001F1], + [0x0001F3, 0x001F87], + [0x001F90, 0x001F97], + [0x001FA0, 0x001FA7], + [0x001FB0, 0x001FBB], + [0x001FBD, 0x001FCB], + [0x001FCD, 0x001FFB], + [0x001FFD, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Titlecase_Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Titlecase_Letter}" +); +testPropertyEscapes( + /^\P{General_Category=Lt}+$/u, + nonMatchSymbols, + "\\P{General_Category=Lt}" +); +testPropertyEscapes( + /^\P{gc=Titlecase_Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Titlecase_Letter}" +); +testPropertyEscapes( + /^\P{gc=Lt}+$/u, + nonMatchSymbols, + "\\P{gc=Lt}" +); +testPropertyEscapes( + /^\P{Titlecase_Letter}+$/u, + nonMatchSymbols, + "\\P{Titlecase_Letter}" +); +testPropertyEscapes( + /^\P{Lt}+$/u, + nonMatchSymbols, + "\\P{Lt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js new file mode 100644 index 0000000000..e75a91f740 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js @@ -0,0 +1,1446 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Unassigned` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00038B, + 0x00038D, + 0x0003A2, + 0x000530, + 0x000590, + 0x00061D, + 0x00070E, + 0x00083F, + 0x00085F, + 0x0008B5, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA, + 0x000B00, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49, + 0x000D80, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7, + 0x000F48, + 0x000F98, + 0x000FBD, + 0x000FCD, + 0x0010C6, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x00170D, + 0x00176D, + 0x001771, + 0x00180F, + 0x00191F, + 0x001A5F, + 0x001DFA, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FC5, + 0x001FDC, + 0x001FF5, + 0x001FFF, + 0x002065, + 0x00208F, + 0x002B96, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002DDF, + 0x002E9A, + 0x003040, + 0x003130, + 0x00318F, + 0x00321F, + 0x00A9CE, + 0x00A9FF, + 0x00AB27, + 0x00AB2F, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE53, + 0x00FE67, + 0x00FE75, + 0x00FF00, + 0x00FFE7, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x01018F, + 0x01039E, + 0x010809, + 0x010836, + 0x010856, + 0x0108F3, + 0x010A04, + 0x010A14, + 0x010A18, + 0x010E7F, + 0x010EAA, + 0x011135, + 0x0111E0, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133A, + 0x01145C, + 0x011914, + 0x011917, + 0x011936, + 0x011C09, + 0x011C37, + 0x011CA8, + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E, + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92, + 0x01246F, + 0x01342F, + 0x016A5F, + 0x016B5A, + 0x016B62, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA, + 0x01F0C0, + 0x01F0D0, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x000378, 0x000379], + [0x000380, 0x000383], + [0x000557, 0x000558], + [0x00058B, 0x00058C], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F5, 0x0005FF], + [0x00074B, 0x00074C], + [0x0007B2, 0x0007BF], + [0x0007FB, 0x0007FC], + [0x00082E, 0x00082F], + [0x00085C, 0x00085D], + [0x00086B, 0x00089F], + [0x0008C8, 0x0008D2], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009FF, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A77, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF2, 0x000AF8], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B78, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BFB, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C76], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x000CFF], + [0x000D50, 0x000D53], + [0x000D64, 0x000D65], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF5, 0x000E00], + [0x000E3B, 0x000E3E], + [0x000E5C, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F6D, 0x000F70], + [0x000FDB, 0x000FFF], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x00137D, 0x00137F], + [0x00139A, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x0013FF], + [0x00169D, 0x00169F], + [0x0016F9, 0x0016FF], + [0x001715, 0x00171F], + [0x001737, 0x00173F], + [0x001754, 0x00175F], + [0x001774, 0x00177F], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x0017FF], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x00193F], + [0x001941, 0x001943], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019DD], + [0x001A1C, 0x001A1D], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001A9F], + [0x001AAE, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B7D, 0x001B7F], + [0x001BF4, 0x001BFB], + [0x001C38, 0x001C3A], + [0x001C4A, 0x001C4C], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC8, 0x001CCF], + [0x001CFB, 0x001CFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FD4, 0x001FD5], + [0x001FF0, 0x001FF1], + [0x002072, 0x002073], + [0x00209D, 0x00209F], + [0x0020C0, 0x0020CF], + [0x0020F1, 0x0020FF], + [0x00218C, 0x00218F], + [0x002427, 0x00243F], + [0x00244B, 0x00245F], + [0x002B74, 0x002B75], + [0x002CF4, 0x002CF8], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D71, 0x002D7E], + [0x002D97, 0x002D9F], + [0x002E53, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FEF], + [0x002FFC, 0x002FFF], + [0x003097, 0x003098], + [0x003100, 0x003104], + [0x0031E4, 0x0031EF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A48F], + [0x00A4C7, 0x00A4CF], + [0x00A62C, 0x00A63F], + [0x00A6F8, 0x00A6FF], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A82D, 0x00A82F], + [0x00A83A, 0x00A83F], + [0x00A878, 0x00A87F], + [0x00A8C6, 0x00A8CD], + [0x00A8DA, 0x00A8DF], + [0x00A954, 0x00A95E], + [0x00A97D, 0x00A97F], + [0x00A9DA, 0x00A9DD], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5B], + [0x00AAC3, 0x00AADA], + [0x00AAF7, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6C, 0x00AB6F], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00D7FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBC2, 0x00FBD2], + [0x00FD40, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFE, 0x00FDFF], + [0x00FE1A, 0x00FE1F], + [0x00FE6C, 0x00FE6F], + [0x00FEFD, 0x00FEFE], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFDF], + [0x00FFEF, 0x00FFF8], + [0x00FFFE, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x01019D, 0x01019F], + [0x0101A1, 0x0101CF], + [0x0101FE, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102DF], + [0x0102FC, 0x0102FF], + [0x010324, 0x01032C], + [0x01034B, 0x01034F], + [0x01037B, 0x01037F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x01049F], + [0x0104AA, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x01056E], + [0x010570, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x01089F, 0x0108A6], + [0x0108B0, 0x0108DF], + [0x0108F6, 0x0108FA], + [0x01091C, 0x01091E], + [0x01093A, 0x01093E], + [0x010940, 0x01097F], + [0x0109B8, 0x0109BB], + [0x0109D0, 0x0109D1], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A49, 0x010A4F], + [0x010A59, 0x010A5F], + [0x010AA0, 0x010ABF], + [0x010AE7, 0x010AEA], + [0x010AF7, 0x010AFF], + [0x010B36, 0x010B38], + [0x010B56, 0x010B57], + [0x010B73, 0x010B77], + [0x010B92, 0x010B98], + [0x010B9D, 0x010BA8], + [0x010BB0, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CF9], + [0x010D28, 0x010D2F], + [0x010D3A, 0x010E5F], + [0x010EAE, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F28, 0x010F2F], + [0x010F5A, 0x010FAF], + [0x010FCC, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x01104E, 0x011051], + [0x011070, 0x01107E], + [0x0110C2, 0x0110CC], + [0x0110CE, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x0110FF], + [0x011148, 0x01114F], + [0x011177, 0x01117F], + [0x0111F5, 0x0111FF], + [0x01123F, 0x01127F], + [0x0112AA, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x0113FF], + [0x011462, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115DE, 0x0115FF], + [0x011645, 0x01164F], + [0x01165A, 0x01165F], + [0x01166D, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x011740, 0x0117FF], + [0x01183C, 0x01189F], + [0x0118F3, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011947, 0x01194F], + [0x01195A, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x0119FF], + [0x011A48, 0x011A4F], + [0x011AA3, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C46, 0x011C4F], + [0x011C6D, 0x011C6F], + [0x011C90, 0x011C91], + [0x011CB7, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x011EDF], + [0x011EF9, 0x011FAF], + [0x011FB1, 0x011FBF], + [0x011FF2, 0x011FFE], + [0x01239A, 0x0123FF], + [0x012475, 0x01247F], + [0x012544, 0x012FFF], + [0x013439, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A6A, 0x016A6D], + [0x016A70, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF6, 0x016AFF], + [0x016B46, 0x016B4F], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E9B, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE5, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9B], + [0x01BCA4, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D1E9, 0x01D1FF], + [0x01D246, 0x01D2DF], + [0x01D2F4, 0x01D2FF], + [0x01D357, 0x01D35F], + [0x01D379, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01DA8C, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E150, 0x01E2BF], + [0x01E2FA, 0x01E2FE], + [0x01E300, 0x01E7FF], + [0x01E8C5, 0x01E8C6], + [0x01E8D7, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01E95D], + [0x01E960, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F0FF], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x01FBEF], + [0x01FBFA, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x0E0000], + [0x0E0002, 0x0E001F], + [0x0E0080, 0x0E00FF], + [0x0E01F0, 0x0EFFFF], + [0x0FFFFE, 0x0FFFFF], + [0x10FFFE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Unassigned}+$/u, + matchSymbols, + "\\p{General_Category=Unassigned}" +); +testPropertyEscapes( + /^\p{General_Category=Cn}+$/u, + matchSymbols, + "\\p{General_Category=Cn}" +); +testPropertyEscapes( + /^\p{gc=Unassigned}+$/u, + matchSymbols, + "\\p{gc=Unassigned}" +); +testPropertyEscapes( + /^\p{gc=Cn}+$/u, + matchSymbols, + "\\p{gc=Cn}" +); +testPropertyEscapes( + /^\p{Unassigned}+$/u, + matchSymbols, + "\\p{Unassigned}" +); +testPropertyEscapes( + /^\p{Cn}+$/u, + matchSymbols, + "\\p{Cn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00038C, + 0x00085E, + 0x0009B2, + 0x0009D7, + 0x000A3C, + 0x000A51, + 0x000A5E, + 0x000AD0, + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x000CDE, + 0x000DBD, + 0x000DCA, + 0x000DD6, + 0x000E84, + 0x000EA5, + 0x000EC6, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x001940, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x002D27, + 0x002D2D, + 0x00FB3E, + 0x00FEFF, + 0x0101A0, + 0x01056F, + 0x010808, + 0x01083C, + 0x01093F, + 0x0110CD, + 0x011288, + 0x011350, + 0x011357, + 0x011909, + 0x011D3A, + 0x011FB0, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E2FF, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E, + 0x0E0001 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000377], + [0x00037A, 0x00037F], + [0x000384, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x00052F], + [0x000531, 0x000556], + [0x000559, 0x00058A], + [0x00058D, 0x00058F], + [0x000591, 0x0005C7], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F4], + [0x000600, 0x00061C], + [0x00061E, 0x00070D], + [0x00070F, 0x00074A], + [0x00074D, 0x0007B1], + [0x0007C0, 0x0007FA], + [0x0007FD, 0x00082D], + [0x000830, 0x00083E], + [0x000840, 0x00085B], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009FE], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A76], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AF1], + [0x000AF9, 0x000AFF], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B77], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BFA], + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C77, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4F], + [0x000D54, 0x000D63], + [0x000D66, 0x000D7F], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF4], + [0x000E01, 0x000E3A], + [0x000E3F, 0x000E5B], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF], + [0x000F00, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F97], + [0x000F99, 0x000FBC], + [0x000FBE, 0x000FCC], + [0x000FCE, 0x000FDA], + [0x001000, 0x0010C5], + [0x0010D0, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00137C], + [0x001380, 0x001399], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001400, 0x00169C], + [0x0016A0, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001714], + [0x001720, 0x001736], + [0x001740, 0x001753], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773], + [0x001780, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x001800, 0x00180E], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001944, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x0019DE, 0x001A1B], + [0x001A1E, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AA0, 0x001AAD], + [0x001AB0, 0x001AC0], + [0x001B00, 0x001B4B], + [0x001B50, 0x001B7C], + [0x001B80, 0x001BF3], + [0x001BFC, 0x001C37], + [0x001C3B, 0x001C49], + [0x001C4D, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CC7], + [0x001CD0, 0x001CFA], + [0x001D00, 0x001DF9], + [0x001DFB, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FC4], + [0x001FC6, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FDD, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFE], + [0x002000, 0x002064], + [0x002066, 0x002071], + [0x002074, 0x00208E], + [0x002090, 0x00209C], + [0x0020A0, 0x0020BF], + [0x0020D0, 0x0020F0], + [0x002100, 0x00218B], + [0x002190, 0x002426], + [0x002440, 0x00244A], + [0x002460, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CF3], + [0x002CF9, 0x002D25], + [0x002D30, 0x002D67], + [0x002D6F, 0x002D70], + [0x002D7F, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002DE0, 0x002E52], + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x002FF0, 0x002FFB], + [0x003000, 0x00303F], + [0x003041, 0x003096], + [0x003099, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x003190, 0x0031E3], + [0x0031F0, 0x00321E], + [0x003220, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A490, 0x00A4C6], + [0x00A4D0, 0x00A62B], + [0x00A640, 0x00A6F7], + [0x00A700, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A82C], + [0x00A830, 0x00A839], + [0x00A840, 0x00A877], + [0x00A880, 0x00A8C5], + [0x00A8CE, 0x00A8D9], + [0x00A8E0, 0x00A953], + [0x00A95F, 0x00A97C], + [0x00A980, 0x00A9CD], + [0x00A9CF, 0x00A9D9], + [0x00A9DE, 0x00A9FE], + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA5C, 0x00AAC2], + [0x00AADB, 0x00AAF6], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB6B], + [0x00AB70, 0x00ABED], + [0x00ABF0, 0x00ABF9], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00D800, 0x00DBFF], + [0x00E000, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1D, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBC1], + [0x00FBD3, 0x00FD3F], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFD], + [0x00FE00, 0x00FE19], + [0x00FE20, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF01, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFF9, 0x00FFFD], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01018E], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FD], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x0102E0, 0x0102FB], + [0x010300, 0x010323], + [0x01032D, 0x01034A], + [0x010350, 0x01037A], + [0x010380, 0x01039D], + [0x01039F, 0x0103C3], + [0x0103C8, 0x0103D5], + [0x010400, 0x01049D], + [0x0104A0, 0x0104A9], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010857, 0x01089E], + [0x0108A7, 0x0108AF], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x0108FB, 0x01091B], + [0x01091F, 0x010939], + [0x010980, 0x0109B7], + [0x0109BC, 0x0109CF], + [0x0109D2, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A3F, 0x010A48], + [0x010A50, 0x010A58], + [0x010A60, 0x010A9F], + [0x010AC0, 0x010AE6], + [0x010AEB, 0x010AF6], + [0x010B00, 0x010B35], + [0x010B39, 0x010B55], + [0x010B58, 0x010B72], + [0x010B78, 0x010B91], + [0x010B99, 0x010B9C], + [0x010BA9, 0x010BAF], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010CFA, 0x010D27], + [0x010D30, 0x010D39], + [0x010E60, 0x010E7E], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAD], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F27], + [0x010F30, 0x010F59], + [0x010FB0, 0x010FCB], + [0x010FE0, 0x010FF6], + [0x011000, 0x01104D], + [0x011052, 0x01106F], + [0x01107F, 0x0110C1], + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9], + [0x011100, 0x011134], + [0x011136, 0x011147], + [0x011150, 0x011176], + [0x011180, 0x0111DF], + [0x0111E1, 0x0111F4], + [0x011200, 0x011211], + [0x011213, 0x01123E], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A9], + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133B, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011400, 0x01145B], + [0x01145D, 0x011461], + [0x011480, 0x0114C7], + [0x0114D0, 0x0114D9], + [0x011580, 0x0115B5], + [0x0115B8, 0x0115DD], + [0x011600, 0x011644], + [0x011650, 0x011659], + [0x011660, 0x01166C], + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9], + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x01173F], + [0x011800, 0x01183B], + [0x0118A0, 0x0118F2], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011946], + [0x011950, 0x011959], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E4], + [0x011A00, 0x011A47], + [0x011A50, 0x011AA2], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C45], + [0x011C50, 0x011C6C], + [0x011C70, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9], + [0x011EE0, 0x011EF8], + [0x011FC0, 0x011FF1], + [0x011FFF, 0x012399], + [0x012400, 0x01246E], + [0x012470, 0x012474], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x013430, 0x013438], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016A6E, 0x016A6F], + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF5], + [0x016B00, 0x016B45], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E9A], + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE4], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9C, 0x01BCA3], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D1E8], + [0x01D200, 0x01D245], + [0x01D2E0, 0x01D2F3], + [0x01D300, 0x01D356], + [0x01D360, 0x01D378], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01DA8B], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E14E, 0x01E14F], + [0x01E2C0, 0x01E2F9], + [0x01E800, 0x01E8C4], + [0x01E8C7, 0x01E8D6], + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01E95E, 0x01E95F], + [0x01EC71, 0x01ECB4], + [0x01ED01, 0x01ED3D], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F100, 0x01F1AD], + [0x01F1E6, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA], + [0x01FBF0, 0x01FBF9], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A], + [0x0E0020, 0x0E007F], + [0x0E0100, 0x0E01EF], + [0x0F0000, 0x0FFFFD], + [0x100000, 0x10FFFD] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Unassigned}+$/u, + nonMatchSymbols, + "\\P{General_Category=Unassigned}" +); +testPropertyEscapes( + /^\P{General_Category=Cn}+$/u, + nonMatchSymbols, + "\\P{General_Category=Cn}" +); +testPropertyEscapes( + /^\P{gc=Unassigned}+$/u, + nonMatchSymbols, + "\\P{gc=Unassigned}" +); +testPropertyEscapes( + /^\P{gc=Cn}+$/u, + nonMatchSymbols, + "\\P{gc=Cn}" +); +testPropertyEscapes( + /^\P{Unassigned}+$/u, + nonMatchSymbols, + "\\P{Unassigned}" +); +testPropertyEscapes( + /^\P{Cn}+$/u, + nonMatchSymbols, + "\\P{Cn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js new file mode 100644 index 0000000000..85d4825b11 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js @@ -0,0 +1,1369 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `General_Category=Uppercase_Letter` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001BC, + 0x0001C4, + 0x0001C7, + 0x0001CA, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F1, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000370, + 0x000372, + 0x000376, + 0x00037F, + 0x000386, + 0x00038C, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x0003F7, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048A, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x0010C7, + 0x0010CD, + 0x001E00, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001F5F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x002145, + 0x002183, + 0x002C60, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CEB, + 0x002CED, + 0x002CF2, + 0x00A640, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A680, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A722, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78B, + 0x00A78D, + 0x00A790, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C2, + 0x00A7C9, + 0x00A7F5, + 0x01D49C, + 0x01D4A2, + 0x01D546, + 0x01D7CA + ], + ranges: [ + [0x000041, 0x00005A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000DE], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x000388, 0x00038A], + [0x00038E, 0x00038F], + [0x000391, 0x0003A1], + [0x0003A3, 0x0003AB], + [0x0003D2, 0x0003D4], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x0004C0, 0x0004C1], + [0x000531, 0x000556], + [0x0010A0, 0x0010C5], + [0x0013A0, 0x0013F5], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001F08, 0x001F0F], + [0x001F18, 0x001F1D], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F48, 0x001F4D], + [0x001F68, 0x001F6F], + [0x001FB8, 0x001FBB], + [0x001FC8, 0x001FCB], + [0x001FD8, 0x001FDB], + [0x001FE8, 0x001FEC], + [0x001FF8, 0x001FFB], + [0x00210B, 0x00210D], + [0x002110, 0x002112], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x002130, 0x002133], + [0x00213E, 0x00213F], + [0x002C00, 0x002C2E], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7E, 0x002C80], + [0x00A77D, 0x00A77E], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C4, 0x00A7C7], + [0x00FF21, 0x00FF3A], + [0x010400, 0x010427], + [0x0104B0, 0x0104D3], + [0x010C80, 0x010CB2], + [0x0118A0, 0x0118BF], + [0x016E40, 0x016E5F], + [0x01D400, 0x01D419], + [0x01D434, 0x01D44D], + [0x01D468, 0x01D481], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B5], + [0x01D4D0, 0x01D4E9], + [0x01D504, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D538, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D56C, 0x01D585], + [0x01D5A0, 0x01D5B9], + [0x01D5D4, 0x01D5ED], + [0x01D608, 0x01D621], + [0x01D63C, 0x01D655], + [0x01D670, 0x01D689], + [0x01D6A8, 0x01D6C0], + [0x01D6E2, 0x01D6FA], + [0x01D71C, 0x01D734], + [0x01D756, 0x01D76E], + [0x01D790, 0x01D7A8], + [0x01E900, 0x01E921] + ] +}); +testPropertyEscapes( + /^\p{General_Category=Uppercase_Letter}+$/u, + matchSymbols, + "\\p{General_Category=Uppercase_Letter}" +); +testPropertyEscapes( + /^\p{General_Category=Lu}+$/u, + matchSymbols, + "\\p{General_Category=Lu}" +); +testPropertyEscapes( + /^\p{gc=Uppercase_Letter}+$/u, + matchSymbols, + "\\p{gc=Uppercase_Letter}" +); +testPropertyEscapes( + /^\p{gc=Lu}+$/u, + matchSymbols, + "\\p{gc=Lu}" +); +testPropertyEscapes( + /^\p{Uppercase_Letter}+$/u, + matchSymbols, + "\\p{Uppercase_Letter}" +); +testPropertyEscapes( + /^\p{Lu}+$/u, + matchSymbols, + "\\p{Lu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000371, + 0x000387, + 0x00038B, + 0x00038D, + 0x000390, + 0x0003A2, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x0010C6, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x002125, + 0x002127, + 0x002129, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7C3, + 0x00A7C8, + 0x01D49D, + 0x01D4AD, + 0x01D506, + 0x01D515, + 0x01D53A, + 0x01D53F, + 0x01D545 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x0000BF], + [0x0000DF, 0x0000FF], + [0x000137, 0x000138], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BB], + [0x0001BD, 0x0001C3], + [0x0001C5, 0x0001C6], + [0x0001C8, 0x0001C9], + [0x0001CB, 0x0001CC], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x0001F2, 0x0001F3], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x00036F], + [0x000373, 0x000375], + [0x000377, 0x00037E], + [0x000380, 0x000385], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D1], + [0x0003D5, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x0003F5, 0x0003F6], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x000481, 0x000489], + [0x0004CE, 0x0004CF], + [0x00052F, 0x000530], + [0x000557, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x00139F], + [0x0013F6, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001DFF], + [0x001E95, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F17], + [0x001F1E, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F47], + [0x001F4E, 0x001F58], + [0x001F60, 0x001F67], + [0x001F70, 0x001FB7], + [0x001FBC, 0x001FC7], + [0x001FCC, 0x001FD7], + [0x001FDC, 0x001FE7], + [0x001FED, 0x001FF7], + [0x001FFC, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x00210A], + [0x00210E, 0x00210F], + [0x002113, 0x002114], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x00212E, 0x00212F], + [0x002134, 0x00213D], + [0x002140, 0x002144], + [0x002146, 0x002182], + [0x002184, 0x002BFF], + [0x002C2F, 0x002C5F], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7D], + [0x002CE3, 0x002CEA], + [0x002CEE, 0x002CF1], + [0x002CF3, 0x00A63F], + [0x00A66D, 0x00A67F], + [0x00A69B, 0x00A721], + [0x00A72F, 0x00A731], + [0x00A76F, 0x00A778], + [0x00A787, 0x00A78A], + [0x00A78E, 0x00A78F], + [0x00A793, 0x00A795], + [0x00A7BF, 0x00A7C1], + [0x00A7CA, 0x00A7F4], + [0x00A7F6, 0x00DBFF], + [0x00E000, 0x00FF20], + [0x00FF3B, 0x0103FF], + [0x010428, 0x0104AF], + [0x0104D4, 0x010C7F], + [0x010CB3, 0x01189F], + [0x0118C0, 0x016E3F], + [0x016E60, 0x01D3FF], + [0x01D41A, 0x01D433], + [0x01D44E, 0x01D467], + [0x01D482, 0x01D49B], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D4B6, 0x01D4CF], + [0x01D4EA, 0x01D503], + [0x01D50B, 0x01D50C], + [0x01D51D, 0x01D537], + [0x01D547, 0x01D549], + [0x01D551, 0x01D56B], + [0x01D586, 0x01D59F], + [0x01D5BA, 0x01D5D3], + [0x01D5EE, 0x01D607], + [0x01D622, 0x01D63B], + [0x01D656, 0x01D66F], + [0x01D68A, 0x01D6A7], + [0x01D6C1, 0x01D6E1], + [0x01D6FB, 0x01D71B], + [0x01D735, 0x01D755], + [0x01D76F, 0x01D78F], + [0x01D7A9, 0x01D7C9], + [0x01D7CB, 0x01E8FF], + [0x01E922, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{General_Category=Uppercase_Letter}+$/u, + nonMatchSymbols, + "\\P{General_Category=Uppercase_Letter}" +); +testPropertyEscapes( + /^\P{General_Category=Lu}+$/u, + nonMatchSymbols, + "\\P{General_Category=Lu}" +); +testPropertyEscapes( + /^\P{gc=Uppercase_Letter}+$/u, + nonMatchSymbols, + "\\P{gc=Uppercase_Letter}" +); +testPropertyEscapes( + /^\P{gc=Lu}+$/u, + nonMatchSymbols, + "\\P{gc=Lu}" +); +testPropertyEscapes( + /^\P{Uppercase_Letter}+$/u, + nonMatchSymbols, + "\\P{Uppercase_Letter}" +); +testPropertyEscapes( + /^\P{Lu}+$/u, + nonMatchSymbols, + "\\P{Lu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js new file mode 100644 index 0000000000..babadafff0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js @@ -0,0 +1,1721 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Grapheme_Base` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00038C, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x00061B, + 0x0006DE, + 0x0006E9, + 0x000710, + 0x0007B1, + 0x00081A, + 0x000824, + 0x000828, + 0x00085E, + 0x00093B, + 0x0009B2, + 0x0009BD, + 0x0009CE, + 0x000A03, + 0x000A5E, + 0x000A76, + 0x000A83, + 0x000AC9, + 0x000AD0, + 0x000AF9, + 0x000B3D, + 0x000B40, + 0x000B83, + 0x000B9C, + 0x000BBF, + 0x000BD0, + 0x000C3D, + 0x000CDE, + 0x000D3D, + 0x000DBD, + 0x000E84, + 0x000EA5, + 0x000EBD, + 0x000EC6, + 0x000F36, + 0x000F38, + 0x000F7F, + 0x000F85, + 0x001031, + 0x001038, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017B6, + 0x0018AA, + 0x001940, + 0x001A57, + 0x001A61, + 0x001B3B, + 0x001BAA, + 0x001BE7, + 0x001BEE, + 0x001CD3, + 0x001CE1, + 0x001CFA, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x002D27, + 0x002D2D, + 0x00A673, + 0x00AA4D, + 0x00AAB1, + 0x00AAC0, + 0x00AAC2, + 0x00FB1D, + 0x00FB3E, + 0x0101A0, + 0x01056F, + 0x010808, + 0x01083C, + 0x01093F, + 0x010EAD, + 0x011000, + 0x01112C, + 0x011235, + 0x011288, + 0x01133D, + 0x01133F, + 0x011350, + 0x011445, + 0x01145D, + 0x0114B9, + 0x0114BE, + 0x0114C1, + 0x0115BE, + 0x01163E, + 0x0116AC, + 0x0116B6, + 0x0116B8, + 0x011726, + 0x011838, + 0x01183B, + 0x011909, + 0x01193D, + 0x011A00, + 0x011A50, + 0x011A97, + 0x011C3E, + 0x011CA9, + 0x011CB1, + 0x011CB4, + 0x011D46, + 0x011D96, + 0x011D98, + 0x011FB0, + 0x016AF5, + 0x01BC9C, + 0x01BC9F, + 0x01D166, + 0x01D245, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E2FF, + 0x01E94B, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000020, 0x00007E], + [0x0000A0, 0x0000AC], + [0x0000AE, 0x0002FF], + [0x000370, 0x000377], + [0x00037A, 0x00037F], + [0x000384, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x000482], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000559, 0x00058A], + [0x00058D, 0x00058F], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F4], + [0x000606, 0x00060F], + [0x00061E, 0x00064A], + [0x000660, 0x00066F], + [0x000671, 0x0006D5], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x00070D], + [0x000712, 0x00072F], + [0x00074D, 0x0007A5], + [0x0007C0, 0x0007EA], + [0x0007F4, 0x0007FA], + [0x0007FE, 0x000815], + [0x000830, 0x00083E], + [0x000840, 0x000858], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x000903, 0x000939], + [0x00093D, 0x000940], + [0x000949, 0x00094C], + [0x00094E, 0x000950], + [0x000958, 0x000961], + [0x000964, 0x000980], + [0x000982, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BF, 0x0009C0], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CC], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E1], + [0x0009E6, 0x0009FD], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A40], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A6F], + [0x000A72, 0x000A74], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABD, 0x000AC0], + [0x000ACB, 0x000ACC], + [0x000AE0, 0x000AE1], + [0x000AE6, 0x000AF1], + [0x000B02, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4C], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B61], + [0x000B66, 0x000B77], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BC1, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCC], + [0x000BE6, 0x000BFA], + [0x000C01, 0x000C03], + [0x000C05, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C41, 0x000C44], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C61], + [0x000C66, 0x000C6F], + [0x000C77, 0x000C80], + [0x000C82, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBD, 0x000CBE], + [0x000CC0, 0x000CC1], + [0x000CC3, 0x000CC4], + [0x000CC7, 0x000CC8], + [0x000CCA, 0x000CCB], + [0x000CE0, 0x000CE1], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x000D02, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D3A], + [0x000D3F, 0x000D40], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4C], + [0x000D4E, 0x000D4F], + [0x000D54, 0x000D56], + [0x000D58, 0x000D61], + [0x000D66, 0x000D7F], + [0x000D82, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DD0, 0x000DD1], + [0x000DD8, 0x000DDE], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF4], + [0x000E01, 0x000E30], + [0x000E32, 0x000E33], + [0x000E3F, 0x000E46], + [0x000E4F, 0x000E5B], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EC0, 0x000EC4], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF], + [0x000F00, 0x000F17], + [0x000F1A, 0x000F34], + [0x000F3A, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F88, 0x000F8C], + [0x000FBE, 0x000FC5], + [0x000FC7, 0x000FCC], + [0x000FCE, 0x000FDA], + [0x001000, 0x00102C], + [0x00103B, 0x00103C], + [0x00103F, 0x001057], + [0x00105A, 0x00105D], + [0x001061, 0x001070], + [0x001075, 0x001081], + [0x001083, 0x001084], + [0x001087, 0x00108C], + [0x00108E, 0x00109C], + [0x00109E, 0x0010C5], + [0x0010D0, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x001360, 0x00137C], + [0x001380, 0x001399], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001400, 0x00169C], + [0x0016A0, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001711], + [0x001720, 0x001731], + [0x001735, 0x001736], + [0x001740, 0x001751], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001780, 0x0017B3], + [0x0017BE, 0x0017C5], + [0x0017C7, 0x0017C8], + [0x0017D4, 0x0017DC], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x001800, 0x00180A], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x001884], + [0x001887, 0x0018A8], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001923, 0x001926], + [0x001929, 0x00192B], + [0x001930, 0x001931], + [0x001933, 0x001938], + [0x001944, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x0019DE, 0x001A16], + [0x001A19, 0x001A1A], + [0x001A1E, 0x001A55], + [0x001A63, 0x001A64], + [0x001A6D, 0x001A72], + [0x001A80, 0x001A89], + [0x001A90, 0x001A99], + [0x001AA0, 0x001AAD], + [0x001B04, 0x001B33], + [0x001B3D, 0x001B41], + [0x001B43, 0x001B4B], + [0x001B50, 0x001B6A], + [0x001B74, 0x001B7C], + [0x001B82, 0x001BA1], + [0x001BA6, 0x001BA7], + [0x001BAE, 0x001BE5], + [0x001BEA, 0x001BEC], + [0x001BF2, 0x001BF3], + [0x001BFC, 0x001C2B], + [0x001C34, 0x001C35], + [0x001C3B, 0x001C49], + [0x001C4D, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CC7], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF7], + [0x001D00, 0x001DBF], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FC4], + [0x001FC6, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FDD, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFE], + [0x002000, 0x00200A], + [0x002010, 0x002027], + [0x00202F, 0x00205F], + [0x002070, 0x002071], + [0x002074, 0x00208E], + [0x002090, 0x00209C], + [0x0020A0, 0x0020BF], + [0x002100, 0x00218B], + [0x002190, 0x002426], + [0x002440, 0x00244A], + [0x002460, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002CF9, 0x002D25], + [0x002D30, 0x002D67], + [0x002D6F, 0x002D70], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002E00, 0x002E52], + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x002FF0, 0x002FFB], + [0x003000, 0x003029], + [0x003030, 0x00303F], + [0x003041, 0x003096], + [0x00309B, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x003190, 0x0031E3], + [0x0031F0, 0x00321E], + [0x003220, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A490, 0x00A4C6], + [0x00A4D0, 0x00A62B], + [0x00A640, 0x00A66E], + [0x00A67E, 0x00A69D], + [0x00A6A0, 0x00A6EF], + [0x00A6F2, 0x00A6F7], + [0x00A700, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A824], + [0x00A827, 0x00A82B], + [0x00A830, 0x00A839], + [0x00A840, 0x00A877], + [0x00A880, 0x00A8C3], + [0x00A8CE, 0x00A8D9], + [0x00A8F2, 0x00A8FE], + [0x00A900, 0x00A925], + [0x00A92E, 0x00A946], + [0x00A952, 0x00A953], + [0x00A95F, 0x00A97C], + [0x00A983, 0x00A9B2], + [0x00A9B4, 0x00A9B5], + [0x00A9BA, 0x00A9BB], + [0x00A9BE, 0x00A9CD], + [0x00A9CF, 0x00A9D9], + [0x00A9DE, 0x00A9E4], + [0x00A9E6, 0x00A9FE], + [0x00AA00, 0x00AA28], + [0x00AA2F, 0x00AA30], + [0x00AA33, 0x00AA34], + [0x00AA40, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA50, 0x00AA59], + [0x00AA5C, 0x00AA7B], + [0x00AA7D, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AADB, 0x00AAEB], + [0x00AAEE, 0x00AAF5], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB6B], + [0x00AB70, 0x00ABE4], + [0x00ABE6, 0x00ABE7], + [0x00ABE9, 0x00ABEC], + [0x00ABF0, 0x00ABF9], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1F, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBC1], + [0x00FBD3, 0x00FD3F], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFD], + [0x00FE10, 0x00FE19], + [0x00FE30, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF01, 0x00FF9D], + [0x00FFA0, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFFC, 0x00FFFD], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01018E], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FC], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x0102E1, 0x0102FB], + [0x010300, 0x010323], + [0x01032D, 0x01034A], + [0x010350, 0x010375], + [0x010380, 0x01039D], + [0x01039F, 0x0103C3], + [0x0103C8, 0x0103D5], + [0x010400, 0x01049D], + [0x0104A0, 0x0104A9], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010857, 0x01089E], + [0x0108A7, 0x0108AF], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x0108FB, 0x01091B], + [0x01091F, 0x010939], + [0x010980, 0x0109B7], + [0x0109BC, 0x0109CF], + [0x0109D2, 0x010A00], + [0x010A10, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A40, 0x010A48], + [0x010A50, 0x010A58], + [0x010A60, 0x010A9F], + [0x010AC0, 0x010AE4], + [0x010AEB, 0x010AF6], + [0x010B00, 0x010B35], + [0x010B39, 0x010B55], + [0x010B58, 0x010B72], + [0x010B78, 0x010B91], + [0x010B99, 0x010B9C], + [0x010BA9, 0x010BAF], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010CFA, 0x010D23], + [0x010D30, 0x010D39], + [0x010E60, 0x010E7E], + [0x010E80, 0x010EA9], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F27], + [0x010F30, 0x010F45], + [0x010F51, 0x010F59], + [0x010FB0, 0x010FCB], + [0x010FE0, 0x010FF6], + [0x011002, 0x011037], + [0x011047, 0x01104D], + [0x011052, 0x01106F], + [0x011082, 0x0110B2], + [0x0110B7, 0x0110B8], + [0x0110BB, 0x0110BC], + [0x0110BE, 0x0110C1], + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9], + [0x011103, 0x011126], + [0x011136, 0x011147], + [0x011150, 0x011172], + [0x011174, 0x011176], + [0x011182, 0x0111B5], + [0x0111BF, 0x0111C8], + [0x0111CD, 0x0111CE], + [0x0111D0, 0x0111DF], + [0x0111E1, 0x0111F4], + [0x011200, 0x011211], + [0x011213, 0x01122E], + [0x011232, 0x011233], + [0x011238, 0x01123D], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A9], + [0x0112B0, 0x0112DE], + [0x0112E0, 0x0112E2], + [0x0112F0, 0x0112F9], + [0x011302, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x011341, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011400, 0x011437], + [0x011440, 0x011441], + [0x011447, 0x01145B], + [0x01145F, 0x011461], + [0x011480, 0x0114AF], + [0x0114B1, 0x0114B2], + [0x0114BB, 0x0114BC], + [0x0114C4, 0x0114C7], + [0x0114D0, 0x0114D9], + [0x011580, 0x0115AE], + [0x0115B0, 0x0115B1], + [0x0115B8, 0x0115BB], + [0x0115C1, 0x0115DB], + [0x011600, 0x011632], + [0x01163B, 0x01163C], + [0x011641, 0x011644], + [0x011650, 0x011659], + [0x011660, 0x01166C], + [0x011680, 0x0116AA], + [0x0116AE, 0x0116AF], + [0x0116C0, 0x0116C9], + [0x011700, 0x01171A], + [0x011720, 0x011721], + [0x011730, 0x01173F], + [0x011800, 0x01182E], + [0x0118A0, 0x0118F2], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x01192F], + [0x011931, 0x011935], + [0x011937, 0x011938], + [0x01193F, 0x011942], + [0x011944, 0x011946], + [0x011950, 0x011959], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D3], + [0x0119DC, 0x0119DF], + [0x0119E1, 0x0119E4], + [0x011A0B, 0x011A32], + [0x011A39, 0x011A3A], + [0x011A3F, 0x011A46], + [0x011A57, 0x011A58], + [0x011A5C, 0x011A89], + [0x011A9A, 0x011AA2], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C2F], + [0x011C40, 0x011C45], + [0x011C50, 0x011C6C], + [0x011C70, 0x011C8F], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D30], + [0x011D50, 0x011D59], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D93, 0x011D94], + [0x011DA0, 0x011DA9], + [0x011EE0, 0x011EF2], + [0x011EF5, 0x011EF8], + [0x011FC0, 0x011FF1], + [0x011FFF, 0x012399], + [0x012400, 0x01246E], + [0x012470, 0x012474], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016A6E, 0x016A6F], + [0x016AD0, 0x016AED], + [0x016B00, 0x016B2F], + [0x016B37, 0x016B45], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E9A], + [0x016F00, 0x016F4A], + [0x016F50, 0x016F87], + [0x016F93, 0x016F9F], + [0x016FE0, 0x016FE3], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D164], + [0x01D16A, 0x01D16D], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D1E8], + [0x01D200, 0x01D241], + [0x01D2E0, 0x01D2F3], + [0x01D300, 0x01D356], + [0x01D360, 0x01D378], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA8B], + [0x01E100, 0x01E12C], + [0x01E137, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E14E, 0x01E14F], + [0x01E2C0, 0x01E2EB], + [0x01E2F0, 0x01E2F9], + [0x01E800, 0x01E8C4], + [0x01E8C7, 0x01E8CF], + [0x01E900, 0x01E943], + [0x01E950, 0x01E959], + [0x01E95E, 0x01E95F], + [0x01EC71, 0x01ECB4], + [0x01ED01, 0x01ED3D], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F100, 0x01F1AD], + [0x01F1E6, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA], + [0x01FBF0, 0x01FBF9], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{Grapheme_Base}+$/u, + matchSymbols, + "\\p{Grapheme_Base}" +); +testPropertyEscapes( + /^\p{Gr_Base}+$/u, + matchSymbols, + "\\p{Gr_Base}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000AD, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x000530, + 0x0005BF, + 0x000670, + 0x000711, + 0x00083F, + 0x00085F, + 0x0008B5, + 0x00093A, + 0x00093C, + 0x00094D, + 0x000981, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009BE, + 0x0009CD, + 0x0009DE, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A5D, + 0x000A75, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000ACA, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC0, + 0x000BC9, + 0x000C04, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C81, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CBF, + 0x000CC2, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x000D0D, + 0x000D11, + 0x000D3E, + 0x000D49, + 0x000D4D, + 0x000D57, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000E31, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EB1, + 0x000EC5, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000F48, + 0x000FC6, + 0x000FCD, + 0x001082, + 0x00108D, + 0x00109D, + 0x0010C6, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x00170D, + 0x00176D, + 0x0017C6, + 0x0018A9, + 0x001932, + 0x001A56, + 0x001A62, + 0x001B3C, + 0x001B42, + 0x001BE6, + 0x001BED, + 0x001CED, + 0x001CF4, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FC5, + 0x001FDC, + 0x001FF5, + 0x001FFF, + 0x00208F, + 0x002B96, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002E9A, + 0x003040, + 0x003130, + 0x00318F, + 0x00321F, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A8FF, + 0x00A9B3, + 0x00A9CE, + 0x00A9E5, + 0x00A9FF, + 0x00AA43, + 0x00AA4C, + 0x00AA7C, + 0x00AAB0, + 0x00AAC1, + 0x00AB27, + 0x00AB2F, + 0x00ABE5, + 0x00ABE8, + 0x00FB1E, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE53, + 0x00FE67, + 0x00FE75, + 0x00FFE7, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x01018F, + 0x01039E, + 0x010809, + 0x010836, + 0x010856, + 0x0108F3, + 0x010A14, + 0x010A18, + 0x010E7F, + 0x011001, + 0x0110BD, + 0x011173, + 0x0111CF, + 0x0111E0, + 0x011212, + 0x011234, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x0112DF, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133E, + 0x011340, + 0x011446, + 0x01145C, + 0x01145E, + 0x0114B0, + 0x0114BA, + 0x0114BD, + 0x0115AF, + 0x01163D, + 0x0116AB, + 0x0116AD, + 0x0116B7, + 0x011914, + 0x011917, + 0x011930, + 0x011936, + 0x01193E, + 0x011943, + 0x0119E0, + 0x011C09, + 0x011C3F, + 0x011D07, + 0x011D0A, + 0x011D66, + 0x011D69, + 0x011D95, + 0x011D97, + 0x01246F, + 0x016A5F, + 0x016B5A, + 0x016B62, + 0x01D165, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01DA75, + 0x01DA84, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA, + 0x01F0C0, + 0x01F0D0, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00001F], + [0x00007F, 0x00009F], + [0x000300, 0x00036F], + [0x000378, 0x000379], + [0x000380, 0x000383], + [0x000483, 0x000489], + [0x000557, 0x000558], + [0x00058B, 0x00058C], + [0x000590, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x0005C7, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F5, 0x000605], + [0x000610, 0x00061A], + [0x00061C, 0x00061D], + [0x00064B, 0x00065F], + [0x0006D6, 0x0006DD], + [0x0006DF, 0x0006E4], + [0x0006E7, 0x0006E8], + [0x0006EA, 0x0006ED], + [0x00070E, 0x00070F], + [0x000730, 0x00074C], + [0x0007A6, 0x0007B0], + [0x0007B2, 0x0007BF], + [0x0007EB, 0x0007F3], + [0x0007FB, 0x0007FD], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00082F], + [0x000859, 0x00085D], + [0x00086B, 0x00089F], + [0x0008C8, 0x000902], + [0x000941, 0x000948], + [0x000951, 0x000957], + [0x000962, 0x000963], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BC], + [0x0009C1, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009DB], + [0x0009E2, 0x0009E5], + [0x0009FE, 0x000A02], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3D], + [0x000A41, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A70, 0x000A71], + [0x000A77, 0x000A82], + [0x000ABA, 0x000ABC], + [0x000AC1, 0x000AC8], + [0x000ACD, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE2, 0x000AE5], + [0x000AF2, 0x000AF8], + [0x000AFA, 0x000B01], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3C], + [0x000B3E, 0x000B3F], + [0x000B41, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4D, 0x000B5B], + [0x000B62, 0x000B65], + [0x000B78, 0x000B82], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBE], + [0x000BC3, 0x000BC5], + [0x000BCD, 0x000BCF], + [0x000BD1, 0x000BE5], + [0x000BFB, 0x000C00], + [0x000C3A, 0x000C3C], + [0x000C3E, 0x000C40], + [0x000C45, 0x000C57], + [0x000C5B, 0x000C5F], + [0x000C62, 0x000C65], + [0x000C70, 0x000C76], + [0x000CBA, 0x000CBC], + [0x000CC5, 0x000CC6], + [0x000CCC, 0x000CDD], + [0x000CE2, 0x000CE5], + [0x000CF3, 0x000D01], + [0x000D3B, 0x000D3C], + [0x000D41, 0x000D45], + [0x000D50, 0x000D53], + [0x000D62, 0x000D65], + [0x000D80, 0x000D81], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DCF], + [0x000DD2, 0x000DD7], + [0x000DDF, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF5, 0x000E00], + [0x000E34, 0x000E3E], + [0x000E47, 0x000E4E], + [0x000E5C, 0x000E80], + [0x000EB4, 0x000EBC], + [0x000EBE, 0x000EBF], + [0x000EC7, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F18, 0x000F19], + [0x000F6D, 0x000F7E], + [0x000F80, 0x000F84], + [0x000F86, 0x000F87], + [0x000F8D, 0x000FBD], + [0x000FDB, 0x000FFF], + [0x00102D, 0x001030], + [0x001032, 0x001037], + [0x001039, 0x00103A], + [0x00103D, 0x00103E], + [0x001058, 0x001059], + [0x00105E, 0x001060], + [0x001071, 0x001074], + [0x001085, 0x001086], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135F], + [0x00137D, 0x00137F], + [0x00139A, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x0013FF], + [0x00169D, 0x00169F], + [0x0016F9, 0x0016FF], + [0x001712, 0x00171F], + [0x001732, 0x001734], + [0x001737, 0x00173F], + [0x001752, 0x00175F], + [0x001771, 0x00177F], + [0x0017B4, 0x0017B5], + [0x0017B7, 0x0017BD], + [0x0017C9, 0x0017D3], + [0x0017DD, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x0017FF], + [0x00180B, 0x00180F], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x001885, 0x001886], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00191F, 0x001922], + [0x001927, 0x001928], + [0x00192C, 0x00192F], + [0x001939, 0x00193F], + [0x001941, 0x001943], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019DD], + [0x001A17, 0x001A18], + [0x001A1B, 0x001A1D], + [0x001A58, 0x001A60], + [0x001A65, 0x001A6C], + [0x001A73, 0x001A7F], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001A9F], + [0x001AAE, 0x001B03], + [0x001B34, 0x001B3A], + [0x001B4C, 0x001B4F], + [0x001B6B, 0x001B73], + [0x001B7D, 0x001B81], + [0x001BA2, 0x001BA5], + [0x001BA8, 0x001BA9], + [0x001BAB, 0x001BAD], + [0x001BE8, 0x001BE9], + [0x001BEF, 0x001BF1], + [0x001BF4, 0x001BFB], + [0x001C2C, 0x001C33], + [0x001C36, 0x001C3A], + [0x001C4A, 0x001C4C], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC8, 0x001CD2], + [0x001CD4, 0x001CE0], + [0x001CE2, 0x001CE8], + [0x001CF8, 0x001CF9], + [0x001CFB, 0x001CFF], + [0x001DC0, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FD4, 0x001FD5], + [0x001FF0, 0x001FF1], + [0x00200B, 0x00200F], + [0x002028, 0x00202E], + [0x002060, 0x00206F], + [0x002072, 0x002073], + [0x00209D, 0x00209F], + [0x0020C0, 0x0020FF], + [0x00218C, 0x00218F], + [0x002427, 0x00243F], + [0x00244B, 0x00245F], + [0x002B74, 0x002B75], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CF8], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D71, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x002DFF], + [0x002E53, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x002FEF], + [0x002FFC, 0x002FFF], + [0x00302A, 0x00302F], + [0x003097, 0x00309A], + [0x003100, 0x003104], + [0x0031E4, 0x0031EF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A48F], + [0x00A4C7, 0x00A4CF], + [0x00A62C, 0x00A63F], + [0x00A66F, 0x00A672], + [0x00A674, 0x00A67D], + [0x00A69E, 0x00A69F], + [0x00A6F0, 0x00A6F1], + [0x00A6F8, 0x00A6FF], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A825, 0x00A826], + [0x00A82C, 0x00A82F], + [0x00A83A, 0x00A83F], + [0x00A878, 0x00A87F], + [0x00A8C4, 0x00A8CD], + [0x00A8DA, 0x00A8F1], + [0x00A926, 0x00A92D], + [0x00A947, 0x00A951], + [0x00A954, 0x00A95E], + [0x00A97D, 0x00A982], + [0x00A9B6, 0x00A9B9], + [0x00A9BC, 0x00A9BD], + [0x00A9DA, 0x00A9DD], + [0x00AA29, 0x00AA2E], + [0x00AA31, 0x00AA32], + [0x00AA35, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5B], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAC3, 0x00AADA], + [0x00AAEC, 0x00AAED], + [0x00AAF6, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6C, 0x00AB6F], + [0x00ABED, 0x00ABEF], + [0x00ABFA, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBC2, 0x00FBD2], + [0x00FD40, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFE, 0x00FE0F], + [0x00FE1A, 0x00FE2F], + [0x00FE6C, 0x00FE6F], + [0x00FEFD, 0x00FF00], + [0x00FF9E, 0x00FF9F], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFDF], + [0x00FFEF, 0x00FFFB], + [0x00FFFE, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x01019D, 0x01019F], + [0x0101A1, 0x0101CF], + [0x0101FD, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102E0], + [0x0102FC, 0x0102FF], + [0x010324, 0x01032C], + [0x01034B, 0x01034F], + [0x010376, 0x01037F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x01049F], + [0x0104AA, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x01056E], + [0x010570, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x01089F, 0x0108A6], + [0x0108B0, 0x0108DF], + [0x0108F6, 0x0108FA], + [0x01091C, 0x01091E], + [0x01093A, 0x01093E], + [0x010940, 0x01097F], + [0x0109B8, 0x0109BB], + [0x0109D0, 0x0109D1], + [0x010A01, 0x010A0F], + [0x010A36, 0x010A3F], + [0x010A49, 0x010A4F], + [0x010A59, 0x010A5F], + [0x010AA0, 0x010ABF], + [0x010AE5, 0x010AEA], + [0x010AF7, 0x010AFF], + [0x010B36, 0x010B38], + [0x010B56, 0x010B57], + [0x010B73, 0x010B77], + [0x010B92, 0x010B98], + [0x010B9D, 0x010BA8], + [0x010BB0, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CF9], + [0x010D24, 0x010D2F], + [0x010D3A, 0x010E5F], + [0x010EAA, 0x010EAC], + [0x010EAE, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F28, 0x010F2F], + [0x010F46, 0x010F50], + [0x010F5A, 0x010FAF], + [0x010FCC, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x011038, 0x011046], + [0x01104E, 0x011051], + [0x011070, 0x011081], + [0x0110B3, 0x0110B6], + [0x0110B9, 0x0110BA], + [0x0110C2, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x011102], + [0x011127, 0x01112B], + [0x01112D, 0x011135], + [0x011148, 0x01114F], + [0x011177, 0x011181], + [0x0111B6, 0x0111BE], + [0x0111C9, 0x0111CC], + [0x0111F5, 0x0111FF], + [0x01122F, 0x011231], + [0x011236, 0x011237], + [0x01123E, 0x01127F], + [0x0112AA, 0x0112AF], + [0x0112E3, 0x0112EF], + [0x0112FA, 0x011301], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133C], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x01135C], + [0x011364, 0x0113FF], + [0x011438, 0x01143F], + [0x011442, 0x011444], + [0x011462, 0x01147F], + [0x0114B3, 0x0114B8], + [0x0114BF, 0x0114C0], + [0x0114C2, 0x0114C3], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x01157F], + [0x0115B2, 0x0115B7], + [0x0115BC, 0x0115BD], + [0x0115BF, 0x0115C0], + [0x0115DC, 0x0115FF], + [0x011633, 0x01163A], + [0x01163F, 0x011640], + [0x011645, 0x01164F], + [0x01165A, 0x01165F], + [0x01166D, 0x01167F], + [0x0116B0, 0x0116B5], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x0116FF], + [0x01171B, 0x01171F], + [0x011722, 0x011725], + [0x011727, 0x01172F], + [0x011740, 0x0117FF], + [0x01182F, 0x011837], + [0x011839, 0x01183A], + [0x01183C, 0x01189F], + [0x0118F3, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193C], + [0x011947, 0x01194F], + [0x01195A, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D4, 0x0119DB], + [0x0119E5, 0x0119FF], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A38], + [0x011A3B, 0x011A3E], + [0x011A47, 0x011A4F], + [0x011A51, 0x011A56], + [0x011A59, 0x011A5B], + [0x011A8A, 0x011A96], + [0x011A98, 0x011A99], + [0x011AA3, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C30, 0x011C3D], + [0x011C46, 0x011C4F], + [0x011C6D, 0x011C6F], + [0x011C90, 0x011CA8], + [0x011CAA, 0x011CB0], + [0x011CB2, 0x011CB3], + [0x011CB5, 0x011CFF], + [0x011D31, 0x011D45], + [0x011D47, 0x011D4F], + [0x011D5A, 0x011D5F], + [0x011D8F, 0x011D92], + [0x011D99, 0x011D9F], + [0x011DAA, 0x011EDF], + [0x011EF3, 0x011EF4], + [0x011EF9, 0x011FAF], + [0x011FB1, 0x011FBF], + [0x011FF2, 0x011FFE], + [0x01239A, 0x0123FF], + [0x012475, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A6A, 0x016A6D], + [0x016A70, 0x016ACF], + [0x016AEE, 0x016AF4], + [0x016AF6, 0x016AFF], + [0x016B30, 0x016B36], + [0x016B46, 0x016B4F], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E9B, 0x016EFF], + [0x016F4B, 0x016F4F], + [0x016F88, 0x016F92], + [0x016FA0, 0x016FDF], + [0x016FE4, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9B], + [0x01BC9D, 0x01BC9E], + [0x01BCA0, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D167, 0x01D169], + [0x01D16E, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D1E9, 0x01D1FF], + [0x01D242, 0x01D244], + [0x01D246, 0x01D2DF], + [0x01D2F4, 0x01D2FF], + [0x01D357, 0x01D35F], + [0x01D379, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA8C, 0x01E0FF], + [0x01E12D, 0x01E136], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E150, 0x01E2BF], + [0x01E2EC, 0x01E2EF], + [0x01E2FA, 0x01E2FE], + [0x01E300, 0x01E7FF], + [0x01E8C5, 0x01E8C6], + [0x01E8D0, 0x01E8FF], + [0x01E944, 0x01E94A], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01E95D], + [0x01E960, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F0FF], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x01FBEF], + [0x01FBFA, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Grapheme_Base}+$/u, + nonMatchSymbols, + "\\P{Grapheme_Base}" +); +testPropertyEscapes( + /^\P{Gr_Base}+$/u, + nonMatchSymbols, + "\\P{Gr_Base}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js new file mode 100644 index 0000000000..a767c366a7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js @@ -0,0 +1,741 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Grapheme_Extend` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0005BF, + 0x0005C7, + 0x000670, + 0x000711, + 0x0007FD, + 0x00093A, + 0x00093C, + 0x00094D, + 0x000981, + 0x0009BC, + 0x0009BE, + 0x0009CD, + 0x0009D7, + 0x0009FE, + 0x000A3C, + 0x000A51, + 0x000A75, + 0x000ABC, + 0x000ACD, + 0x000B01, + 0x000B3C, + 0x000B4D, + 0x000B82, + 0x000BBE, + 0x000BC0, + 0x000BCD, + 0x000BD7, + 0x000C00, + 0x000C04, + 0x000C81, + 0x000CBC, + 0x000CBF, + 0x000CC2, + 0x000CC6, + 0x000D3E, + 0x000D4D, + 0x000D57, + 0x000D81, + 0x000DCA, + 0x000DCF, + 0x000DD6, + 0x000DDF, + 0x000E31, + 0x000EB1, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x001082, + 0x00108D, + 0x00109D, + 0x0017C6, + 0x0017DD, + 0x0018A9, + 0x001932, + 0x001A1B, + 0x001A56, + 0x001A60, + 0x001A62, + 0x001A7F, + 0x001B3C, + 0x001B42, + 0x001BE6, + 0x001BED, + 0x001CED, + 0x001CF4, + 0x00200C, + 0x002D7F, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A82C, + 0x00A8FF, + 0x00A9B3, + 0x00A9E5, + 0x00AA43, + 0x00AA4C, + 0x00AA7C, + 0x00AAB0, + 0x00AAC1, + 0x00AAF6, + 0x00ABE5, + 0x00ABE8, + 0x00ABED, + 0x00FB1E, + 0x0101FD, + 0x0102E0, + 0x010A3F, + 0x011001, + 0x011173, + 0x0111CF, + 0x011234, + 0x01123E, + 0x0112DF, + 0x01133E, + 0x011340, + 0x011357, + 0x011446, + 0x01145E, + 0x0114B0, + 0x0114BA, + 0x0114BD, + 0x0115AF, + 0x01163D, + 0x0116AB, + 0x0116AD, + 0x0116B7, + 0x011930, + 0x01193E, + 0x011943, + 0x0119E0, + 0x011A47, + 0x011C3F, + 0x011D3A, + 0x011D47, + 0x011D95, + 0x011D97, + 0x016F4F, + 0x016FE4, + 0x01D165, + 0x01DA75, + 0x01DA84 + ], + ranges: [ + [0x000300, 0x00036F], + [0x000483, 0x000489], + [0x000591, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x000610, 0x00061A], + [0x00064B, 0x00065F], + [0x0006D6, 0x0006DC], + [0x0006DF, 0x0006E4], + [0x0006E7, 0x0006E8], + [0x0006EA, 0x0006ED], + [0x000730, 0x00074A], + [0x0007A6, 0x0007B0], + [0x0007EB, 0x0007F3], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00082D], + [0x000859, 0x00085B], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x000902], + [0x000941, 0x000948], + [0x000951, 0x000957], + [0x000962, 0x000963], + [0x0009C1, 0x0009C4], + [0x0009E2, 0x0009E3], + [0x000A01, 0x000A02], + [0x000A41, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A70, 0x000A71], + [0x000A81, 0x000A82], + [0x000AC1, 0x000AC5], + [0x000AC7, 0x000AC8], + [0x000AE2, 0x000AE3], + [0x000AFA, 0x000AFF], + [0x000B3E, 0x000B3F], + [0x000B41, 0x000B44], + [0x000B55, 0x000B57], + [0x000B62, 0x000B63], + [0x000C3E, 0x000C40], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C62, 0x000C63], + [0x000CCC, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE2, 0x000CE3], + [0x000D00, 0x000D01], + [0x000D3B, 0x000D3C], + [0x000D41, 0x000D44], + [0x000D62, 0x000D63], + [0x000DD2, 0x000DD4], + [0x000E34, 0x000E3A], + [0x000E47, 0x000E4E], + [0x000EB4, 0x000EBC], + [0x000EC8, 0x000ECD], + [0x000F18, 0x000F19], + [0x000F71, 0x000F7E], + [0x000F80, 0x000F84], + [0x000F86, 0x000F87], + [0x000F8D, 0x000F97], + [0x000F99, 0x000FBC], + [0x00102D, 0x001030], + [0x001032, 0x001037], + [0x001039, 0x00103A], + [0x00103D, 0x00103E], + [0x001058, 0x001059], + [0x00105E, 0x001060], + [0x001071, 0x001074], + [0x001085, 0x001086], + [0x00135D, 0x00135F], + [0x001712, 0x001714], + [0x001732, 0x001734], + [0x001752, 0x001753], + [0x001772, 0x001773], + [0x0017B4, 0x0017B5], + [0x0017B7, 0x0017BD], + [0x0017C9, 0x0017D3], + [0x00180B, 0x00180D], + [0x001885, 0x001886], + [0x001920, 0x001922], + [0x001927, 0x001928], + [0x001939, 0x00193B], + [0x001A17, 0x001A18], + [0x001A58, 0x001A5E], + [0x001A65, 0x001A6C], + [0x001A73, 0x001A7C], + [0x001AB0, 0x001AC0], + [0x001B00, 0x001B03], + [0x001B34, 0x001B3A], + [0x001B6B, 0x001B73], + [0x001B80, 0x001B81], + [0x001BA2, 0x001BA5], + [0x001BA8, 0x001BA9], + [0x001BAB, 0x001BAD], + [0x001BE8, 0x001BE9], + [0x001BEF, 0x001BF1], + [0x001C2C, 0x001C33], + [0x001C36, 0x001C37], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CE0], + [0x001CE2, 0x001CE8], + [0x001CF8, 0x001CF9], + [0x001DC0, 0x001DF9], + [0x001DFB, 0x001DFF], + [0x0020D0, 0x0020F0], + [0x002CEF, 0x002CF1], + [0x002DE0, 0x002DFF], + [0x00302A, 0x00302F], + [0x003099, 0x00309A], + [0x00A66F, 0x00A672], + [0x00A674, 0x00A67D], + [0x00A69E, 0x00A69F], + [0x00A6F0, 0x00A6F1], + [0x00A825, 0x00A826], + [0x00A8C4, 0x00A8C5], + [0x00A8E0, 0x00A8F1], + [0x00A926, 0x00A92D], + [0x00A947, 0x00A951], + [0x00A980, 0x00A982], + [0x00A9B6, 0x00A9B9], + [0x00A9BC, 0x00A9BD], + [0x00AA29, 0x00AA2E], + [0x00AA31, 0x00AA32], + [0x00AA35, 0x00AA36], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAEC, 0x00AAED], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2F], + [0x00FF9E, 0x00FF9F], + [0x010376, 0x01037A], + [0x010A01, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A0F], + [0x010A38, 0x010A3A], + [0x010AE5, 0x010AE6], + [0x010D24, 0x010D27], + [0x010EAB, 0x010EAC], + [0x010F46, 0x010F50], + [0x011038, 0x011046], + [0x01107F, 0x011081], + [0x0110B3, 0x0110B6], + [0x0110B9, 0x0110BA], + [0x011100, 0x011102], + [0x011127, 0x01112B], + [0x01112D, 0x011134], + [0x011180, 0x011181], + [0x0111B6, 0x0111BE], + [0x0111C9, 0x0111CC], + [0x01122F, 0x011231], + [0x011236, 0x011237], + [0x0112E3, 0x0112EA], + [0x011300, 0x011301], + [0x01133B, 0x01133C], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011438, 0x01143F], + [0x011442, 0x011444], + [0x0114B3, 0x0114B8], + [0x0114BF, 0x0114C0], + [0x0114C2, 0x0114C3], + [0x0115B2, 0x0115B5], + [0x0115BC, 0x0115BD], + [0x0115BF, 0x0115C0], + [0x0115DC, 0x0115DD], + [0x011633, 0x01163A], + [0x01163F, 0x011640], + [0x0116B0, 0x0116B5], + [0x01171D, 0x01171F], + [0x011722, 0x011725], + [0x011727, 0x01172B], + [0x01182F, 0x011837], + [0x011839, 0x01183A], + [0x01193B, 0x01193C], + [0x0119D4, 0x0119D7], + [0x0119DA, 0x0119DB], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A38], + [0x011A3B, 0x011A3E], + [0x011A51, 0x011A56], + [0x011A59, 0x011A5B], + [0x011A8A, 0x011A96], + [0x011A98, 0x011A99], + [0x011C30, 0x011C36], + [0x011C38, 0x011C3D], + [0x011C92, 0x011CA7], + [0x011CAA, 0x011CB0], + [0x011CB2, 0x011CB3], + [0x011CB5, 0x011CB6], + [0x011D31, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D45], + [0x011D90, 0x011D91], + [0x011EF3, 0x011EF4], + [0x016AF0, 0x016AF4], + [0x016B30, 0x016B36], + [0x016F8F, 0x016F92], + [0x01BC9D, 0x01BC9E], + [0x01D167, 0x01D169], + [0x01D16E, 0x01D172], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D242, 0x01D244], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E130, 0x01E136], + [0x01E2EC, 0x01E2EF], + [0x01E8D0, 0x01E8D6], + [0x01E944, 0x01E94A], + [0x0E0020, 0x0E007F], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{Grapheme_Extend}+$/u, + matchSymbols, + "\\p{Grapheme_Extend}" +); +testPropertyEscapes( + /^\p{Gr_Ext}+$/u, + matchSymbols, + "\\p{Gr_Ext}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x0006E9, + 0x00081A, + 0x000824, + 0x000828, + 0x0008E2, + 0x00093B, + 0x0009BD, + 0x000AC6, + 0x000B00, + 0x000B3D, + 0x000B40, + 0x000BBF, + 0x000C49, + 0x000D3D, + 0x000DD5, + 0x000F36, + 0x000F38, + 0x000F7F, + 0x000F85, + 0x000F98, + 0x001031, + 0x001038, + 0x0017B6, + 0x001A57, + 0x001A5F, + 0x001A61, + 0x001B3B, + 0x001BAA, + 0x001BE7, + 0x001BEE, + 0x001CD3, + 0x001CE1, + 0x001DFA, + 0x00A673, + 0x00AAB1, + 0x00AAC0, + 0x010A04, + 0x01112C, + 0x011235, + 0x01133D, + 0x01133F, + 0x011445, + 0x0114B9, + 0x0114BE, + 0x0114C1, + 0x0115BE, + 0x01163E, + 0x0116AC, + 0x0116B6, + 0x011726, + 0x011838, + 0x01193D, + 0x011A97, + 0x011C37, + 0x011C3E, + 0x011CB1, + 0x011CB4, + 0x011D3B, + 0x011D3E, + 0x011D46, + 0x011D96, + 0x01D166, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002FF], + [0x000370, 0x000482], + [0x00048A, 0x000590], + [0x0005C8, 0x00060F], + [0x00061B, 0x00064A], + [0x000660, 0x00066F], + [0x000671, 0x0006D5], + [0x0006DD, 0x0006DE], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x000710], + [0x000712, 0x00072F], + [0x00074B, 0x0007A5], + [0x0007B1, 0x0007EA], + [0x0007F4, 0x0007FC], + [0x0007FE, 0x000815], + [0x00082E, 0x000858], + [0x00085C, 0x0008D2], + [0x000903, 0x000939], + [0x00093D, 0x000940], + [0x000949, 0x00094C], + [0x00094E, 0x000950], + [0x000958, 0x000961], + [0x000964, 0x000980], + [0x000982, 0x0009BB], + [0x0009BF, 0x0009C0], + [0x0009C5, 0x0009CC], + [0x0009CE, 0x0009D6], + [0x0009D8, 0x0009E1], + [0x0009E4, 0x0009FD], + [0x0009FF, 0x000A00], + [0x000A03, 0x000A3B], + [0x000A3D, 0x000A40], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A6F], + [0x000A72, 0x000A74], + [0x000A76, 0x000A80], + [0x000A83, 0x000ABB], + [0x000ABD, 0x000AC0], + [0x000AC9, 0x000ACC], + [0x000ACE, 0x000AE1], + [0x000AE4, 0x000AF9], + [0x000B02, 0x000B3B], + [0x000B45, 0x000B4C], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B61], + [0x000B64, 0x000B81], + [0x000B83, 0x000BBD], + [0x000BC1, 0x000BCC], + [0x000BCE, 0x000BD6], + [0x000BD8, 0x000BFF], + [0x000C01, 0x000C03], + [0x000C05, 0x000C3D], + [0x000C41, 0x000C45], + [0x000C4E, 0x000C54], + [0x000C57, 0x000C61], + [0x000C64, 0x000C80], + [0x000C82, 0x000CBB], + [0x000CBD, 0x000CBE], + [0x000CC0, 0x000CC1], + [0x000CC3, 0x000CC5], + [0x000CC7, 0x000CCB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CE1], + [0x000CE4, 0x000CFF], + [0x000D02, 0x000D3A], + [0x000D3F, 0x000D40], + [0x000D45, 0x000D4C], + [0x000D4E, 0x000D56], + [0x000D58, 0x000D61], + [0x000D64, 0x000D80], + [0x000D82, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DD0, 0x000DD1], + [0x000DD7, 0x000DDE], + [0x000DE0, 0x000E30], + [0x000E32, 0x000E33], + [0x000E3B, 0x000E46], + [0x000E4F, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EBD, 0x000EC7], + [0x000ECE, 0x000F17], + [0x000F1A, 0x000F34], + [0x000F3A, 0x000F70], + [0x000F88, 0x000F8C], + [0x000FBD, 0x000FC5], + [0x000FC7, 0x00102C], + [0x00103B, 0x00103C], + [0x00103F, 0x001057], + [0x00105A, 0x00105D], + [0x001061, 0x001070], + [0x001075, 0x001081], + [0x001083, 0x001084], + [0x001087, 0x00108C], + [0x00108E, 0x00109C], + [0x00109E, 0x00135C], + [0x001360, 0x001711], + [0x001715, 0x001731], + [0x001735, 0x001751], + [0x001754, 0x001771], + [0x001774, 0x0017B3], + [0x0017BE, 0x0017C5], + [0x0017C7, 0x0017C8], + [0x0017D4, 0x0017DC], + [0x0017DE, 0x00180A], + [0x00180E, 0x001884], + [0x001887, 0x0018A8], + [0x0018AA, 0x00191F], + [0x001923, 0x001926], + [0x001929, 0x001931], + [0x001933, 0x001938], + [0x00193C, 0x001A16], + [0x001A19, 0x001A1A], + [0x001A1C, 0x001A55], + [0x001A63, 0x001A64], + [0x001A6D, 0x001A72], + [0x001A7D, 0x001A7E], + [0x001A80, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B04, 0x001B33], + [0x001B3D, 0x001B41], + [0x001B43, 0x001B6A], + [0x001B74, 0x001B7F], + [0x001B82, 0x001BA1], + [0x001BA6, 0x001BA7], + [0x001BAE, 0x001BE5], + [0x001BEA, 0x001BEC], + [0x001BF2, 0x001C2B], + [0x001C34, 0x001C35], + [0x001C38, 0x001CCF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF7], + [0x001CFA, 0x001DBF], + [0x001E00, 0x00200B], + [0x00200D, 0x0020CF], + [0x0020F1, 0x002CEE], + [0x002CF2, 0x002D7E], + [0x002D80, 0x002DDF], + [0x002E00, 0x003029], + [0x003030, 0x003098], + [0x00309B, 0x00A66E], + [0x00A67E, 0x00A69D], + [0x00A6A0, 0x00A6EF], + [0x00A6F2, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A824], + [0x00A827, 0x00A82B], + [0x00A82D, 0x00A8C3], + [0x00A8C6, 0x00A8DF], + [0x00A8F2, 0x00A8FE], + [0x00A900, 0x00A925], + [0x00A92E, 0x00A946], + [0x00A952, 0x00A97F], + [0x00A983, 0x00A9B2], + [0x00A9B4, 0x00A9B5], + [0x00A9BA, 0x00A9BB], + [0x00A9BE, 0x00A9E4], + [0x00A9E6, 0x00AA28], + [0x00AA2F, 0x00AA30], + [0x00AA33, 0x00AA34], + [0x00AA37, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA4D, 0x00AA7B], + [0x00AA7D, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AAC2, 0x00AAEB], + [0x00AAEE, 0x00AAF5], + [0x00AAF7, 0x00ABE4], + [0x00ABE6, 0x00ABE7], + [0x00ABE9, 0x00ABEC], + [0x00ABEE, 0x00DBFF], + [0x00E000, 0x00FB1D], + [0x00FB1F, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE30, 0x00FF9D], + [0x00FFA0, 0x0101FC], + [0x0101FE, 0x0102DF], + [0x0102E1, 0x010375], + [0x01037B, 0x010A00], + [0x010A07, 0x010A0B], + [0x010A10, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A40, 0x010AE4], + [0x010AE7, 0x010D23], + [0x010D28, 0x010EAA], + [0x010EAD, 0x010F45], + [0x010F51, 0x011000], + [0x011002, 0x011037], + [0x011047, 0x01107E], + [0x011082, 0x0110B2], + [0x0110B7, 0x0110B8], + [0x0110BB, 0x0110FF], + [0x011103, 0x011126], + [0x011135, 0x011172], + [0x011174, 0x01117F], + [0x011182, 0x0111B5], + [0x0111BF, 0x0111C8], + [0x0111CD, 0x0111CE], + [0x0111D0, 0x01122E], + [0x011232, 0x011233], + [0x011238, 0x01123D], + [0x01123F, 0x0112DE], + [0x0112E0, 0x0112E2], + [0x0112EB, 0x0112FF], + [0x011302, 0x01133A], + [0x011341, 0x011356], + [0x011358, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x011437], + [0x011440, 0x011441], + [0x011447, 0x01145D], + [0x01145F, 0x0114AF], + [0x0114B1, 0x0114B2], + [0x0114BB, 0x0114BC], + [0x0114C4, 0x0115AE], + [0x0115B0, 0x0115B1], + [0x0115B6, 0x0115BB], + [0x0115C1, 0x0115DB], + [0x0115DE, 0x011632], + [0x01163B, 0x01163C], + [0x011641, 0x0116AA], + [0x0116AE, 0x0116AF], + [0x0116B8, 0x01171C], + [0x011720, 0x011721], + [0x01172C, 0x01182E], + [0x01183B, 0x01192F], + [0x011931, 0x01193A], + [0x01193F, 0x011942], + [0x011944, 0x0119D3], + [0x0119D8, 0x0119D9], + [0x0119DC, 0x0119DF], + [0x0119E1, 0x011A00], + [0x011A0B, 0x011A32], + [0x011A39, 0x011A3A], + [0x011A3F, 0x011A46], + [0x011A48, 0x011A50], + [0x011A57, 0x011A58], + [0x011A5C, 0x011A89], + [0x011A9A, 0x011C2F], + [0x011C40, 0x011C91], + [0x011CA8, 0x011CA9], + [0x011CB7, 0x011D30], + [0x011D37, 0x011D39], + [0x011D48, 0x011D8F], + [0x011D92, 0x011D94], + [0x011D98, 0x011EF2], + [0x011EF5, 0x016AEF], + [0x016AF5, 0x016B2F], + [0x016B37, 0x016F4E], + [0x016F50, 0x016F8E], + [0x016F93, 0x016FE3], + [0x016FE5, 0x01BC9C], + [0x01BC9F, 0x01D164], + [0x01D16A, 0x01D16D], + [0x01D173, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D241], + [0x01D245, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E12F], + [0x01E137, 0x01E2EB], + [0x01E2F0, 0x01E8CF], + [0x01E8D7, 0x01E943], + [0x01E94B, 0x0E001F], + [0x0E0080, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Grapheme_Extend}+$/u, + nonMatchSymbols, + "\\P{Grapheme_Extend}" +); +testPropertyEscapes( + /^\P{Gr_Ext}+$/u, + nonMatchSymbols, + "\\P{Gr_Ext}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Hex_Digit.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Hex_Digit.js new file mode 100644 index 0000000000..81b5ddb757 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Hex_Digit.js @@ -0,0 +1,63 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Hex_Digit` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x000046], + [0x000061, 0x000066], + [0x00FF10, 0x00FF19], + [0x00FF21, 0x00FF26], + [0x00FF41, 0x00FF46] + ] +}); +testPropertyEscapes( + /^\p{Hex_Digit}+$/u, + matchSymbols, + "\\p{Hex_Digit}" +); +testPropertyEscapes( + /^\p{Hex}+$/u, + matchSymbols, + "\\p{Hex}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x000047, 0x000060], + [0x000067, 0x00DBFF], + [0x00E000, 0x00FF0F], + [0x00FF1A, 0x00FF20], + [0x00FF27, 0x00FF40], + [0x00FF47, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Hex_Digit}+$/u, + nonMatchSymbols, + "\\P{Hex_Digit}" +); +testPropertyEscapes( + /^\P{Hex}+$/u, + nonMatchSymbols, + "\\P{Hex}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js new file mode 100644 index 0000000000..f14ebc4a2a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js @@ -0,0 +1,55 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `IDS_Binary_Operator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x002FF0, 0x002FF1], + [0x002FF4, 0x002FFB] + ] +}); +testPropertyEscapes( + /^\p{IDS_Binary_Operator}+$/u, + matchSymbols, + "\\p{IDS_Binary_Operator}" +); +testPropertyEscapes( + /^\p{IDSB}+$/u, + matchSymbols, + "\\p{IDSB}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002FEF], + [0x002FF2, 0x002FF3], + [0x002FFC, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{IDS_Binary_Operator}+$/u, + nonMatchSymbols, + "\\P{IDS_Binary_Operator}" +); +testPropertyEscapes( + /^\P{IDSB}+$/u, + nonMatchSymbols, + "\\P{IDSB}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/IDS_Trinary_Operator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/IDS_Trinary_Operator.js new file mode 100644 index 0000000000..a8c33b0925 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/IDS_Trinary_Operator.js @@ -0,0 +1,53 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `IDS_Trinary_Operator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x002FF2, 0x002FF3] + ] +}); +testPropertyEscapes( + /^\p{IDS_Trinary_Operator}+$/u, + matchSymbols, + "\\p{IDS_Trinary_Operator}" +); +testPropertyEscapes( + /^\p{IDST}+$/u, + matchSymbols, + "\\p{IDST}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002FF1], + [0x002FF4, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{IDS_Trinary_Operator}+$/u, + nonMatchSymbols, + "\\P{IDS_Trinary_Operator}" +); +testPropertyEscapes( + /^\P{IDST}+$/u, + nonMatchSymbols, + "\\P{IDST}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js new file mode 100644 index 0000000000..fe15765084 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js @@ -0,0 +1,1513 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `ID_Continue` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x0000AA, + 0x0000B5, + 0x0000B7, + 0x0000BA, + 0x0002EC, + 0x0002EE, + 0x00037F, + 0x00038C, + 0x000559, + 0x0005BF, + 0x0005C7, + 0x0006FF, + 0x0007FA, + 0x0007FD, + 0x0009B2, + 0x0009D7, + 0x0009FC, + 0x0009FE, + 0x000A3C, + 0x000A51, + 0x000A5E, + 0x000AD0, + 0x000B71, + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x000CDE, + 0x000DBD, + 0x000DCA, + 0x000DD6, + 0x000E84, + 0x000EA5, + 0x000EC6, + 0x000F00, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017D7, + 0x001AA7, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002054, + 0x002071, + 0x00207F, + 0x0020E1, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x002D6F, + 0x00A82C, + 0x00A8FB, + 0x00FB3E, + 0x00FF3F, + 0x0101FD, + 0x0102E0, + 0x010808, + 0x01083C, + 0x010A3F, + 0x010F27, + 0x011176, + 0x0111DC, + 0x01123E, + 0x011288, + 0x011350, + 0x011357, + 0x0114C7, + 0x011644, + 0x011909, + 0x011A47, + 0x011A9D, + 0x011D3A, + 0x011FB0, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01DA75, + 0x01DA84, + 0x01E14E, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000300, 0x000374], + [0x000376, 0x000377], + [0x00037A, 0x00037D], + [0x000386, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x000483, 0x000487], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x000591, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000610, 0x00061A], + [0x000620, 0x000669], + [0x00066E, 0x0006D3], + [0x0006D5, 0x0006DC], + [0x0006DF, 0x0006E8], + [0x0006EA, 0x0006FC], + [0x000710, 0x00074A], + [0x00074D, 0x0007B1], + [0x0007C0, 0x0007F5], + [0x000800, 0x00082D], + [0x000840, 0x00085B], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x000963], + [0x000966, 0x00096F], + [0x000971, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009F1], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A75], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AEF], + [0x000AF9, 0x000AFF], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B6F], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BEF], + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C80, 0x000C83], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4E], + [0x000D54, 0x000D57], + [0x000D5F, 0x000D63], + [0x000D66, 0x000D6F], + [0x000D7A, 0x000D7F], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF3], + [0x000E01, 0x000E3A], + [0x000E40, 0x000E4E], + [0x000E50, 0x000E59], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF], + [0x000F18, 0x000F19], + [0x000F20, 0x000F29], + [0x000F3E, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F84], + [0x000F86, 0x000F97], + [0x000F99, 0x000FBC], + [0x001000, 0x001049], + [0x001050, 0x00109D], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00135F], + [0x001369, 0x001371], + [0x001380, 0x00138F], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001714], + [0x001720, 0x001734], + [0x001740, 0x001753], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773], + [0x001780, 0x0017D3], + [0x0017DC, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x00180B, 0x00180D], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001946, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x001A00, 0x001A1B], + [0x001A20, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AB0, 0x001ABD], + [0x001ABF, 0x001AC0], + [0x001B00, 0x001B4B], + [0x001B50, 0x001B59], + [0x001B6B, 0x001B73], + [0x001B80, 0x001BF3], + [0x001C00, 0x001C37], + [0x001C40, 0x001C49], + [0x001C4D, 0x001C7D], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CFA], + [0x001D00, 0x001DF9], + [0x001DFB, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x00203F, 0x002040], + [0x002090, 0x00209C], + [0x0020D0, 0x0020DC], + [0x0020E5, 0x0020F0], + [0x00210A, 0x002113], + [0x002118, 0x00211D], + [0x00212A, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002160, 0x002188], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CF3], + [0x002D00, 0x002D25], + [0x002D30, 0x002D67], + [0x002D7F, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002DE0, 0x002DFF], + [0x003005, 0x003007], + [0x003021, 0x00302F], + [0x003031, 0x003035], + [0x003038, 0x00303C], + [0x003041, 0x003096], + [0x003099, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A4D0, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A62B], + [0x00A640, 0x00A66F], + [0x00A674, 0x00A67D], + [0x00A67F, 0x00A6F1], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A827], + [0x00A840, 0x00A873], + [0x00A880, 0x00A8C5], + [0x00A8D0, 0x00A8D9], + [0x00A8E0, 0x00A8F7], + [0x00A8FD, 0x00A92D], + [0x00A930, 0x00A953], + [0x00A960, 0x00A97C], + [0x00A980, 0x00A9C0], + [0x00A9CF, 0x00A9D9], + [0x00A9E0, 0x00A9FE], + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA60, 0x00AA76], + [0x00AA7A, 0x00AAC2], + [0x00AADB, 0x00AADD], + [0x00AAE0, 0x00AAEF], + [0x00AAF2, 0x00AAF6], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB70, 0x00ABEA], + [0x00ABEC, 0x00ABED], + [0x00ABF0, 0x00ABF9], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1D, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFB], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2F], + [0x00FE33, 0x00FE34], + [0x00FE4D, 0x00FE4F], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF10, 0x00FF19], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010140, 0x010174], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x01034A], + [0x010350, 0x01037A], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x0103D1, 0x0103D5], + [0x010400, 0x01049D], + [0x0104A0, 0x0104A9], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A00, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE6], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010D00, 0x010D27], + [0x010D30, 0x010D39], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAC], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F50], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011000, 0x011046], + [0x011066, 0x01106F], + [0x01107F, 0x0110BA], + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9], + [0x011100, 0x011134], + [0x011136, 0x01113F], + [0x011144, 0x011147], + [0x011150, 0x011173], + [0x011180, 0x0111C4], + [0x0111C9, 0x0111CC], + [0x0111CE, 0x0111DA], + [0x011200, 0x011211], + [0x011213, 0x011237], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133B, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011400, 0x01144A], + [0x011450, 0x011459], + [0x01145E, 0x011461], + [0x011480, 0x0114C5], + [0x0114D0, 0x0114D9], + [0x011580, 0x0115B5], + [0x0115B8, 0x0115C0], + [0x0115D8, 0x0115DD], + [0x011600, 0x011640], + [0x011650, 0x011659], + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9], + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x011739], + [0x011800, 0x01183A], + [0x0118A0, 0x0118E9], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011943], + [0x011950, 0x011959], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E1], + [0x0119E3, 0x0119E4], + [0x011A00, 0x011A3E], + [0x011A50, 0x011A99], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C40], + [0x011C50, 0x011C59], + [0x011C72, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9], + [0x011EE0, 0x011EF6], + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF4], + [0x016B00, 0x016B36], + [0x016B40, 0x016B43], + [0x016B50, 0x016B59], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E7F], + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x016FE3, 0x016FE4], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9D, 0x01BC9E], + [0x01D165, 0x01D169], + [0x01D16D, 0x01D172], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D242, 0x01D244], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01D7CE, 0x01D7FF], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E2C0, 0x01E2F9], + [0x01E800, 0x01E8C4], + [0x01E8D0, 0x01E8D6], + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01FBF0, 0x01FBF9], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{ID_Continue}+$/u, + matchSymbols, + "\\p{ID_Continue}" +); +testPropertyEscapes( + /^\p{IDC}+$/u, + matchSymbols, + "\\p{IDC}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000060, + 0x0000B6, + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x00037E, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000482, + 0x000530, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x0006D4, + 0x0006E9, + 0x0008B5, + 0x0008E2, + 0x000970, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x0009FD, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA, + 0x000B00, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B70, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57, + 0x000C84, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49, + 0x000D80, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7, + 0x000E4F, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7, + 0x000F36, + 0x000F38, + 0x000F48, + 0x000F85, + 0x000F98, + 0x0010C6, + 0x0010FB, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x001771, + 0x00191F, + 0x001A5F, + 0x001ABE, + 0x001CD3, + 0x001DFA, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002DDF, + 0x003030, + 0x0030A0, + 0x0030FB, + 0x003130, + 0x00A67E, + 0x00A8FC, + 0x00A9FF, + 0x00AB27, + 0x00AB2F, + 0x00AB5B, + 0x00ABEB, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE75, + 0x00FF40, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x0103D0, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A04, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x010EAA, + 0x011135, + 0x0111CD, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133A, + 0x0114C6, + 0x011914, + 0x011917, + 0x011936, + 0x0119E2, + 0x011C09, + 0x011C37, + 0x011CA8, + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E, + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92, + 0x016A5F, + 0x016FE2, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B8, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x0002FF], + [0x000378, 0x000379], + [0x000380, 0x000385], + [0x000488, 0x000489], + [0x000557, 0x000558], + [0x00055A, 0x00055F], + [0x000589, 0x000590], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00060F], + [0x00061B, 0x00061F], + [0x00066A, 0x00066D], + [0x0006DD, 0x0006DE], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x00074B, 0x00074C], + [0x0007B2, 0x0007BF], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FC], + [0x0007FE, 0x0007FF], + [0x00082E, 0x00083F], + [0x00085C, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x0008D2], + [0x000964, 0x000965], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009F2, 0x0009FB], + [0x0009FF, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A76, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF0, 0x000AF8], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B72, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BF0, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C7F], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x000CFF], + [0x000D4F, 0x000D53], + [0x000D58, 0x000D5E], + [0x000D64, 0x000D65], + [0x000D70, 0x000D79], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF4, 0x000E00], + [0x000E3B, 0x000E3F], + [0x000E5A, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F17], + [0x000F1A, 0x000F1F], + [0x000F2A, 0x000F34], + [0x000F3A, 0x000F3D], + [0x000F6D, 0x000F70], + [0x000FBD, 0x000FC5], + [0x000FC7, 0x000FFF], + [0x00104A, 0x00104F], + [0x00109E, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x001360, 0x001368], + [0x001372, 0x00137F], + [0x001390, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x0016FF], + [0x001715, 0x00171F], + [0x001735, 0x00173F], + [0x001754, 0x00175F], + [0x001774, 0x00177F], + [0x0017D4, 0x0017D6], + [0x0017D8, 0x0017DB], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x00180A], + [0x00180E, 0x00180F], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x001945], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019FF], + [0x001A1C, 0x001A1F], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001AA6], + [0x001AA8, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B5A, 0x001B6A], + [0x001B74, 0x001B7F], + [0x001BF4, 0x001BFF], + [0x001C38, 0x001C3F], + [0x001C4A, 0x001C4C], + [0x001C7E, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CCF], + [0x001CFB, 0x001CFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x00203E], + [0x002041, 0x002053], + [0x002055, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x0020CF], + [0x0020DD, 0x0020E0], + [0x0020E2, 0x0020E4], + [0x0020F1, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002117], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D70, 0x002D7E], + [0x002D97, 0x002D9F], + [0x002E00, 0x003004], + [0x003008, 0x003020], + [0x003036, 0x003037], + [0x00303D, 0x003040], + [0x003097, 0x003098], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A62C, 0x00A63F], + [0x00A670, 0x00A673], + [0x00A6F2, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A828, 0x00A82B], + [0x00A82D, 0x00A83F], + [0x00A874, 0x00A87F], + [0x00A8C6, 0x00A8CF], + [0x00A8DA, 0x00A8DF], + [0x00A8F8, 0x00A8FA], + [0x00A92E, 0x00A92F], + [0x00A954, 0x00A95F], + [0x00A97D, 0x00A97F], + [0x00A9C1, 0x00A9CE], + [0x00A9DA, 0x00A9DF], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AAC3, 0x00AADA], + [0x00AADE, 0x00AADF], + [0x00AAF0, 0x00AAF1], + [0x00AAF7, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6A, 0x00AB6F], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFC, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE30, 0x00FE32], + [0x00FE35, 0x00FE4C], + [0x00FE50, 0x00FE6F], + [0x00FEFD, 0x00FF0F], + [0x00FF1A, 0x00FF20], + [0x00FF3B, 0x00FF3E], + [0x00FF5B, 0x00FF65], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01013F], + [0x010175, 0x0101FC], + [0x0101FE, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102DF], + [0x0102E1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034B, 0x01034F], + [0x01037B, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x01049F], + [0x0104AA, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A40, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE7, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CFF], + [0x010D28, 0x010D2F], + [0x010D3A, 0x010E7F], + [0x010EAD, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F51, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x011047, 0x011065], + [0x011070, 0x01107E], + [0x0110BB, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x0110FF], + [0x011140, 0x011143], + [0x011148, 0x01114F], + [0x011174, 0x011175], + [0x011177, 0x01117F], + [0x0111C5, 0x0111C8], + [0x0111DD, 0x0111FF], + [0x011238, 0x01123D], + [0x01123F, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x0113FF], + [0x01144B, 0x01144F], + [0x01145A, 0x01145D], + [0x011462, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115C1, 0x0115D7], + [0x0115DE, 0x0115FF], + [0x011641, 0x011643], + [0x011645, 0x01164F], + [0x01165A, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x01173A, 0x0117FF], + [0x01183B, 0x01189F], + [0x0118EA, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011944, 0x01194F], + [0x01195A, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x0119FF], + [0x011A3F, 0x011A46], + [0x011A48, 0x011A4F], + [0x011A9A, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C41, 0x011C4F], + [0x011C5A, 0x011C71], + [0x011C90, 0x011C91], + [0x011CB7, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x011EDF], + [0x011EF7, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x0123FF], + [0x01246F, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A6A, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF5, 0x016AFF], + [0x016B37, 0x016B3F], + [0x016B44, 0x016B4F], + [0x016B5A, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E80, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE5, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9C], + [0x01BC9F, 0x01D164], + [0x01D16A, 0x01D16C], + [0x01D173, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D241], + [0x01D245, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01D800, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2FA, 0x01E7FF], + [0x01E8C5, 0x01E8CF], + [0x01E8D7, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01FBEF], + [0x01FBFA, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{ID_Continue}+$/u, + nonMatchSymbols, + "\\P{ID_Continue}" +); +testPropertyEscapes( + /^\P{IDC}+$/u, + nonMatchSymbols, + "\\P{IDC}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ID_Start.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ID_Start.js new file mode 100644 index 0000000000..1971844ac7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/ID_Start.js @@ -0,0 +1,1297 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `ID_Start` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000B5, + 0x0000BA, + 0x0002EC, + 0x0002EE, + 0x00037F, + 0x000386, + 0x00038C, + 0x000559, + 0x0006D5, + 0x0006FF, + 0x000710, + 0x0007B1, + 0x0007FA, + 0x00081A, + 0x000824, + 0x000828, + 0x00093D, + 0x000950, + 0x0009B2, + 0x0009BD, + 0x0009CE, + 0x0009FC, + 0x000A5E, + 0x000ABD, + 0x000AD0, + 0x000AF9, + 0x000B3D, + 0x000B71, + 0x000B83, + 0x000B9C, + 0x000BD0, + 0x000C3D, + 0x000C80, + 0x000CBD, + 0x000CDE, + 0x000D3D, + 0x000D4E, + 0x000DBD, + 0x000E84, + 0x000EA5, + 0x000EBD, + 0x000EC6, + 0x000F00, + 0x00103F, + 0x001061, + 0x00108E, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017D7, + 0x0017DC, + 0x0018AA, + 0x001AA7, + 0x001CFA, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002071, + 0x00207F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x002D6F, + 0x00A8FB, + 0x00A9CF, + 0x00AA7A, + 0x00AAB1, + 0x00AAC0, + 0x00AAC2, + 0x00FB1D, + 0x00FB3E, + 0x010808, + 0x01083C, + 0x010A00, + 0x010F27, + 0x011144, + 0x011147, + 0x011176, + 0x0111DA, + 0x0111DC, + 0x011288, + 0x01133D, + 0x011350, + 0x0114C7, + 0x011644, + 0x0116B8, + 0x011909, + 0x01193F, + 0x011941, + 0x0119E1, + 0x0119E3, + 0x011A00, + 0x011A3A, + 0x011A50, + 0x011A9D, + 0x011C40, + 0x011D46, + 0x011D98, + 0x011FB0, + 0x016F50, + 0x016FE3, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E14E, + 0x01E94B, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000370, 0x000374], + [0x000376, 0x000377], + [0x00037A, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000620, 0x00064A], + [0x00066E, 0x00066F], + [0x000671, 0x0006D3], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x0006EF], + [0x0006FA, 0x0006FC], + [0x000712, 0x00072F], + [0x00074D, 0x0007A5], + [0x0007CA, 0x0007EA], + [0x0007F4, 0x0007F5], + [0x000800, 0x000815], + [0x000840, 0x000858], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x000904, 0x000939], + [0x000958, 0x000961], + [0x000971, 0x000980], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E1], + [0x0009F0, 0x0009F1], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A59, 0x000A5C], + [0x000A72, 0x000A74], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000AE0, 0x000AE1], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B61], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000C05, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C61], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CE0, 0x000CE1], + [0x000CF1, 0x000CF2], + [0x000D04, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D3A], + [0x000D54, 0x000D56], + [0x000D5F, 0x000D61], + [0x000D7A, 0x000D7F], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000E01, 0x000E30], + [0x000E32, 0x000E33], + [0x000E40, 0x000E46], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EB0], + [0x000EB2, 0x000EB3], + [0x000EC0, 0x000EC4], + [0x000EDC, 0x000EDF], + [0x000F40, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F88, 0x000F8C], + [0x001000, 0x00102A], + [0x001050, 0x001055], + [0x00105A, 0x00105D], + [0x001065, 0x001066], + [0x00106E, 0x001070], + [0x001075, 0x001081], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x001380, 0x00138F], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001711], + [0x001720, 0x001731], + [0x001740, 0x001751], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001780, 0x0017B3], + [0x001820, 0x001878], + [0x001880, 0x0018A8], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001950, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x001A00, 0x001A16], + [0x001A20, 0x001A54], + [0x001B05, 0x001B33], + [0x001B45, 0x001B4B], + [0x001B83, 0x001BA0], + [0x001BAE, 0x001BAF], + [0x001BBA, 0x001BE5], + [0x001C00, 0x001C23], + [0x001C4D, 0x001C4F], + [0x001C5A, 0x001C7D], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x001D00, 0x001DBF], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x002090, 0x00209C], + [0x00210A, 0x002113], + [0x002118, 0x00211D], + [0x00212A, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002160, 0x002188], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x002D30, 0x002D67], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x003005, 0x003007], + [0x003021, 0x003029], + [0x003031, 0x003035], + [0x003038, 0x00303C], + [0x003041, 0x003096], + [0x00309B, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A4D0, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A61F], + [0x00A62A, 0x00A62B], + [0x00A640, 0x00A66E], + [0x00A67F, 0x00A69D], + [0x00A6A0, 0x00A6EF], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A822], + [0x00A840, 0x00A873], + [0x00A882, 0x00A8B3], + [0x00A8F2, 0x00A8F7], + [0x00A8FD, 0x00A8FE], + [0x00A90A, 0x00A925], + [0x00A930, 0x00A946], + [0x00A960, 0x00A97C], + [0x00A984, 0x00A9B2], + [0x00A9E0, 0x00A9E4], + [0x00A9E6, 0x00A9EF], + [0x00A9FA, 0x00A9FE], + [0x00AA00, 0x00AA28], + [0x00AA40, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA60, 0x00AA76], + [0x00AA7E, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AADB, 0x00AADD], + [0x00AAE0, 0x00AAEA], + [0x00AAF2, 0x00AAF4], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB70, 0x00ABE2], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1F, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFB], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010140, 0x010174], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x01034A], + [0x010350, 0x010375], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x0103D1, 0x0103D5], + [0x010400, 0x01049D], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A10, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE4], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010D00, 0x010D23], + [0x010E80, 0x010EA9], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F45], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011003, 0x011037], + [0x011083, 0x0110AF], + [0x0110D0, 0x0110E8], + [0x011103, 0x011126], + [0x011150, 0x011172], + [0x011183, 0x0111B2], + [0x0111C1, 0x0111C4], + [0x011200, 0x011211], + [0x011213, 0x01122B], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112DE], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01135D, 0x011361], + [0x011400, 0x011434], + [0x011447, 0x01144A], + [0x01145F, 0x011461], + [0x011480, 0x0114AF], + [0x0114C4, 0x0114C5], + [0x011580, 0x0115AE], + [0x0115D8, 0x0115DB], + [0x011600, 0x01162F], + [0x011680, 0x0116AA], + [0x011700, 0x01171A], + [0x011800, 0x01182B], + [0x0118A0, 0x0118DF], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x01192F], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D0], + [0x011A0B, 0x011A32], + [0x011A5C, 0x011A89], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C2E], + [0x011C72, 0x011C8F], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D30], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D89], + [0x011EE0, 0x011EF2], + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016AD0, 0x016AED], + [0x016B00, 0x016B2F], + [0x016B40, 0x016B43], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E7F], + [0x016F00, 0x016F4A], + [0x016F93, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01E100, 0x01E12C], + [0x01E137, 0x01E13D], + [0x01E2C0, 0x01E2EB], + [0x01E800, 0x01E8C4], + [0x01E900, 0x01E943], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{ID_Start}+$/u, + matchSymbols, + "\\p{ID_Start}" +); +testPropertyEscapes( + /^\p{IDS}+$/u, + matchSymbols, + "\\p{IDS}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000530, + 0x000670, + 0x0006D4, + 0x000711, + 0x0008B5, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A5D, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CDF, + 0x000D0D, + 0x000D11, + 0x000DB2, + 0x000DBC, + 0x000E31, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EB1, + 0x000EC5, + 0x000F48, + 0x0010C6, + 0x0010FB, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x0018A9, + 0x001CED, + 0x001CF4, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x0030A0, + 0x0030FB, + 0x003130, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A8FC, + 0x00A9E5, + 0x00A9FF, + 0x00AA43, + 0x00AAB0, + 0x00AAC1, + 0x00AB27, + 0x00AB2F, + 0x00AB5B, + 0x00FB1E, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE75, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x0103D0, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011329, + 0x011331, + 0x011334, + 0x0114C6, + 0x011914, + 0x011917, + 0x011940, + 0x0119E2, + 0x011C09, + 0x011D07, + 0x011D0A, + 0x011D66, + 0x011D69, + 0x016FE2, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B6, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x00036F], + [0x000378, 0x000379], + [0x000380, 0x000385], + [0x000482, 0x000489], + [0x000557, 0x000558], + [0x00055A, 0x00055F], + [0x000589, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00061F], + [0x00064B, 0x00066D], + [0x0006D6, 0x0006E4], + [0x0006E7, 0x0006ED], + [0x0006F0, 0x0006F9], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x000730, 0x00074C], + [0x0007A6, 0x0007B0], + [0x0007B2, 0x0007C9], + [0x0007EB, 0x0007F3], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FF], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00083F], + [0x000859, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x000903], + [0x00093A, 0x00093C], + [0x00093E, 0x00094F], + [0x000951, 0x000957], + [0x000962, 0x000970], + [0x000981, 0x000984], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BC], + [0x0009BE, 0x0009CD], + [0x0009CF, 0x0009DB], + [0x0009E2, 0x0009EF], + [0x0009F2, 0x0009FB], + [0x0009FD, 0x000A04], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A58], + [0x000A5F, 0x000A71], + [0x000A75, 0x000A84], + [0x000ABA, 0x000ABC], + [0x000ABE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE2, 0x000AF8], + [0x000AFA, 0x000B04], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3C], + [0x000B3E, 0x000B5B], + [0x000B62, 0x000B70], + [0x000B72, 0x000B82], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BCF], + [0x000BD1, 0x000C04], + [0x000C3A, 0x000C3C], + [0x000C3E, 0x000C57], + [0x000C5B, 0x000C5F], + [0x000C62, 0x000C7F], + [0x000C81, 0x000C84], + [0x000CBA, 0x000CBC], + [0x000CBE, 0x000CDD], + [0x000CE2, 0x000CF0], + [0x000CF3, 0x000D03], + [0x000D3B, 0x000D3C], + [0x000D3E, 0x000D4D], + [0x000D4F, 0x000D53], + [0x000D57, 0x000D5E], + [0x000D62, 0x000D79], + [0x000D80, 0x000D84], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000E00], + [0x000E34, 0x000E3F], + [0x000E47, 0x000E80], + [0x000EB4, 0x000EBC], + [0x000EBE, 0x000EBF], + [0x000EC7, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F3F], + [0x000F6D, 0x000F87], + [0x000F8D, 0x000FFF], + [0x00102B, 0x00103E], + [0x001040, 0x00104F], + [0x001056, 0x001059], + [0x00105E, 0x001060], + [0x001062, 0x001064], + [0x001067, 0x00106D], + [0x001071, 0x001074], + [0x001082, 0x00108D], + [0x00108F, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00137F], + [0x001390, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x0016FF], + [0x001712, 0x00171F], + [0x001732, 0x00173F], + [0x001752, 0x00175F], + [0x001771, 0x00177F], + [0x0017B4, 0x0017D6], + [0x0017D8, 0x0017DB], + [0x0017DD, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00191F, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019FF], + [0x001A17, 0x001A1F], + [0x001A55, 0x001AA6], + [0x001AA8, 0x001B04], + [0x001B34, 0x001B44], + [0x001B4C, 0x001B82], + [0x001BA1, 0x001BAD], + [0x001BB0, 0x001BB9], + [0x001BE6, 0x001BFF], + [0x001C24, 0x001C4C], + [0x001C50, 0x001C59], + [0x001C7E, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001CFB, 0x001CFF], + [0x001DC0, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002117], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D70, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x003004], + [0x003008, 0x003020], + [0x00302A, 0x003030], + [0x003036, 0x003037], + [0x00303D, 0x003040], + [0x003097, 0x00309A], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A620, 0x00A629], + [0x00A62C, 0x00A63F], + [0x00A66F, 0x00A67E], + [0x00A69E, 0x00A69F], + [0x00A6F0, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A823, 0x00A83F], + [0x00A874, 0x00A881], + [0x00A8B4, 0x00A8F1], + [0x00A8F8, 0x00A8FA], + [0x00A8FF, 0x00A909], + [0x00A926, 0x00A92F], + [0x00A947, 0x00A95F], + [0x00A97D, 0x00A983], + [0x00A9B3, 0x00A9CE], + [0x00A9D0, 0x00A9DF], + [0x00A9F0, 0x00A9F9], + [0x00AA29, 0x00AA3F], + [0x00AA4C, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AA7B, 0x00AA7D], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAC3, 0x00AADA], + [0x00AADE, 0x00AADF], + [0x00AAEB, 0x00AAF1], + [0x00AAF5, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6A, 0x00AB6F], + [0x00ABE3, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFC, 0x00FE6F], + [0x00FEFD, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x00FF65], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01013F], + [0x010175, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034B, 0x01034F], + [0x010376, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A01, 0x010A0F], + [0x010A36, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE5, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CFF], + [0x010D24, 0x010E7F], + [0x010EAA, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F46, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x011002], + [0x011038, 0x011082], + [0x0110B0, 0x0110CF], + [0x0110E9, 0x011102], + [0x011127, 0x011143], + [0x011145, 0x011146], + [0x011148, 0x01114F], + [0x011173, 0x011175], + [0x011177, 0x011182], + [0x0111B3, 0x0111C0], + [0x0111C5, 0x0111D9], + [0x0111DD, 0x0111FF], + [0x01122C, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112DF, 0x011304], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133C], + [0x01133E, 0x01134F], + [0x011351, 0x01135C], + [0x011362, 0x0113FF], + [0x011435, 0x011446], + [0x01144B, 0x01145E], + [0x011462, 0x01147F], + [0x0114B0, 0x0114C3], + [0x0114C8, 0x01157F], + [0x0115AF, 0x0115D7], + [0x0115DC, 0x0115FF], + [0x011630, 0x011643], + [0x011645, 0x01167F], + [0x0116AB, 0x0116B7], + [0x0116B9, 0x0116FF], + [0x01171B, 0x0117FF], + [0x01182C, 0x01189F], + [0x0118E0, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011930, 0x01193E], + [0x011942, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D1, 0x0119E0], + [0x0119E4, 0x0119FF], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A39], + [0x011A3B, 0x011A4F], + [0x011A51, 0x011A5B], + [0x011A8A, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C2F, 0x011C3F], + [0x011C41, 0x011C71], + [0x011C90, 0x011CFF], + [0x011D31, 0x011D45], + [0x011D47, 0x011D5F], + [0x011D8A, 0x011D97], + [0x011D99, 0x011EDF], + [0x011EF3, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x0123FF], + [0x01246F, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A5F, 0x016ACF], + [0x016AEE, 0x016AFF], + [0x016B30, 0x016B3F], + [0x016B44, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E80, 0x016EFF], + [0x016F4B, 0x016F4F], + [0x016F51, 0x016F92], + [0x016FA0, 0x016FDF], + [0x016FE4, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01E0FF], + [0x01E12D, 0x01E136], + [0x01E13E, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2EC, 0x01E7FF], + [0x01E8C5, 0x01E8FF], + [0x01E944, 0x01E94A], + [0x01E94C, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{ID_Start}+$/u, + nonMatchSymbols, + "\\P{ID_Start}" +); +testPropertyEscapes( + /^\P{IDS}+$/u, + nonMatchSymbols, + "\\P{IDS}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Ideographic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Ideographic.js new file mode 100644 index 0000000000..b89c803628 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Ideographic.js @@ -0,0 +1,90 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Ideographic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE4 + ], + ranges: [ + [0x003006, 0x003007], + [0x003021, 0x003029], + [0x003038, 0x00303A], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B170, 0x01B2FB], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{Ideographic}+$/u, + matchSymbols, + "\\p{Ideographic}" +); +testPropertyEscapes( + /^\p{Ideo}+$/u, + matchSymbols, + "\\p{Ideo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x003005], + [0x003008, 0x003020], + [0x00302A, 0x003037], + [0x00303B, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x016FE3], + [0x016FE5, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01B16F], + [0x01B2FC, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Ideographic}+$/u, + nonMatchSymbols, + "\\P{Ideographic}" +); +testPropertyEscapes( + /^\P{Ideo}+$/u, + nonMatchSymbols, + "\\P{Ideo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Join_Control.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Join_Control.js new file mode 100644 index 0000000000..890e5e234c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Join_Control.js @@ -0,0 +1,53 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Join_Control` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00200C, 0x00200D] + ] +}); +testPropertyEscapes( + /^\p{Join_Control}+$/u, + matchSymbols, + "\\p{Join_Control}" +); +testPropertyEscapes( + /^\p{Join_C}+$/u, + matchSymbols, + "\\p{Join_C}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00200B], + [0x00200E, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Join_Control}+$/u, + nonMatchSymbols, + "\\P{Join_Control}" +); +testPropertyEscapes( + /^\P{Join_C}+$/u, + nonMatchSymbols, + "\\P{Join_C}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Logical_Order_Exception.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Logical_Order_Exception.js new file mode 100644 index 0000000000..870f91b08c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Logical_Order_Exception.js @@ -0,0 +1,67 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Logical_Order_Exception` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0019BA, + 0x00AAB9 + ], + ranges: [ + [0x000E40, 0x000E44], + [0x000EC0, 0x000EC4], + [0x0019B5, 0x0019B7], + [0x00AAB5, 0x00AAB6], + [0x00AABB, 0x00AABC] + ] +}); +testPropertyEscapes( + /^\p{Logical_Order_Exception}+$/u, + matchSymbols, + "\\p{Logical_Order_Exception}" +); +testPropertyEscapes( + /^\p{LOE}+$/u, + matchSymbols, + "\\p{LOE}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00AABA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000E3F], + [0x000E45, 0x000EBF], + [0x000EC5, 0x0019B4], + [0x0019B8, 0x0019B9], + [0x0019BB, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABD, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Logical_Order_Exception}+$/u, + nonMatchSymbols, + "\\P{Logical_Order_Exception}" +); +testPropertyEscapes( + /^\P{LOE}+$/u, + nonMatchSymbols, + "\\P{LOE}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Lowercase.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Lowercase.js new file mode 100644 index 0000000000..1c0448ed94 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Lowercase.js @@ -0,0 +1,1357 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Lowercase` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000B5, + 0x0000BA, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001C6, + 0x0001C9, + 0x0001CC, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F3, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000345, + 0x000371, + 0x000373, + 0x000377, + 0x000390, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F5, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x000481, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x00052F, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001FBE, + 0x002071, + 0x00207F, + 0x00210A, + 0x002113, + 0x00212F, + 0x002134, + 0x002139, + 0x00214E, + 0x002184, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x002CEE, + 0x002CF3, + 0x002D27, + 0x002D2D, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A66D, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A787, + 0x00A78C, + 0x00A78E, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7BF, + 0x00A7C3, + 0x00A7C8, + 0x00A7CA, + 0x00A7F6, + 0x01D4BB, + 0x01D7CB + ], + ranges: [ + [0x000061, 0x00007A], + [0x0000DF, 0x0000F6], + [0x0000F8, 0x0000FF], + [0x000137, 0x000138], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BA], + [0x0001BD, 0x0001BF], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x000293], + [0x000295, 0x0002B8], + [0x0002C0, 0x0002C1], + [0x0002E0, 0x0002E4], + [0x00037A, 0x00037D], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D1], + [0x0003D5, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x0004CE, 0x0004CF], + [0x000560, 0x000588], + [0x0010D0, 0x0010FA], + [0x0010FD, 0x0010FF], + [0x0013F8, 0x0013FD], + [0x001C80, 0x001C88], + [0x001D00, 0x001DBF], + [0x001E95, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F15], + [0x001F20, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F45], + [0x001F50, 0x001F57], + [0x001F60, 0x001F67], + [0x001F70, 0x001F7D], + [0x001F80, 0x001F87], + [0x001F90, 0x001F97], + [0x001FA0, 0x001FA7], + [0x001FB0, 0x001FB4], + [0x001FB6, 0x001FB7], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FC7], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FD7], + [0x001FE0, 0x001FE7], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FF7], + [0x002090, 0x00209C], + [0x00210E, 0x00210F], + [0x00213C, 0x00213D], + [0x002146, 0x002149], + [0x002170, 0x00217F], + [0x0024D0, 0x0024E9], + [0x002C30, 0x002C5E], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7D], + [0x002CE3, 0x002CE4], + [0x002D00, 0x002D25], + [0x00A69B, 0x00A69D], + [0x00A72F, 0x00A731], + [0x00A76F, 0x00A778], + [0x00A793, 0x00A795], + [0x00A7F8, 0x00A7FA], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB68], + [0x00AB70, 0x00ABBF], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FF41, 0x00FF5A], + [0x010428, 0x01044F], + [0x0104D8, 0x0104FB], + [0x010CC0, 0x010CF2], + [0x0118C0, 0x0118DF], + [0x016E60, 0x016E7F], + [0x01D41A, 0x01D433], + [0x01D44E, 0x01D454], + [0x01D456, 0x01D467], + [0x01D482, 0x01D49B], + [0x01D4B6, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D4CF], + [0x01D4EA, 0x01D503], + [0x01D51E, 0x01D537], + [0x01D552, 0x01D56B], + [0x01D586, 0x01D59F], + [0x01D5BA, 0x01D5D3], + [0x01D5EE, 0x01D607], + [0x01D622, 0x01D63B], + [0x01D656, 0x01D66F], + [0x01D68A, 0x01D6A5], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6E1], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D71B], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D755], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D78F], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7C9], + [0x01E922, 0x01E943] + ] +}); +testPropertyEscapes( + /^\p{Lowercase}+$/u, + matchSymbols, + "\\p{Lowercase}" +); +testPropertyEscapes( + /^\p{Lower}+$/u, + matchSymbols, + "\\p{Lower}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000F7, + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000294, + 0x000372, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001FB5, + 0x001FC5, + 0x001FF5, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CED, + 0x002D26, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78D, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C9, + 0x00A7F7, + 0x00AB5B, + 0x01D455, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D6DB, + 0x01D715, + 0x01D74F, + 0x01D789, + 0x01D7C3, + 0x01D7CA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B6, 0x0000B9], + [0x0000BB, 0x0000DE], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001BB, 0x0001BC], + [0x0001C0, 0x0001C5], + [0x0001C7, 0x0001C8], + [0x0001CA, 0x0001CB], + [0x0001F1, 0x0001F2], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x0002B9, 0x0002BF], + [0x0002C2, 0x0002DF], + [0x0002E5, 0x000344], + [0x000346, 0x000370], + [0x000374, 0x000376], + [0x000378, 0x000379], + [0x00037E, 0x00038F], + [0x000391, 0x0003AB], + [0x0003D2, 0x0003D4], + [0x0003F6, 0x0003F7], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x000482, 0x00048A], + [0x0004C0, 0x0004C1], + [0x000530, 0x00055F], + [0x000589, 0x0010CF], + [0x0010FB, 0x0010FC], + [0x001100, 0x0013F7], + [0x0013FE, 0x001C7F], + [0x001C89, 0x001CFF], + [0x001DC0, 0x001E00], + [0x001F08, 0x001F0F], + [0x001F16, 0x001F1F], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F46, 0x001F4F], + [0x001F58, 0x001F5F], + [0x001F68, 0x001F6F], + [0x001F7E, 0x001F7F], + [0x001F88, 0x001F8F], + [0x001F98, 0x001F9F], + [0x001FA8, 0x001FAF], + [0x001FB8, 0x001FBD], + [0x001FBF, 0x001FC1], + [0x001FC8, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FD8, 0x001FDF], + [0x001FE8, 0x001FF1], + [0x001FF8, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002109], + [0x00210B, 0x00210D], + [0x002110, 0x002112], + [0x002114, 0x00212E], + [0x002130, 0x002133], + [0x002135, 0x002138], + [0x00213A, 0x00213B], + [0x00213E, 0x002145], + [0x00214A, 0x00214D], + [0x00214F, 0x00216F], + [0x002180, 0x002183], + [0x002185, 0x0024CF], + [0x0024EA, 0x002C2F], + [0x002C5F, 0x002C60], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7E, 0x002C80], + [0x002CE5, 0x002CEB], + [0x002CEF, 0x002CF2], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00A640], + [0x00A66E, 0x00A680], + [0x00A69E, 0x00A722], + [0x00A77D, 0x00A77E], + [0x00A788, 0x00A78B], + [0x00A78F, 0x00A790], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C0, 0x00A7C2], + [0x00A7C4, 0x00A7C7], + [0x00A7CB, 0x00A7F5], + [0x00A7FB, 0x00AB2F], + [0x00AB69, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FF40], + [0x00FF5B, 0x010427], + [0x010450, 0x0104D7], + [0x0104FC, 0x010CBF], + [0x010CF3, 0x0118BF], + [0x0118E0, 0x016E5F], + [0x016E80, 0x01D419], + [0x01D434, 0x01D44D], + [0x01D468, 0x01D481], + [0x01D49C, 0x01D4B5], + [0x01D4D0, 0x01D4E9], + [0x01D504, 0x01D51D], + [0x01D538, 0x01D551], + [0x01D56C, 0x01D585], + [0x01D5A0, 0x01D5B9], + [0x01D5D4, 0x01D5ED], + [0x01D608, 0x01D621], + [0x01D63C, 0x01D655], + [0x01D670, 0x01D689], + [0x01D6A6, 0x01D6C1], + [0x01D6E2, 0x01D6FB], + [0x01D71C, 0x01D735], + [0x01D756, 0x01D76F], + [0x01D790, 0x01D7A9], + [0x01D7CC, 0x01E921], + [0x01E944, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Lowercase}+$/u, + nonMatchSymbols, + "\\P{Lowercase}" +); +testPropertyEscapes( + /^\P{Lower}+$/u, + nonMatchSymbols, + "\\P{Lower}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Math.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Math.js new file mode 100644 index 0000000000..69b5884ca3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Math.js @@ -0,0 +1,319 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Math` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00002B, + 0x00005E, + 0x00007C, + 0x00007E, + 0x0000AC, + 0x0000B1, + 0x0000D7, + 0x0000F7, + 0x0003D5, + 0x002016, + 0x002040, + 0x002044, + 0x002052, + 0x0020E1, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x00214B, + 0x0021DD, + 0x00237C, + 0x0023B7, + 0x0023D0, + 0x0025E2, + 0x0025E4, + 0x002640, + 0x002642, + 0x00FB29, + 0x00FE68, + 0x00FF0B, + 0x00FF3C, + 0x00FF3E, + 0x00FF5C, + 0x00FF5E, + 0x00FFE2, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x00003C, 0x00003E], + [0x0003D0, 0x0003D2], + [0x0003F0, 0x0003F1], + [0x0003F4, 0x0003F6], + [0x000606, 0x000608], + [0x002032, 0x002034], + [0x002061, 0x002064], + [0x00207A, 0x00207E], + [0x00208A, 0x00208E], + [0x0020D0, 0x0020DC], + [0x0020E5, 0x0020E6], + [0x0020EB, 0x0020EF], + [0x00210A, 0x002113], + [0x002118, 0x00211D], + [0x002128, 0x002129], + [0x00212C, 0x00212D], + [0x00212F, 0x002131], + [0x002133, 0x002138], + [0x00213C, 0x002149], + [0x002190, 0x0021A7], + [0x0021A9, 0x0021AE], + [0x0021B0, 0x0021B1], + [0x0021B6, 0x0021B7], + [0x0021BC, 0x0021DB], + [0x0021E4, 0x0021E5], + [0x0021F4, 0x0022FF], + [0x002308, 0x00230B], + [0x002320, 0x002321], + [0x00239B, 0x0023B5], + [0x0023DC, 0x0023E2], + [0x0025A0, 0x0025A1], + [0x0025AE, 0x0025B7], + [0x0025BC, 0x0025C1], + [0x0025C6, 0x0025C7], + [0x0025CA, 0x0025CB], + [0x0025CF, 0x0025D3], + [0x0025E7, 0x0025EC], + [0x0025F8, 0x0025FF], + [0x002605, 0x002606], + [0x002660, 0x002663], + [0x00266D, 0x00266F], + [0x0027C0, 0x0027FF], + [0x002900, 0x002AFF], + [0x002B30, 0x002B44], + [0x002B47, 0x002B4C], + [0x00FE61, 0x00FE66], + [0x00FF1C, 0x00FF1E], + [0x00FFE9, 0x00FFEC], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01D7FF], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1] + ] +}); +testPropertyEscapes( + /^\p{Math}+$/u, + matchSymbols, + "\\p{Math}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00007D, + 0x002114, + 0x00212E, + 0x002132, + 0x00214A, + 0x0021A8, + 0x0021AF, + 0x0021DC, + 0x0023B6, + 0x0025E3, + 0x002641, + 0x00FE67, + 0x00FF3D, + 0x00FF5D, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002A], + [0x00002C, 0x00003B], + [0x00003F, 0x00005D], + [0x00005F, 0x00007B], + [0x00007F, 0x0000AB], + [0x0000AD, 0x0000B0], + [0x0000B2, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0003CF], + [0x0003D3, 0x0003D4], + [0x0003D6, 0x0003EF], + [0x0003F2, 0x0003F3], + [0x0003F7, 0x000605], + [0x000609, 0x002015], + [0x002017, 0x002031], + [0x002035, 0x00203F], + [0x002041, 0x002043], + [0x002045, 0x002051], + [0x002053, 0x002060], + [0x002065, 0x002079], + [0x00207F, 0x002089], + [0x00208F, 0x0020CF], + [0x0020DD, 0x0020E0], + [0x0020E2, 0x0020E4], + [0x0020E7, 0x0020EA], + [0x0020F0, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002117], + [0x00211E, 0x002123], + [0x002125, 0x002127], + [0x00212A, 0x00212B], + [0x002139, 0x00213B], + [0x00214C, 0x00218F], + [0x0021B2, 0x0021B5], + [0x0021B8, 0x0021BB], + [0x0021DE, 0x0021E3], + [0x0021E6, 0x0021F3], + [0x002300, 0x002307], + [0x00230C, 0x00231F], + [0x002322, 0x00237B], + [0x00237D, 0x00239A], + [0x0023B8, 0x0023CF], + [0x0023D1, 0x0023DB], + [0x0023E3, 0x00259F], + [0x0025A2, 0x0025AD], + [0x0025B8, 0x0025BB], + [0x0025C2, 0x0025C5], + [0x0025C8, 0x0025C9], + [0x0025CC, 0x0025CE], + [0x0025D4, 0x0025E1], + [0x0025E5, 0x0025E6], + [0x0025ED, 0x0025F7], + [0x002600, 0x002604], + [0x002607, 0x00263F], + [0x002643, 0x00265F], + [0x002664, 0x00266C], + [0x002670, 0x0027BF], + [0x002800, 0x0028FF], + [0x002B00, 0x002B2F], + [0x002B45, 0x002B46], + [0x002B4D, 0x00DBFF], + [0x00E000, 0x00FB28], + [0x00FB2A, 0x00FE60], + [0x00FE69, 0x00FF0A], + [0x00FF0C, 0x00FF1B], + [0x00FF1F, 0x00FF3B], + [0x00FF3F, 0x00FF5B], + [0x00FF5F, 0x00FFE1], + [0x00FFE3, 0x00FFE8], + [0x00FFED, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01D800, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Math}+$/u, + nonMatchSymbols, + "\\P{Math}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Noncharacter_Code_Point.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Noncharacter_Code_Point.js new file mode 100644 index 0000000000..70b2ab3fbf --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Noncharacter_Code_Point.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Noncharacter_Code_Point` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00FDD0, 0x00FDEF], + [0x00FFFE, 0x00FFFF], + [0x01FFFE, 0x01FFFF], + [0x02FFFE, 0x02FFFF], + [0x03FFFE, 0x03FFFF], + [0x04FFFE, 0x04FFFF], + [0x05FFFE, 0x05FFFF], + [0x06FFFE, 0x06FFFF], + [0x07FFFE, 0x07FFFF], + [0x08FFFE, 0x08FFFF], + [0x09FFFE, 0x09FFFF], + [0x0AFFFE, 0x0AFFFF], + [0x0BFFFE, 0x0BFFFF], + [0x0CFFFE, 0x0CFFFF], + [0x0DFFFE, 0x0DFFFF], + [0x0EFFFE, 0x0EFFFF], + [0x0FFFFE, 0x0FFFFF], + [0x10FFFE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\p{Noncharacter_Code_Point}+$/u, + matchSymbols, + "\\p{Noncharacter_Code_Point}" +); +testPropertyEscapes( + /^\p{NChar}+$/u, + matchSymbols, + "\\p{NChar}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x00FDCF], + [0x00FDF0, 0x00FFFD], + [0x010000, 0x01FFFD], + [0x020000, 0x02FFFD], + [0x030000, 0x03FFFD], + [0x040000, 0x04FFFD], + [0x050000, 0x05FFFD], + [0x060000, 0x06FFFD], + [0x070000, 0x07FFFD], + [0x080000, 0x08FFFD], + [0x090000, 0x09FFFD], + [0x0A0000, 0x0AFFFD], + [0x0B0000, 0x0BFFFD], + [0x0C0000, 0x0CFFFD], + [0x0D0000, 0x0DFFFD], + [0x0E0000, 0x0EFFFD], + [0x0F0000, 0x0FFFFD], + [0x100000, 0x10FFFD] + ] +}); +testPropertyEscapes( + /^\P{Noncharacter_Code_Point}+$/u, + nonMatchSymbols, + "\\P{Noncharacter_Code_Point}" +); +testPropertyEscapes( + /^\P{NChar}+$/u, + nonMatchSymbols, + "\\P{NChar}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Pattern_Syntax.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Pattern_Syntax.js new file mode 100644 index 0000000000..be6c32c9d7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Pattern_Syntax.js @@ -0,0 +1,109 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Pattern_Syntax` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000060, + 0x0000A9, + 0x0000AE, + 0x0000B6, + 0x0000BB, + 0x0000BF, + 0x0000D7, + 0x0000F7, + 0x003030 + ], + ranges: [ + [0x000021, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x00007E], + [0x0000A1, 0x0000A7], + [0x0000AB, 0x0000AC], + [0x0000B0, 0x0000B1], + [0x002010, 0x002027], + [0x002030, 0x00203E], + [0x002041, 0x002053], + [0x002055, 0x00205E], + [0x002190, 0x00245F], + [0x002500, 0x002775], + [0x002794, 0x002BFF], + [0x002E00, 0x002E7F], + [0x003001, 0x003003], + [0x003008, 0x003020], + [0x00FD3E, 0x00FD3F], + [0x00FE45, 0x00FE46] + ] +}); +testPropertyEscapes( + /^\p{Pattern_Syntax}+$/u, + matchSymbols, + "\\p{Pattern_Syntax}" +); +testPropertyEscapes( + /^\p{Pat_Syn}+$/u, + matchSymbols, + "\\p{Pat_Syn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x0000A8, + 0x0000AA, + 0x0000AD, + 0x0000AF, + 0x002054 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000020], + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x00007F, 0x0000A0], + [0x0000B2, 0x0000B5], + [0x0000B7, 0x0000BA], + [0x0000BC, 0x0000BE], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x00200F], + [0x002028, 0x00202F], + [0x00203F, 0x002040], + [0x00205F, 0x00218F], + [0x002460, 0x0024FF], + [0x002776, 0x002793], + [0x002C00, 0x002DFF], + [0x002E80, 0x003000], + [0x003004, 0x003007], + [0x003021, 0x00302F], + [0x003031, 0x00DBFF], + [0x00E000, 0x00FD3D], + [0x00FD40, 0x00FE44], + [0x00FE47, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Pattern_Syntax}+$/u, + nonMatchSymbols, + "\\P{Pattern_Syntax}" +); +testPropertyEscapes( + /^\P{Pat_Syn}+$/u, + nonMatchSymbols, + "\\P{Pat_Syn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Pattern_White_Space.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Pattern_White_Space.js new file mode 100644 index 0000000000..0a113f11c5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Pattern_White_Space.js @@ -0,0 +1,62 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Pattern_White_Space` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000020, + 0x000085 + ], + ranges: [ + [0x000009, 0x00000D], + [0x00200E, 0x00200F], + [0x002028, 0x002029] + ] +}); +testPropertyEscapes( + /^\p{Pattern_White_Space}+$/u, + matchSymbols, + "\\p{Pattern_White_Space}" +); +testPropertyEscapes( + /^\p{Pat_WS}+$/u, + matchSymbols, + "\\p{Pat_WS}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000008], + [0x00000E, 0x00001F], + [0x000021, 0x000084], + [0x000086, 0x00200D], + [0x002010, 0x002027], + [0x00202A, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Pattern_White_Space}+$/u, + nonMatchSymbols, + "\\P{Pattern_White_Space}" +); +testPropertyEscapes( + /^\P{Pat_WS}+$/u, + nonMatchSymbols, + "\\P{Pat_WS}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Quotation_Mark.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Quotation_Mark.js new file mode 100644 index 0000000000..3d5192ee02 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Quotation_Mark.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Quotation_Mark` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000022, + 0x000027, + 0x0000AB, + 0x0000BB, + 0x002E42, + 0x00FF02, + 0x00FF07 + ], + ranges: [ + [0x002018, 0x00201F], + [0x002039, 0x00203A], + [0x00300C, 0x00300F], + [0x00301D, 0x00301F], + [0x00FE41, 0x00FE44], + [0x00FF62, 0x00FF63] + ] +}); +testPropertyEscapes( + /^\p{Quotation_Mark}+$/u, + matchSymbols, + "\\p{Quotation_Mark}" +); +testPropertyEscapes( + /^\p{QMark}+$/u, + matchSymbols, + "\\p{QMark}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000021], + [0x000023, 0x000026], + [0x000028, 0x0000AA], + [0x0000AC, 0x0000BA], + [0x0000BC, 0x002017], + [0x002020, 0x002038], + [0x00203B, 0x002E41], + [0x002E43, 0x00300B], + [0x003010, 0x00301C], + [0x003020, 0x00DBFF], + [0x00E000, 0x00FE40], + [0x00FE45, 0x00FF01], + [0x00FF03, 0x00FF06], + [0x00FF08, 0x00FF61], + [0x00FF64, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Quotation_Mark}+$/u, + nonMatchSymbols, + "\\P{Quotation_Mark}" +); +testPropertyEscapes( + /^\P{QMark}+$/u, + nonMatchSymbols, + "\\P{QMark}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Radical.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Radical.js new file mode 100644 index 0000000000..227d330d2f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Radical.js @@ -0,0 +1,48 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Radical` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5] + ] +}); +testPropertyEscapes( + /^\p{Radical}+$/u, + matchSymbols, + "\\p{Radical}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002E9A + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Radical}+$/u, + nonMatchSymbols, + "\\P{Radical}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Regional_Indicator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Regional_Indicator.js new file mode 100644 index 0000000000..1c55097c15 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Regional_Indicator.js @@ -0,0 +1,53 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Regional_Indicator` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01F1E6, 0x01F1FF] + ] +}); +testPropertyEscapes( + /^\p{Regional_Indicator}+$/u, + matchSymbols, + "\\p{Regional_Indicator}" +); +testPropertyEscapes( + /^\p{RI}+$/u, + matchSymbols, + "\\p{RI}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01F1E5], + [0x01F200, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Regional_Indicator}+$/u, + nonMatchSymbols, + "\\P{Regional_Indicator}" +); +testPropertyEscapes( + /^\P{RI}+$/u, + nonMatchSymbols, + "\\P{RI}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js new file mode 100644 index 0000000000..ac912ce451 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Adlam` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01E95E, 0x01E95F] + ] +}); +testPropertyEscapes( + /^\p{Script=Adlam}+$/u, + matchSymbols, + "\\p{Script=Adlam}" +); +testPropertyEscapes( + /^\p{Script=Adlm}+$/u, + matchSymbols, + "\\p{Script=Adlm}" +); +testPropertyEscapes( + /^\p{sc=Adlam}+$/u, + matchSymbols, + "\\p{sc=Adlam}" +); +testPropertyEscapes( + /^\p{sc=Adlm}+$/u, + matchSymbols, + "\\p{sc=Adlm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01E95D], + [0x01E960, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Adlam}+$/u, + nonMatchSymbols, + "\\P{Script=Adlam}" +); +testPropertyEscapes( + /^\P{Script=Adlm}+$/u, + nonMatchSymbols, + "\\P{Script=Adlm}" +); +testPropertyEscapes( + /^\P{sc=Adlam}+$/u, + nonMatchSymbols, + "\\P{sc=Adlam}" +); +testPropertyEscapes( + /^\P{sc=Adlm}+$/u, + nonMatchSymbols, + "\\P{sc=Adlm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js new file mode 100644 index 0000000000..266f7620f2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Ahom` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x01173F] + ] +}); +testPropertyEscapes( + /^\p{Script=Ahom}+$/u, + matchSymbols, + "\\p{Script=Ahom}" +); +testPropertyEscapes( + /^\p{Script=Ahom}+$/u, + matchSymbols, + "\\p{Script=Ahom}" +); +testPropertyEscapes( + /^\p{sc=Ahom}+$/u, + matchSymbols, + "\\p{sc=Ahom}" +); +testPropertyEscapes( + /^\p{sc=Ahom}+$/u, + matchSymbols, + "\\p{sc=Ahom}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x011740, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Ahom}+$/u, + nonMatchSymbols, + "\\P{Script=Ahom}" +); +testPropertyEscapes( + /^\P{Script=Ahom}+$/u, + nonMatchSymbols, + "\\P{Script=Ahom}" +); +testPropertyEscapes( + /^\P{sc=Ahom}+$/u, + nonMatchSymbols, + "\\P{sc=Ahom}" +); +testPropertyEscapes( + /^\P{sc=Ahom}+$/u, + nonMatchSymbols, + "\\P{sc=Ahom}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Anatolian_Hieroglyphs.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Anatolian_Hieroglyphs.js new file mode 100644 index 0000000000..6dc0df82d1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Anatolian_Hieroglyphs.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Anatolian_Hieroglyphs` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x014400, 0x014646] + ] +}); +testPropertyEscapes( + /^\p{Script=Anatolian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{Script=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{Script=Hluw}+$/u, + matchSymbols, + "\\p{Script=Hluw}" +); +testPropertyEscapes( + /^\p{sc=Anatolian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{sc=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{sc=Hluw}+$/u, + matchSymbols, + "\\p{sc=Hluw}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0143FF], + [0x014647, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Anatolian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{Script=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{Script=Hluw}+$/u, + nonMatchSymbols, + "\\P{Script=Hluw}" +); +testPropertyEscapes( + /^\P{sc=Anatolian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{sc=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{sc=Hluw}+$/u, + nonMatchSymbols, + "\\P{sc=Hluw}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js new file mode 100644 index 0000000000..b4ce1321b8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js @@ -0,0 +1,187 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Arabic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00061C, + 0x00061E, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000600, 0x000604], + [0x000606, 0x00060B], + [0x00060D, 0x00061A], + [0x000620, 0x00063F], + [0x000641, 0x00064A], + [0x000656, 0x00066F], + [0x000671, 0x0006DC], + [0x0006DE, 0x0006FF], + [0x000750, 0x00077F], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x0008FF], + [0x00FB50, 0x00FBC1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFD], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x010E60, 0x010E7E], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1] + ] +}); +testPropertyEscapes( + /^\p{Script=Arabic}+$/u, + matchSymbols, + "\\p{Script=Arabic}" +); +testPropertyEscapes( + /^\p{Script=Arab}+$/u, + matchSymbols, + "\\p{Script=Arab}" +); +testPropertyEscapes( + /^\p{sc=Arabic}+$/u, + matchSymbols, + "\\p{sc=Arabic}" +); +testPropertyEscapes( + /^\p{sc=Arab}+$/u, + matchSymbols, + "\\p{sc=Arab}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000605, + 0x00060C, + 0x00061B, + 0x00061D, + 0x00061F, + 0x000640, + 0x000670, + 0x0006DD, + 0x0008B5, + 0x0008E2, + 0x00FE75, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0005FF], + [0x00064B, 0x000655], + [0x000700, 0x00074F], + [0x000780, 0x00089F], + [0x0008C8, 0x0008D2], + [0x000900, 0x00DBFF], + [0x00E000, 0x00FB4F], + [0x00FBC2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFE, 0x00FE6F], + [0x00FEFD, 0x010E5F], + [0x010E7F, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Arabic}+$/u, + nonMatchSymbols, + "\\P{Script=Arabic}" +); +testPropertyEscapes( + /^\P{Script=Arab}+$/u, + nonMatchSymbols, + "\\P{Script=Arab}" +); +testPropertyEscapes( + /^\P{sc=Arabic}+$/u, + nonMatchSymbols, + "\\P{sc=Arabic}" +); +testPropertyEscapes( + /^\P{sc=Arab}+$/u, + nonMatchSymbols, + "\\P{sc=Arab}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Armenian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Armenian.js new file mode 100644 index 0000000000..e13bc7af08 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Armenian.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Armenian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000531, 0x000556], + [0x000559, 0x00058A], + [0x00058D, 0x00058F], + [0x00FB13, 0x00FB17] + ] +}); +testPropertyEscapes( + /^\p{Script=Armenian}+$/u, + matchSymbols, + "\\p{Script=Armenian}" +); +testPropertyEscapes( + /^\p{Script=Armn}+$/u, + matchSymbols, + "\\p{Script=Armn}" +); +testPropertyEscapes( + /^\p{sc=Armenian}+$/u, + matchSymbols, + "\\p{sc=Armenian}" +); +testPropertyEscapes( + /^\p{sc=Armn}+$/u, + matchSymbols, + "\\p{sc=Armn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000530], + [0x000557, 0x000558], + [0x00058B, 0x00058C], + [0x000590, 0x00DBFF], + [0x00E000, 0x00FB12], + [0x00FB18, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Armenian}+$/u, + nonMatchSymbols, + "\\P{Script=Armenian}" +); +testPropertyEscapes( + /^\P{Script=Armn}+$/u, + nonMatchSymbols, + "\\P{Script=Armn}" +); +testPropertyEscapes( + /^\P{sc=Armenian}+$/u, + nonMatchSymbols, + "\\P{sc=Armenian}" +); +testPropertyEscapes( + /^\P{sc=Armn}+$/u, + nonMatchSymbols, + "\\P{sc=Armn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js new file mode 100644 index 0000000000..79376709be --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Avestan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B00, 0x010B35], + [0x010B39, 0x010B3F] + ] +}); +testPropertyEscapes( + /^\p{Script=Avestan}+$/u, + matchSymbols, + "\\p{Script=Avestan}" +); +testPropertyEscapes( + /^\p{Script=Avst}+$/u, + matchSymbols, + "\\p{Script=Avst}" +); +testPropertyEscapes( + /^\p{sc=Avestan}+$/u, + matchSymbols, + "\\p{sc=Avestan}" +); +testPropertyEscapes( + /^\p{sc=Avst}+$/u, + matchSymbols, + "\\p{sc=Avst}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010AFF], + [0x010B36, 0x010B38], + [0x010B40, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Avestan}+$/u, + nonMatchSymbols, + "\\P{Script=Avestan}" +); +testPropertyEscapes( + /^\P{Script=Avst}+$/u, + nonMatchSymbols, + "\\P{Script=Avst}" +); +testPropertyEscapes( + /^\P{sc=Avestan}+$/u, + nonMatchSymbols, + "\\P{sc=Avestan}" +); +testPropertyEscapes( + /^\P{sc=Avst}+$/u, + nonMatchSymbols, + "\\P{sc=Avst}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js new file mode 100644 index 0000000000..1378de5905 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Balinese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001B00, 0x001B4B], + [0x001B50, 0x001B7C] + ] +}); +testPropertyEscapes( + /^\p{Script=Balinese}+$/u, + matchSymbols, + "\\p{Script=Balinese}" +); +testPropertyEscapes( + /^\p{Script=Bali}+$/u, + matchSymbols, + "\\p{Script=Bali}" +); +testPropertyEscapes( + /^\p{sc=Balinese}+$/u, + matchSymbols, + "\\p{sc=Balinese}" +); +testPropertyEscapes( + /^\p{sc=Bali}+$/u, + matchSymbols, + "\\p{sc=Bali}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B7D, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Balinese}+$/u, + nonMatchSymbols, + "\\P{Script=Balinese}" +); +testPropertyEscapes( + /^\P{Script=Bali}+$/u, + nonMatchSymbols, + "\\P{Script=Bali}" +); +testPropertyEscapes( + /^\P{sc=Balinese}+$/u, + nonMatchSymbols, + "\\P{sc=Balinese}" +); +testPropertyEscapes( + /^\P{sc=Bali}+$/u, + nonMatchSymbols, + "\\P{sc=Bali}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bamum.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bamum.js new file mode 100644 index 0000000000..d20bc6d44c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bamum.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Bamum` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A6A0, 0x00A6F7], + [0x016800, 0x016A38] + ] +}); +testPropertyEscapes( + /^\p{Script=Bamum}+$/u, + matchSymbols, + "\\p{Script=Bamum}" +); +testPropertyEscapes( + /^\p{Script=Bamu}+$/u, + matchSymbols, + "\\p{Script=Bamu}" +); +testPropertyEscapes( + /^\p{sc=Bamum}+$/u, + matchSymbols, + "\\p{sc=Bamum}" +); +testPropertyEscapes( + /^\p{sc=Bamu}+$/u, + matchSymbols, + "\\p{sc=Bamu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A69F], + [0x00A6F8, 0x00DBFF], + [0x00E000, 0x0167FF], + [0x016A39, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Bamum}+$/u, + nonMatchSymbols, + "\\P{Script=Bamum}" +); +testPropertyEscapes( + /^\P{Script=Bamu}+$/u, + nonMatchSymbols, + "\\P{Script=Bamu}" +); +testPropertyEscapes( + /^\P{sc=Bamum}+$/u, + nonMatchSymbols, + "\\P{sc=Bamum}" +); +testPropertyEscapes( + /^\P{sc=Bamu}+$/u, + nonMatchSymbols, + "\\P{sc=Bamu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bassa_Vah.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bassa_Vah.js new file mode 100644 index 0000000000..3a75fccf83 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bassa_Vah.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Bassa_Vah` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF5] + ] +}); +testPropertyEscapes( + /^\p{Script=Bassa_Vah}+$/u, + matchSymbols, + "\\p{Script=Bassa_Vah}" +); +testPropertyEscapes( + /^\p{Script=Bass}+$/u, + matchSymbols, + "\\p{Script=Bass}" +); +testPropertyEscapes( + /^\p{sc=Bassa_Vah}+$/u, + matchSymbols, + "\\p{sc=Bassa_Vah}" +); +testPropertyEscapes( + /^\p{sc=Bass}+$/u, + matchSymbols, + "\\p{sc=Bass}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF6, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Bassa_Vah}+$/u, + nonMatchSymbols, + "\\P{Script=Bassa_Vah}" +); +testPropertyEscapes( + /^\P{Script=Bass}+$/u, + nonMatchSymbols, + "\\P{Script=Bass}" +); +testPropertyEscapes( + /^\P{sc=Bassa_Vah}+$/u, + nonMatchSymbols, + "\\P{sc=Bassa_Vah}" +); +testPropertyEscapes( + /^\P{sc=Bass}+$/u, + nonMatchSymbols, + "\\P{sc=Bass}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Batak.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Batak.js new file mode 100644 index 0000000000..a84faab42d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Batak.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Batak` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001BC0, 0x001BF3], + [0x001BFC, 0x001BFF] + ] +}); +testPropertyEscapes( + /^\p{Script=Batak}+$/u, + matchSymbols, + "\\p{Script=Batak}" +); +testPropertyEscapes( + /^\p{Script=Batk}+$/u, + matchSymbols, + "\\p{Script=Batk}" +); +testPropertyEscapes( + /^\p{sc=Batak}+$/u, + matchSymbols, + "\\p{sc=Batak}" +); +testPropertyEscapes( + /^\p{sc=Batk}+$/u, + matchSymbols, + "\\p{sc=Batk}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001BBF], + [0x001BF4, 0x001BFB], + [0x001C00, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Batak}+$/u, + nonMatchSymbols, + "\\P{Script=Batak}" +); +testPropertyEscapes( + /^\P{Script=Batk}+$/u, + nonMatchSymbols, + "\\P{Script=Batk}" +); +testPropertyEscapes( + /^\P{sc=Batak}+$/u, + nonMatchSymbols, + "\\P{sc=Batak}" +); +testPropertyEscapes( + /^\P{sc=Batk}+$/u, + nonMatchSymbols, + "\\P{sc=Batk}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bengali.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bengali.js new file mode 100644 index 0000000000..3526049463 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bengali.js @@ -0,0 +1,101 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Bengali` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0009B2, + 0x0009D7 + ], + ranges: [ + [0x000980, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009FE] + ] +}); +testPropertyEscapes( + /^\p{Script=Bengali}+$/u, + matchSymbols, + "\\p{Script=Bengali}" +); +testPropertyEscapes( + /^\p{Script=Beng}+$/u, + matchSymbols, + "\\p{Script=Beng}" +); +testPropertyEscapes( + /^\p{sc=Bengali}+$/u, + matchSymbols, + "\\p{sc=Bengali}" +); +testPropertyEscapes( + /^\p{sc=Beng}+$/u, + matchSymbols, + "\\p{sc=Beng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00097F], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009FF, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Bengali}+$/u, + nonMatchSymbols, + "\\P{Script=Bengali}" +); +testPropertyEscapes( + /^\P{Script=Beng}+$/u, + nonMatchSymbols, + "\\P{Script=Beng}" +); +testPropertyEscapes( + /^\P{sc=Bengali}+$/u, + nonMatchSymbols, + "\\P{sc=Bengali}" +); +testPropertyEscapes( + /^\P{sc=Beng}+$/u, + nonMatchSymbols, + "\\P{sc=Beng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bhaiksuki.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bhaiksuki.js new file mode 100644 index 0000000000..88e56c5ad2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bhaiksuki.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Bhaiksuki` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C45], + [0x011C50, 0x011C6C] + ] +}); +testPropertyEscapes( + /^\p{Script=Bhaiksuki}+$/u, + matchSymbols, + "\\p{Script=Bhaiksuki}" +); +testPropertyEscapes( + /^\p{Script=Bhks}+$/u, + matchSymbols, + "\\p{Script=Bhks}" +); +testPropertyEscapes( + /^\p{sc=Bhaiksuki}+$/u, + matchSymbols, + "\\p{sc=Bhaiksuki}" +); +testPropertyEscapes( + /^\p{sc=Bhks}+$/u, + matchSymbols, + "\\p{sc=Bhks}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011C09, + 0x011C37 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011BFF], + [0x011C46, 0x011C4F], + [0x011C6D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Bhaiksuki}+$/u, + nonMatchSymbols, + "\\P{Script=Bhaiksuki}" +); +testPropertyEscapes( + /^\P{Script=Bhks}+$/u, + nonMatchSymbols, + "\\P{Script=Bhks}" +); +testPropertyEscapes( + /^\P{sc=Bhaiksuki}+$/u, + nonMatchSymbols, + "\\P{sc=Bhaiksuki}" +); +testPropertyEscapes( + /^\P{sc=Bhks}+$/u, + nonMatchSymbols, + "\\P{sc=Bhks}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bopomofo.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bopomofo.js new file mode 100644 index 0000000000..b8cf8e4b49 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Bopomofo.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Bopomofo` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0002EA, 0x0002EB], + [0x003105, 0x00312F], + [0x0031A0, 0x0031BF] + ] +}); +testPropertyEscapes( + /^\p{Script=Bopomofo}+$/u, + matchSymbols, + "\\p{Script=Bopomofo}" +); +testPropertyEscapes( + /^\p{Script=Bopo}+$/u, + matchSymbols, + "\\p{Script=Bopo}" +); +testPropertyEscapes( + /^\p{sc=Bopomofo}+$/u, + matchSymbols, + "\\p{sc=Bopomofo}" +); +testPropertyEscapes( + /^\p{sc=Bopo}+$/u, + matchSymbols, + "\\p{sc=Bopo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002E9], + [0x0002EC, 0x003104], + [0x003130, 0x00319F], + [0x0031C0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Bopomofo}+$/u, + nonMatchSymbols, + "\\P{Script=Bopomofo}" +); +testPropertyEscapes( + /^\P{Script=Bopo}+$/u, + nonMatchSymbols, + "\\P{Script=Bopo}" +); +testPropertyEscapes( + /^\P{sc=Bopomofo}+$/u, + nonMatchSymbols, + "\\P{sc=Bopomofo}" +); +testPropertyEscapes( + /^\P{sc=Bopo}+$/u, + nonMatchSymbols, + "\\P{sc=Bopo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js new file mode 100644 index 0000000000..a89251fea7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Brahmi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01107F + ], + ranges: [ + [0x011000, 0x01104D], + [0x011052, 0x01106F] + ] +}); +testPropertyEscapes( + /^\p{Script=Brahmi}+$/u, + matchSymbols, + "\\p{Script=Brahmi}" +); +testPropertyEscapes( + /^\p{Script=Brah}+$/u, + matchSymbols, + "\\p{Script=Brah}" +); +testPropertyEscapes( + /^\p{sc=Brahmi}+$/u, + matchSymbols, + "\\p{sc=Brahmi}" +); +testPropertyEscapes( + /^\p{sc=Brah}+$/u, + matchSymbols, + "\\p{sc=Brah}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010FFF], + [0x01104E, 0x011051], + [0x011070, 0x01107E], + [0x011080, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Brahmi}+$/u, + nonMatchSymbols, + "\\P{Script=Brahmi}" +); +testPropertyEscapes( + /^\P{Script=Brah}+$/u, + nonMatchSymbols, + "\\P{Script=Brah}" +); +testPropertyEscapes( + /^\P{sc=Brahmi}+$/u, + nonMatchSymbols, + "\\P{sc=Brahmi}" +); +testPropertyEscapes( + /^\P{sc=Brah}+$/u, + nonMatchSymbols, + "\\P{sc=Brah}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Braille.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Braille.js new file mode 100644 index 0000000000..bbc7beeb08 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Braille.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Braille` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x002800, 0x0028FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Braille}+$/u, + matchSymbols, + "\\p{Script=Braille}" +); +testPropertyEscapes( + /^\p{Script=Brai}+$/u, + matchSymbols, + "\\p{Script=Brai}" +); +testPropertyEscapes( + /^\p{sc=Braille}+$/u, + matchSymbols, + "\\p{sc=Braille}" +); +testPropertyEscapes( + /^\p{sc=Brai}+$/u, + matchSymbols, + "\\p{sc=Brai}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0027FF], + [0x002900, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Braille}+$/u, + nonMatchSymbols, + "\\P{Script=Braille}" +); +testPropertyEscapes( + /^\P{Script=Brai}+$/u, + nonMatchSymbols, + "\\P{Script=Brai}" +); +testPropertyEscapes( + /^\P{sc=Braille}+$/u, + nonMatchSymbols, + "\\P{sc=Braille}" +); +testPropertyEscapes( + /^\P{sc=Brai}+$/u, + nonMatchSymbols, + "\\P{sc=Brai}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Buginese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Buginese.js new file mode 100644 index 0000000000..9730010119 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Buginese.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Buginese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001A00, 0x001A1B], + [0x001A1E, 0x001A1F] + ] +}); +testPropertyEscapes( + /^\p{Script=Buginese}+$/u, + matchSymbols, + "\\p{Script=Buginese}" +); +testPropertyEscapes( + /^\p{Script=Bugi}+$/u, + matchSymbols, + "\\p{Script=Bugi}" +); +testPropertyEscapes( + /^\p{sc=Buginese}+$/u, + matchSymbols, + "\\p{sc=Buginese}" +); +testPropertyEscapes( + /^\p{sc=Bugi}+$/u, + matchSymbols, + "\\p{sc=Bugi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0019FF], + [0x001A1C, 0x001A1D], + [0x001A20, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Buginese}+$/u, + nonMatchSymbols, + "\\P{Script=Buginese}" +); +testPropertyEscapes( + /^\P{Script=Bugi}+$/u, + nonMatchSymbols, + "\\P{Script=Bugi}" +); +testPropertyEscapes( + /^\P{sc=Buginese}+$/u, + nonMatchSymbols, + "\\P{sc=Buginese}" +); +testPropertyEscapes( + /^\P{sc=Bugi}+$/u, + nonMatchSymbols, + "\\P{sc=Bugi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Buhid.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Buhid.js new file mode 100644 index 0000000000..251c761e11 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Buhid.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Buhid` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001740, 0x001753] + ] +}); +testPropertyEscapes( + /^\p{Script=Buhid}+$/u, + matchSymbols, + "\\p{Script=Buhid}" +); +testPropertyEscapes( + /^\p{Script=Buhd}+$/u, + matchSymbols, + "\\p{Script=Buhd}" +); +testPropertyEscapes( + /^\p{sc=Buhid}+$/u, + matchSymbols, + "\\p{sc=Buhid}" +); +testPropertyEscapes( + /^\p{sc=Buhd}+$/u, + matchSymbols, + "\\p{sc=Buhd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00173F], + [0x001754, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Buhid}+$/u, + nonMatchSymbols, + "\\P{Script=Buhid}" +); +testPropertyEscapes( + /^\P{Script=Buhd}+$/u, + nonMatchSymbols, + "\\P{Script=Buhd}" +); +testPropertyEscapes( + /^\P{sc=Buhid}+$/u, + nonMatchSymbols, + "\\P{sc=Buhid}" +); +testPropertyEscapes( + /^\P{sc=Buhd}+$/u, + nonMatchSymbols, + "\\P{sc=Buhd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js new file mode 100644 index 0000000000..5ff88d4566 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Canadian_Aboriginal` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001400, 0x00167F], + [0x0018B0, 0x0018F5] + ] +}); +testPropertyEscapes( + /^\p{Script=Canadian_Aboriginal}+$/u, + matchSymbols, + "\\p{Script=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\p{Script=Cans}+$/u, + matchSymbols, + "\\p{Script=Cans}" +); +testPropertyEscapes( + /^\p{sc=Canadian_Aboriginal}+$/u, + matchSymbols, + "\\p{sc=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\p{sc=Cans}+$/u, + matchSymbols, + "\\p{sc=Cans}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0013FF], + [0x001680, 0x0018AF], + [0x0018F6, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Canadian_Aboriginal}+$/u, + nonMatchSymbols, + "\\P{Script=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\P{Script=Cans}+$/u, + nonMatchSymbols, + "\\P{Script=Cans}" +); +testPropertyEscapes( + /^\P{sc=Canadian_Aboriginal}+$/u, + nonMatchSymbols, + "\\P{sc=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\P{sc=Cans}+$/u, + nonMatchSymbols, + "\\P{sc=Cans}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js new file mode 100644 index 0000000000..8029f0f93e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Carian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0102A0, 0x0102D0] + ] +}); +testPropertyEscapes( + /^\p{Script=Carian}+$/u, + matchSymbols, + "\\p{Script=Carian}" +); +testPropertyEscapes( + /^\p{Script=Cari}+$/u, + matchSymbols, + "\\p{Script=Cari}" +); +testPropertyEscapes( + /^\p{sc=Carian}+$/u, + matchSymbols, + "\\p{sc=Carian}" +); +testPropertyEscapes( + /^\p{sc=Cari}+$/u, + matchSymbols, + "\\p{sc=Cari}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01029F], + [0x0102D1, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Carian}+$/u, + nonMatchSymbols, + "\\P{Script=Carian}" +); +testPropertyEscapes( + /^\P{Script=Cari}+$/u, + nonMatchSymbols, + "\\P{Script=Cari}" +); +testPropertyEscapes( + /^\P{sc=Carian}+$/u, + nonMatchSymbols, + "\\P{sc=Carian}" +); +testPropertyEscapes( + /^\P{sc=Cari}+$/u, + nonMatchSymbols, + "\\P{sc=Cari}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Caucasian_Albanian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Caucasian_Albanian.js new file mode 100644 index 0000000000..a9c516664d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Caucasian_Albanian.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Caucasian_Albanian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01056F + ], + ranges: [ + [0x010530, 0x010563] + ] +}); +testPropertyEscapes( + /^\p{Script=Caucasian_Albanian}+$/u, + matchSymbols, + "\\p{Script=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\p{Script=Aghb}+$/u, + matchSymbols, + "\\p{Script=Aghb}" +); +testPropertyEscapes( + /^\p{sc=Caucasian_Albanian}+$/u, + matchSymbols, + "\\p{sc=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\p{sc=Aghb}+$/u, + matchSymbols, + "\\p{sc=Aghb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01052F], + [0x010564, 0x01056E], + [0x010570, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Caucasian_Albanian}+$/u, + nonMatchSymbols, + "\\P{Script=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\P{Script=Aghb}+$/u, + nonMatchSymbols, + "\\P{Script=Aghb}" +); +testPropertyEscapes( + /^\P{sc=Caucasian_Albanian}+$/u, + nonMatchSymbols, + "\\P{sc=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\P{sc=Aghb}+$/u, + nonMatchSymbols, + "\\P{sc=Aghb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js new file mode 100644 index 0000000000..f83aa1b397 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Chakma` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011100, 0x011134], + [0x011136, 0x011147] + ] +}); +testPropertyEscapes( + /^\p{Script=Chakma}+$/u, + matchSymbols, + "\\p{Script=Chakma}" +); +testPropertyEscapes( + /^\p{Script=Cakm}+$/u, + matchSymbols, + "\\p{Script=Cakm}" +); +testPropertyEscapes( + /^\p{sc=Chakma}+$/u, + matchSymbols, + "\\p{sc=Chakma}" +); +testPropertyEscapes( + /^\p{sc=Cakm}+$/u, + matchSymbols, + "\\p{sc=Cakm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011135 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0110FF], + [0x011148, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Chakma}+$/u, + nonMatchSymbols, + "\\P{Script=Chakma}" +); +testPropertyEscapes( + /^\P{Script=Cakm}+$/u, + nonMatchSymbols, + "\\P{Script=Cakm}" +); +testPropertyEscapes( + /^\P{sc=Chakma}+$/u, + nonMatchSymbols, + "\\P{sc=Chakma}" +); +testPropertyEscapes( + /^\P{sc=Cakm}+$/u, + nonMatchSymbols, + "\\P{sc=Cakm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cham.js new file mode 100644 index 0000000000..ec6877aa32 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cham.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Cham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA5C, 0x00AA5F] + ] +}); +testPropertyEscapes( + /^\p{Script=Cham}+$/u, + matchSymbols, + "\\p{Script=Cham}" +); +testPropertyEscapes( + /^\p{Script=Cham}+$/u, + matchSymbols, + "\\p{Script=Cham}" +); +testPropertyEscapes( + /^\p{sc=Cham}+$/u, + matchSymbols, + "\\p{sc=Cham}" +); +testPropertyEscapes( + /^\p{sc=Cham}+$/u, + matchSymbols, + "\\p{sc=Cham}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A9FF], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5B], + [0x00AA60, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Cham}+$/u, + nonMatchSymbols, + "\\P{Script=Cham}" +); +testPropertyEscapes( + /^\P{Script=Cham}+$/u, + nonMatchSymbols, + "\\P{Script=Cham}" +); +testPropertyEscapes( + /^\P{sc=Cham}+$/u, + nonMatchSymbols, + "\\P{sc=Cham}" +); +testPropertyEscapes( + /^\P{sc=Cham}+$/u, + nonMatchSymbols, + "\\P{sc=Cham}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cherokee.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cherokee.js new file mode 100644 index 0000000000..d3844953cc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cherokee.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Cherokee` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x00AB70, 0x00ABBF] + ] +}); +testPropertyEscapes( + /^\p{Script=Cherokee}+$/u, + matchSymbols, + "\\p{Script=Cherokee}" +); +testPropertyEscapes( + /^\p{Script=Cher}+$/u, + matchSymbols, + "\\p{Script=Cher}" +); +testPropertyEscapes( + /^\p{sc=Cherokee}+$/u, + matchSymbols, + "\\p{sc=Cherokee}" +); +testPropertyEscapes( + /^\p{sc=Cher}+$/u, + matchSymbols, + "\\p{sc=Cher}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Cherokee}+$/u, + nonMatchSymbols, + "\\P{Script=Cherokee}" +); +testPropertyEscapes( + /^\P{Script=Cher}+$/u, + nonMatchSymbols, + "\\P{Script=Cher}" +); +testPropertyEscapes( + /^\P{sc=Cherokee}+$/u, + nonMatchSymbols, + "\\P{sc=Cherokee}" +); +testPropertyEscapes( + /^\P{sc=Cher}+$/u, + nonMatchSymbols, + "\\P{sc=Cher}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Chorasmian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Chorasmian.js new file mode 100644 index 0000000000..a8693a5f95 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Chorasmian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Chorasmian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010FB0, 0x010FCB] + ] +}); +testPropertyEscapes( + /^\p{Script=Chorasmian}+$/u, + matchSymbols, + "\\p{Script=Chorasmian}" +); +testPropertyEscapes( + /^\p{Script=Chrs}+$/u, + matchSymbols, + "\\p{Script=Chrs}" +); +testPropertyEscapes( + /^\p{sc=Chorasmian}+$/u, + matchSymbols, + "\\p{sc=Chorasmian}" +); +testPropertyEscapes( + /^\p{sc=Chrs}+$/u, + matchSymbols, + "\\p{sc=Chrs}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010FAF], + [0x010FCC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Chorasmian}+$/u, + nonMatchSymbols, + "\\P{Script=Chorasmian}" +); +testPropertyEscapes( + /^\P{Script=Chrs}+$/u, + nonMatchSymbols, + "\\P{Script=Chrs}" +); +testPropertyEscapes( + /^\P{sc=Chorasmian}+$/u, + nonMatchSymbols, + "\\P{sc=Chorasmian}" +); +testPropertyEscapes( + /^\P{sc=Chrs}+$/u, + nonMatchSymbols, + "\\P{sc=Chrs}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js new file mode 100644 index 0000000000..1a1c8c68ae --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js @@ -0,0 +1,418 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Common` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x000374, + 0x00037E, + 0x000385, + 0x000387, + 0x000605, + 0x00060C, + 0x00061B, + 0x00061F, + 0x000640, + 0x0006DD, + 0x0008E2, + 0x000E3F, + 0x0010FB, + 0x001805, + 0x001CD3, + 0x001CE1, + 0x001CFA, + 0x003006, + 0x0030A0, + 0x0032FF, + 0x00A92E, + 0x00A9CF, + 0x00AB5B, + 0x00FEFF, + 0x00FF70, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x0E0001 + ], + ranges: [ + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002B9, 0x0002DF], + [0x0002E5, 0x0002E9], + [0x0002EC, 0x0002FF], + [0x000964, 0x000965], + [0x000FD5, 0x000FD8], + [0x0016EB, 0x0016ED], + [0x001735, 0x001736], + [0x001802, 0x001803], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF7], + [0x002000, 0x00200B], + [0x00200E, 0x002064], + [0x002066, 0x002070], + [0x002074, 0x00207E], + [0x002080, 0x00208E], + [0x0020A0, 0x0020BF], + [0x002100, 0x002125], + [0x002127, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x00218B], + [0x002190, 0x002426], + [0x002440, 0x00244A], + [0x002460, 0x0027FF], + [0x002900, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002BFF], + [0x002E00, 0x002E52], + [0x002FF0, 0x002FFB], + [0x003000, 0x003004], + [0x003008, 0x003020], + [0x003030, 0x003037], + [0x00303C, 0x00303F], + [0x00309B, 0x00309C], + [0x0030FB, 0x0030FC], + [0x003190, 0x00319F], + [0x0031C0, 0x0031E3], + [0x003220, 0x00325F], + [0x00327F, 0x0032CF], + [0x003358, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x00A700, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A830, 0x00A839], + [0x00AB6A, 0x00AB6B], + [0x00FD3E, 0x00FD3F], + [0x00FE10, 0x00FE19], + [0x00FE30, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FF01, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x00FF65], + [0x00FF9E, 0x00FF9F], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFF9, 0x00FFFD], + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01013F], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FC], + [0x0102E1, 0x0102FB], + [0x016FE2, 0x016FE3], + [0x01BCA0, 0x01BCA3], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D166], + [0x01D16A, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D1E8], + [0x01D2E0, 0x01D2F3], + [0x01D300, 0x01D356], + [0x01D360, 0x01D378], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01D7FF], + [0x01EC71, 0x01ECB4], + [0x01ED01, 0x01ED3D], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F100, 0x01F1AD], + [0x01F1E6, 0x01F1FF], + [0x01F201, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F250, 0x01F251], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA], + [0x01FBF0, 0x01FBF9], + [0x0E0020, 0x0E007F] + ] +}); +testPropertyEscapes( + /^\p{Script=Common}+$/u, + matchSymbols, + "\\p{Script=Common}" +); +testPropertyEscapes( + /^\p{Script=Zyyy}+$/u, + matchSymbols, + "\\p{Script=Zyyy}" +); +testPropertyEscapes( + /^\p{sc=Common}+$/u, + matchSymbols, + "\\p{sc=Common}" +); +testPropertyEscapes( + /^\p{sc=Zyyy}+$/u, + matchSymbols, + "\\p{sc=Zyyy}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000BA, + 0x000386, + 0x001804, + 0x001CED, + 0x001CF4, + 0x002065, + 0x00207F, + 0x002126, + 0x002132, + 0x00214E, + 0x002B96, + 0x003005, + 0x003007, + 0x00FE53, + 0x00FE67, + 0x00FF00, + 0x00FFE7, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01F0C0, + 0x01F0D0, + 0x01F200, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002B8], + [0x0002E0, 0x0002E4], + [0x0002EA, 0x0002EB], + [0x000300, 0x000373], + [0x000375, 0x00037D], + [0x00037F, 0x000384], + [0x000388, 0x000604], + [0x000606, 0x00060B], + [0x00060D, 0x00061A], + [0x00061C, 0x00061E], + [0x000620, 0x00063F], + [0x000641, 0x0006DC], + [0x0006DE, 0x0008E1], + [0x0008E3, 0x000963], + [0x000966, 0x000E3E], + [0x000E40, 0x000FD4], + [0x000FD9, 0x0010FA], + [0x0010FC, 0x0016EA], + [0x0016EE, 0x001734], + [0x001737, 0x001801], + [0x001806, 0x001CD2], + [0x001CD4, 0x001CE0], + [0x001CE2, 0x001CE8], + [0x001CF8, 0x001CF9], + [0x001CFB, 0x001FFF], + [0x00200C, 0x00200D], + [0x002071, 0x002073], + [0x00208F, 0x00209F], + [0x0020C0, 0x0020FF], + [0x00212A, 0x00212B], + [0x002160, 0x002188], + [0x00218C, 0x00218F], + [0x002427, 0x00243F], + [0x00244B, 0x00245F], + [0x002800, 0x0028FF], + [0x002B74, 0x002B75], + [0x002C00, 0x002DFF], + [0x002E53, 0x002FEF], + [0x002FFC, 0x002FFF], + [0x003021, 0x00302F], + [0x003038, 0x00303B], + [0x003040, 0x00309A], + [0x00309D, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FD, 0x00318F], + [0x0031A0, 0x0031BF], + [0x0031E4, 0x00321F], + [0x003260, 0x00327E], + [0x0032D0, 0x0032FE], + [0x003300, 0x003357], + [0x003400, 0x004DBF], + [0x004E00, 0x00A6FF], + [0x00A722, 0x00A787], + [0x00A78B, 0x00A82F], + [0x00A83A, 0x00A92D], + [0x00A92F, 0x00A9CE], + [0x00A9D0, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB6C, 0x00DBFF], + [0x00E000, 0x00FD3D], + [0x00FD40, 0x00FE0F], + [0x00FE1A, 0x00FE2F], + [0x00FE6C, 0x00FEFE], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x00FFA0, 0x00FFDF], + [0x00FFEF, 0x00FFF8], + [0x00FFFE, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x010140, 0x01018F], + [0x01019D, 0x0101CF], + [0x0101FD, 0x0102E0], + [0x0102FC, 0x016FE1], + [0x016FE4, 0x01BC9F], + [0x01BCA4, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D167, 0x01D169], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D1E9, 0x01D2DF], + [0x01D2F4, 0x01D2FF], + [0x01D357, 0x01D35F], + [0x01D379, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01D800, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F0FF], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F24F], + [0x01F252, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x01FBEF], + [0x01FBFA, 0x0E0000], + [0x0E0002, 0x0E001F], + [0x0E0080, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Common}+$/u, + nonMatchSymbols, + "\\P{Script=Common}" +); +testPropertyEscapes( + /^\P{Script=Zyyy}+$/u, + nonMatchSymbols, + "\\P{Script=Zyyy}" +); +testPropertyEscapes( + /^\P{sc=Common}+$/u, + nonMatchSymbols, + "\\P{sc=Common}" +); +testPropertyEscapes( + /^\P{sc=Zyyy}+$/u, + nonMatchSymbols, + "\\P{sc=Zyyy}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Coptic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Coptic.js new file mode 100644 index 0000000000..2b0c9abd55 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Coptic.js @@ -0,0 +1,97 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Coptic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0003E2, 0x0003EF], + [0x002C80, 0x002CF3], + [0x002CF9, 0x002CFF] + ] +}); +testPropertyEscapes( + /^\p{Script=Coptic}+$/u, + matchSymbols, + "\\p{Script=Coptic}" +); +testPropertyEscapes( + /^\p{Script=Copt}+$/u, + matchSymbols, + "\\p{Script=Copt}" +); +testPropertyEscapes( + /^\p{Script=Qaac}+$/u, + matchSymbols, + "\\p{Script=Qaac}" +); +testPropertyEscapes( + /^\p{sc=Coptic}+$/u, + matchSymbols, + "\\p{sc=Coptic}" +); +testPropertyEscapes( + /^\p{sc=Copt}+$/u, + matchSymbols, + "\\p{sc=Copt}" +); +testPropertyEscapes( + /^\p{sc=Qaac}+$/u, + matchSymbols, + "\\p{sc=Qaac}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0003E1], + [0x0003F0, 0x002C7F], + [0x002CF4, 0x002CF8], + [0x002D00, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Coptic}+$/u, + nonMatchSymbols, + "\\P{Script=Coptic}" +); +testPropertyEscapes( + /^\P{Script=Copt}+$/u, + nonMatchSymbols, + "\\P{Script=Copt}" +); +testPropertyEscapes( + /^\P{Script=Qaac}+$/u, + nonMatchSymbols, + "\\P{Script=Qaac}" +); +testPropertyEscapes( + /^\P{sc=Coptic}+$/u, + nonMatchSymbols, + "\\P{sc=Coptic}" +); +testPropertyEscapes( + /^\P{sc=Copt}+$/u, + nonMatchSymbols, + "\\P{sc=Copt}" +); +testPropertyEscapes( + /^\P{sc=Qaac}+$/u, + nonMatchSymbols, + "\\P{sc=Qaac}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cuneiform.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cuneiform.js new file mode 100644 index 0000000000..62ecf004d8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cuneiform.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Cuneiform` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012470, 0x012474], + [0x012480, 0x012543] + ] +}); +testPropertyEscapes( + /^\p{Script=Cuneiform}+$/u, + matchSymbols, + "\\p{Script=Cuneiform}" +); +testPropertyEscapes( + /^\p{Script=Xsux}+$/u, + matchSymbols, + "\\p{Script=Xsux}" +); +testPropertyEscapes( + /^\p{sc=Cuneiform}+$/u, + matchSymbols, + "\\p{sc=Cuneiform}" +); +testPropertyEscapes( + /^\p{sc=Xsux}+$/u, + matchSymbols, + "\\p{sc=Xsux}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01246F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011FFF], + [0x01239A, 0x0123FF], + [0x012475, 0x01247F], + [0x012544, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Cuneiform}+$/u, + nonMatchSymbols, + "\\P{Script=Cuneiform}" +); +testPropertyEscapes( + /^\P{Script=Xsux}+$/u, + nonMatchSymbols, + "\\P{Script=Xsux}" +); +testPropertyEscapes( + /^\P{sc=Cuneiform}+$/u, + nonMatchSymbols, + "\\P{sc=Cuneiform}" +); +testPropertyEscapes( + /^\P{sc=Xsux}+$/u, + nonMatchSymbols, + "\\P{sc=Xsux}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cypriot.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cypriot.js new file mode 100644 index 0000000000..1f55541ec0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cypriot.js @@ -0,0 +1,85 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Cypriot` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x010808, + 0x01083C, + 0x01083F + ], + ranges: [ + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838] + ] +}); +testPropertyEscapes( + /^\p{Script=Cypriot}+$/u, + matchSymbols, + "\\p{Script=Cypriot}" +); +testPropertyEscapes( + /^\p{Script=Cprt}+$/u, + matchSymbols, + "\\p{Script=Cprt}" +); +testPropertyEscapes( + /^\p{sc=Cypriot}+$/u, + matchSymbols, + "\\p{sc=Cypriot}" +); +testPropertyEscapes( + /^\p{sc=Cprt}+$/u, + matchSymbols, + "\\p{sc=Cprt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010809, + 0x010836 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010840, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Cypriot}+$/u, + nonMatchSymbols, + "\\P{Script=Cypriot}" +); +testPropertyEscapes( + /^\P{Script=Cprt}+$/u, + nonMatchSymbols, + "\\P{Script=Cprt}" +); +testPropertyEscapes( + /^\P{sc=Cypriot}+$/u, + nonMatchSymbols, + "\\P{sc=Cypriot}" +); +testPropertyEscapes( + /^\P{sc=Cprt}+$/u, + nonMatchSymbols, + "\\P{sc=Cprt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js new file mode 100644 index 0000000000..adc35adb22 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js @@ -0,0 +1,88 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Cyrillic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001D2B, + 0x001D78 + ], + ranges: [ + [0x000400, 0x000484], + [0x000487, 0x00052F], + [0x001C80, 0x001C88], + [0x002DE0, 0x002DFF], + [0x00A640, 0x00A69F], + [0x00FE2E, 0x00FE2F] + ] +}); +testPropertyEscapes( + /^\p{Script=Cyrillic}+$/u, + matchSymbols, + "\\p{Script=Cyrillic}" +); +testPropertyEscapes( + /^\p{Script=Cyrl}+$/u, + matchSymbols, + "\\p{Script=Cyrl}" +); +testPropertyEscapes( + /^\p{sc=Cyrillic}+$/u, + matchSymbols, + "\\p{sc=Cyrillic}" +); +testPropertyEscapes( + /^\p{sc=Cyrl}+$/u, + matchSymbols, + "\\p{sc=Cyrl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0003FF], + [0x000485, 0x000486], + [0x000530, 0x001C7F], + [0x001C89, 0x001D2A], + [0x001D2C, 0x001D77], + [0x001D79, 0x002DDF], + [0x002E00, 0x00A63F], + [0x00A6A0, 0x00DBFF], + [0x00E000, 0x00FE2D], + [0x00FE30, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Cyrillic}+$/u, + nonMatchSymbols, + "\\P{Script=Cyrillic}" +); +testPropertyEscapes( + /^\P{Script=Cyrl}+$/u, + nonMatchSymbols, + "\\P{Script=Cyrl}" +); +testPropertyEscapes( + /^\P{sc=Cyrillic}+$/u, + nonMatchSymbols, + "\\P{sc=Cyrillic}" +); +testPropertyEscapes( + /^\P{sc=Cyrl}+$/u, + nonMatchSymbols, + "\\P{sc=Cyrl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Deseret.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Deseret.js new file mode 100644 index 0000000000..e020b73913 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Deseret.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Deseret` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010400, 0x01044F] + ] +}); +testPropertyEscapes( + /^\p{Script=Deseret}+$/u, + matchSymbols, + "\\p{Script=Deseret}" +); +testPropertyEscapes( + /^\p{Script=Dsrt}+$/u, + matchSymbols, + "\\p{Script=Dsrt}" +); +testPropertyEscapes( + /^\p{sc=Deseret}+$/u, + matchSymbols, + "\\p{sc=Deseret}" +); +testPropertyEscapes( + /^\p{sc=Dsrt}+$/u, + matchSymbols, + "\\p{sc=Dsrt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0103FF], + [0x010450, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Deseret}+$/u, + nonMatchSymbols, + "\\P{Script=Deseret}" +); +testPropertyEscapes( + /^\P{Script=Dsrt}+$/u, + nonMatchSymbols, + "\\P{Script=Dsrt}" +); +testPropertyEscapes( + /^\P{sc=Deseret}+$/u, + nonMatchSymbols, + "\\P{sc=Deseret}" +); +testPropertyEscapes( + /^\P{sc=Dsrt}+$/u, + nonMatchSymbols, + "\\P{sc=Dsrt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js new file mode 100644 index 0000000000..3bcd19c414 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Devanagari` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000900, 0x000950], + [0x000955, 0x000963], + [0x000966, 0x00097F], + [0x00A8E0, 0x00A8FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Devanagari}+$/u, + matchSymbols, + "\\p{Script=Devanagari}" +); +testPropertyEscapes( + /^\p{Script=Deva}+$/u, + matchSymbols, + "\\p{Script=Deva}" +); +testPropertyEscapes( + /^\p{sc=Devanagari}+$/u, + matchSymbols, + "\\p{sc=Devanagari}" +); +testPropertyEscapes( + /^\p{sc=Deva}+$/u, + matchSymbols, + "\\p{sc=Deva}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0008FF], + [0x000951, 0x000954], + [0x000964, 0x000965], + [0x000980, 0x00A8DF], + [0x00A900, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Devanagari}+$/u, + nonMatchSymbols, + "\\P{Script=Devanagari}" +); +testPropertyEscapes( + /^\P{Script=Deva}+$/u, + nonMatchSymbols, + "\\P{Script=Deva}" +); +testPropertyEscapes( + /^\P{sc=Devanagari}+$/u, + nonMatchSymbols, + "\\P{sc=Devanagari}" +); +testPropertyEscapes( + /^\P{sc=Deva}+$/u, + nonMatchSymbols, + "\\P{sc=Deva}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Dives_Akuru.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Dives_Akuru.js new file mode 100644 index 0000000000..ffe4e1242b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Dives_Akuru.js @@ -0,0 +1,89 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Dives_Akuru` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011909 + ], + ranges: [ + [0x011900, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011946], + [0x011950, 0x011959] + ] +}); +testPropertyEscapes( + /^\p{Script=Dives_Akuru}+$/u, + matchSymbols, + "\\p{Script=Dives_Akuru}" +); +testPropertyEscapes( + /^\p{Script=Diak}+$/u, + matchSymbols, + "\\p{Script=Diak}" +); +testPropertyEscapes( + /^\p{sc=Dives_Akuru}+$/u, + matchSymbols, + "\\p{sc=Dives_Akuru}" +); +testPropertyEscapes( + /^\p{sc=Diak}+$/u, + matchSymbols, + "\\p{sc=Diak}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011914, + 0x011917, + 0x011936 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0118FF], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011947, 0x01194F], + [0x01195A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Dives_Akuru}+$/u, + nonMatchSymbols, + "\\P{Script=Dives_Akuru}" +); +testPropertyEscapes( + /^\P{Script=Diak}+$/u, + nonMatchSymbols, + "\\P{Script=Diak}" +); +testPropertyEscapes( + /^\P{sc=Dives_Akuru}+$/u, + nonMatchSymbols, + "\\P{sc=Dives_Akuru}" +); +testPropertyEscapes( + /^\P{sc=Diak}+$/u, + nonMatchSymbols, + "\\P{sc=Diak}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Dogra.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Dogra.js new file mode 100644 index 0000000000..154eaee27e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Dogra.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Dogra` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011800, 0x01183B] + ] +}); +testPropertyEscapes( + /^\p{Script=Dogra}+$/u, + matchSymbols, + "\\p{Script=Dogra}" +); +testPropertyEscapes( + /^\p{Script=Dogr}+$/u, + matchSymbols, + "\\p{Script=Dogr}" +); +testPropertyEscapes( + /^\p{sc=Dogra}+$/u, + matchSymbols, + "\\p{sc=Dogra}" +); +testPropertyEscapes( + /^\p{sc=Dogr}+$/u, + matchSymbols, + "\\p{sc=Dogr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0117FF], + [0x01183C, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Dogra}+$/u, + nonMatchSymbols, + "\\P{Script=Dogra}" +); +testPropertyEscapes( + /^\P{Script=Dogr}+$/u, + nonMatchSymbols, + "\\P{Script=Dogr}" +); +testPropertyEscapes( + /^\P{sc=Dogra}+$/u, + nonMatchSymbols, + "\\P{sc=Dogra}" +); +testPropertyEscapes( + /^\P{sc=Dogr}+$/u, + nonMatchSymbols, + "\\P{sc=Dogr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Duployan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Duployan.js new file mode 100644 index 0000000000..0b79bf458c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Duployan.js @@ -0,0 +1,81 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Duployan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9C, 0x01BC9F] + ] +}); +testPropertyEscapes( + /^\p{Script=Duployan}+$/u, + matchSymbols, + "\\p{Script=Duployan}" +); +testPropertyEscapes( + /^\p{Script=Dupl}+$/u, + matchSymbols, + "\\p{Script=Dupl}" +); +testPropertyEscapes( + /^\p{sc=Duployan}+$/u, + matchSymbols, + "\\p{sc=Duployan}" +); +testPropertyEscapes( + /^\p{sc=Dupl}+$/u, + matchSymbols, + "\\p{sc=Dupl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9B], + [0x01BCA0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Duployan}+$/u, + nonMatchSymbols, + "\\P{Script=Duployan}" +); +testPropertyEscapes( + /^\P{Script=Dupl}+$/u, + nonMatchSymbols, + "\\P{Script=Dupl}" +); +testPropertyEscapes( + /^\P{sc=Duployan}+$/u, + nonMatchSymbols, + "\\P{sc=Duployan}" +); +testPropertyEscapes( + /^\P{sc=Dupl}+$/u, + nonMatchSymbols, + "\\P{sc=Dupl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js new file mode 100644 index 0000000000..3e7f279ebf --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Egyptian_Hieroglyphs` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x013000, 0x01342E], + [0x013430, 0x013438] + ] +}); +testPropertyEscapes( + /^\p{Script=Egyptian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{Script=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{Script=Egyp}+$/u, + matchSymbols, + "\\p{Script=Egyp}" +); +testPropertyEscapes( + /^\p{sc=Egyptian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{sc=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{sc=Egyp}+$/u, + matchSymbols, + "\\p{sc=Egyp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01342F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x012FFF], + [0x013439, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Egyptian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{Script=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{Script=Egyp}+$/u, + nonMatchSymbols, + "\\P{Script=Egyp}" +); +testPropertyEscapes( + /^\P{sc=Egyptian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{sc=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{sc=Egyp}+$/u, + nonMatchSymbols, + "\\P{sc=Egyp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Elbasan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Elbasan.js new file mode 100644 index 0000000000..bc03063e28 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Elbasan.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Elbasan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010500, 0x010527] + ] +}); +testPropertyEscapes( + /^\p{Script=Elbasan}+$/u, + matchSymbols, + "\\p{Script=Elbasan}" +); +testPropertyEscapes( + /^\p{Script=Elba}+$/u, + matchSymbols, + "\\p{Script=Elba}" +); +testPropertyEscapes( + /^\p{sc=Elbasan}+$/u, + matchSymbols, + "\\p{sc=Elbasan}" +); +testPropertyEscapes( + /^\p{sc=Elba}+$/u, + matchSymbols, + "\\p{sc=Elba}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0104FF], + [0x010528, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Elbasan}+$/u, + nonMatchSymbols, + "\\P{Script=Elbasan}" +); +testPropertyEscapes( + /^\P{Script=Elba}+$/u, + nonMatchSymbols, + "\\P{Script=Elba}" +); +testPropertyEscapes( + /^\P{sc=Elbasan}+$/u, + nonMatchSymbols, + "\\P{sc=Elbasan}" +); +testPropertyEscapes( + /^\P{sc=Elba}+$/u, + nonMatchSymbols, + "\\P{sc=Elba}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Elymaic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Elymaic.js new file mode 100644 index 0000000000..c9114f58e5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Elymaic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Elymaic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010FE0, 0x010FF6] + ] +}); +testPropertyEscapes( + /^\p{Script=Elymaic}+$/u, + matchSymbols, + "\\p{Script=Elymaic}" +); +testPropertyEscapes( + /^\p{Script=Elym}+$/u, + matchSymbols, + "\\p{Script=Elym}" +); +testPropertyEscapes( + /^\p{sc=Elymaic}+$/u, + matchSymbols, + "\\p{sc=Elymaic}" +); +testPropertyEscapes( + /^\p{sc=Elym}+$/u, + matchSymbols, + "\\p{sc=Elym}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010FDF], + [0x010FF7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Elymaic}+$/u, + nonMatchSymbols, + "\\P{Script=Elymaic}" +); +testPropertyEscapes( + /^\P{Script=Elym}+$/u, + nonMatchSymbols, + "\\P{Script=Elym}" +); +testPropertyEscapes( + /^\P{sc=Elymaic}+$/u, + nonMatchSymbols, + "\\P{sc=Elymaic}" +); +testPropertyEscapes( + /^\P{sc=Elym}+$/u, + nonMatchSymbols, + "\\P{sc=Elym}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js new file mode 100644 index 0000000000..ea782d127e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js @@ -0,0 +1,137 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Ethiopic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001258, + 0x0012C0 + ], + ranges: [ + [0x001200, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00137C], + [0x001380, 0x001399], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E] + ] +}); +testPropertyEscapes( + /^\p{Script=Ethiopic}+$/u, + matchSymbols, + "\\p{Script=Ethiopic}" +); +testPropertyEscapes( + /^\p{Script=Ethi}+$/u, + matchSymbols, + "\\p{Script=Ethi}" +); +testPropertyEscapes( + /^\p{sc=Ethiopic}+$/u, + matchSymbols, + "\\p{sc=Ethiopic}" +); +testPropertyEscapes( + /^\p{sc=Ethi}+$/u, + matchSymbols, + "\\p{sc=Ethi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x00AB27 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0011FF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x00137D, 0x00137F], + [0x00139A, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB2F, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Ethiopic}+$/u, + nonMatchSymbols, + "\\P{Script=Ethiopic}" +); +testPropertyEscapes( + /^\P{Script=Ethi}+$/u, + nonMatchSymbols, + "\\P{Script=Ethi}" +); +testPropertyEscapes( + /^\P{sc=Ethiopic}+$/u, + nonMatchSymbols, + "\\P{sc=Ethiopic}" +); +testPropertyEscapes( + /^\P{sc=Ethi}+$/u, + nonMatchSymbols, + "\\P{sc=Ethi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Georgian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Georgian.js new file mode 100644 index 0000000000..d6143a1a4c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Georgian.js @@ -0,0 +1,93 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Georgian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0010C7, + 0x0010CD, + 0x002D27, + 0x002D2D + ], + ranges: [ + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x0010FF], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x002D00, 0x002D25] + ] +}); +testPropertyEscapes( + /^\p{Script=Georgian}+$/u, + matchSymbols, + "\\p{Script=Georgian}" +); +testPropertyEscapes( + /^\p{Script=Geor}+$/u, + matchSymbols, + "\\p{Script=Geor}" +); +testPropertyEscapes( + /^\p{sc=Georgian}+$/u, + matchSymbols, + "\\p{sc=Georgian}" +); +testPropertyEscapes( + /^\p{sc=Geor}+$/u, + matchSymbols, + "\\p{sc=Geor}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0010C6, + 0x0010FB, + 0x002D26 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x001100, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Georgian}+$/u, + nonMatchSymbols, + "\\P{Script=Georgian}" +); +testPropertyEscapes( + /^\P{Script=Geor}+$/u, + nonMatchSymbols, + "\\P{Script=Geor}" +); +testPropertyEscapes( + /^\P{sc=Georgian}+$/u, + nonMatchSymbols, + "\\P{sc=Georgian}" +); +testPropertyEscapes( + /^\P{sc=Geor}+$/u, + nonMatchSymbols, + "\\P{sc=Geor}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js new file mode 100644 index 0000000000..d445499281 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Glagolitic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A] + ] +}); +testPropertyEscapes( + /^\p{Script=Glagolitic}+$/u, + matchSymbols, + "\\p{Script=Glagolitic}" +); +testPropertyEscapes( + /^\p{Script=Glag}+$/u, + matchSymbols, + "\\p{Script=Glag}" +); +testPropertyEscapes( + /^\p{sc=Glagolitic}+$/u, + matchSymbols, + "\\p{sc=Glagolitic}" +); +testPropertyEscapes( + /^\p{sc=Glag}+$/u, + matchSymbols, + "\\p{sc=Glag}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002C2F, + 0x01E007, + 0x01E022, + 0x01E025 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002BFF], + [0x002C5F, 0x00DBFF], + [0x00E000, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Glagolitic}+$/u, + nonMatchSymbols, + "\\P{Script=Glagolitic}" +); +testPropertyEscapes( + /^\P{Script=Glag}+$/u, + nonMatchSymbols, + "\\P{Script=Glag}" +); +testPropertyEscapes( + /^\P{sc=Glagolitic}+$/u, + nonMatchSymbols, + "\\P{sc=Glagolitic}" +); +testPropertyEscapes( + /^\P{sc=Glag}+$/u, + nonMatchSymbols, + "\\P{sc=Glag}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js new file mode 100644 index 0000000000..a1883fbf16 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Gothic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010330, 0x01034A] + ] +}); +testPropertyEscapes( + /^\p{Script=Gothic}+$/u, + matchSymbols, + "\\p{Script=Gothic}" +); +testPropertyEscapes( + /^\p{Script=Goth}+$/u, + matchSymbols, + "\\p{Script=Goth}" +); +testPropertyEscapes( + /^\p{sc=Gothic}+$/u, + matchSymbols, + "\\p{sc=Gothic}" +); +testPropertyEscapes( + /^\p{sc=Goth}+$/u, + matchSymbols, + "\\p{sc=Goth}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01032F], + [0x01034B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Gothic}+$/u, + nonMatchSymbols, + "\\P{Script=Gothic}" +); +testPropertyEscapes( + /^\P{Script=Goth}+$/u, + nonMatchSymbols, + "\\P{Script=Goth}" +); +testPropertyEscapes( + /^\P{sc=Gothic}+$/u, + nonMatchSymbols, + "\\P{sc=Gothic}" +); +testPropertyEscapes( + /^\P{sc=Goth}+$/u, + nonMatchSymbols, + "\\P{sc=Goth}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Grantha.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Grantha.js new file mode 100644 index 0000000000..ff5b71729c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Grantha.js @@ -0,0 +1,103 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Grantha` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011350, + 0x011357 + ], + ranges: [ + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133C, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374] + ] +}); +testPropertyEscapes( + /^\p{Script=Grantha}+$/u, + matchSymbols, + "\\p{Script=Grantha}" +); +testPropertyEscapes( + /^\p{Script=Gran}+$/u, + matchSymbols, + "\\p{Script=Gran}" +); +testPropertyEscapes( + /^\p{sc=Grantha}+$/u, + matchSymbols, + "\\p{sc=Grantha}" +); +testPropertyEscapes( + /^\p{sc=Gran}+$/u, + matchSymbols, + "\\p{sc=Gran}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011304, + 0x011329, + 0x011331, + 0x011334 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133B], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Grantha}+$/u, + nonMatchSymbols, + "\\P{Script=Grantha}" +); +testPropertyEscapes( + /^\P{Script=Gran}+$/u, + nonMatchSymbols, + "\\P{Script=Gran}" +); +testPropertyEscapes( + /^\P{sc=Grantha}+$/u, + nonMatchSymbols, + "\\P{sc=Grantha}" +); +testPropertyEscapes( + /^\P{sc=Gran}+$/u, + nonMatchSymbols, + "\\P{sc=Gran}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Greek.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Greek.js new file mode 100644 index 0000000000..39d7e2a568 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Greek.js @@ -0,0 +1,145 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Greek` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00037F, + 0x000384, + 0x000386, + 0x00038C, + 0x001DBF, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x002126, + 0x00AB65, + 0x0101A0 + ], + ranges: [ + [0x000370, 0x000373], + [0x000375, 0x000377], + [0x00037A, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003E1], + [0x0003F0, 0x0003FF], + [0x001D26, 0x001D2A], + [0x001D5D, 0x001D61], + [0x001D66, 0x001D6A], + [0x001F00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FC4], + [0x001FC6, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FDD, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFE], + [0x010140, 0x01018E], + [0x01D200, 0x01D245] + ] +}); +testPropertyEscapes( + /^\p{Script=Greek}+$/u, + matchSymbols, + "\\p{Script=Greek}" +); +testPropertyEscapes( + /^\p{Script=Grek}+$/u, + matchSymbols, + "\\p{Script=Grek}" +); +testPropertyEscapes( + /^\p{sc=Greek}+$/u, + matchSymbols, + "\\p{sc=Greek}" +); +testPropertyEscapes( + /^\p{sc=Grek}+$/u, + matchSymbols, + "\\p{sc=Grek}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000374, + 0x00037E, + 0x000385, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FC5, + 0x001FDC, + 0x001FF5 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00036F], + [0x000378, 0x000379], + [0x000380, 0x000383], + [0x0003E2, 0x0003EF], + [0x000400, 0x001D25], + [0x001D2B, 0x001D5C], + [0x001D62, 0x001D65], + [0x001D6B, 0x001DBE], + [0x001DC0, 0x001EFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FD4, 0x001FD5], + [0x001FF0, 0x001FF1], + [0x001FFF, 0x002125], + [0x002127, 0x00AB64], + [0x00AB66, 0x00DBFF], + [0x00E000, 0x01013F], + [0x01018F, 0x01019F], + [0x0101A1, 0x01D1FF], + [0x01D246, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Greek}+$/u, + nonMatchSymbols, + "\\P{Script=Greek}" +); +testPropertyEscapes( + /^\P{Script=Grek}+$/u, + nonMatchSymbols, + "\\P{Script=Grek}" +); +testPropertyEscapes( + /^\P{sc=Greek}+$/u, + nonMatchSymbols, + "\\P{sc=Greek}" +); +testPropertyEscapes( + /^\P{sc=Grek}+$/u, + nonMatchSymbols, + "\\P{sc=Grek}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gujarati.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gujarati.js new file mode 100644 index 0000000000..7d4968cf43 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gujarati.js @@ -0,0 +1,101 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Gujarati` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000AD0 + ], + ranges: [ + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AF1], + [0x000AF9, 0x000AFF] + ] +}); +testPropertyEscapes( + /^\p{Script=Gujarati}+$/u, + matchSymbols, + "\\p{Script=Gujarati}" +); +testPropertyEscapes( + /^\p{Script=Gujr}+$/u, + matchSymbols, + "\\p{Script=Gujr}" +); +testPropertyEscapes( + /^\p{sc=Gujarati}+$/u, + matchSymbols, + "\\p{sc=Gujarati}" +); +testPropertyEscapes( + /^\p{sc=Gujr}+$/u, + matchSymbols, + "\\p{sc=Gujr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF2, 0x000AF8], + [0x000B00, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Gujarati}+$/u, + nonMatchSymbols, + "\\P{Script=Gujarati}" +); +testPropertyEscapes( + /^\P{Script=Gujr}+$/u, + nonMatchSymbols, + "\\P{Script=Gujr}" +); +testPropertyEscapes( + /^\P{sc=Gujarati}+$/u, + nonMatchSymbols, + "\\P{sc=Gujarati}" +); +testPropertyEscapes( + /^\P{sc=Gujr}+$/u, + nonMatchSymbols, + "\\P{sc=Gujr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gunjala_Gondi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gunjala_Gondi.js new file mode 100644 index 0000000000..259f632b3b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gunjala_Gondi.js @@ -0,0 +1,84 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Gunjala_Gondi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9] + ] +}); +testPropertyEscapes( + /^\p{Script=Gunjala_Gondi}+$/u, + matchSymbols, + "\\p{Script=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\p{Script=Gong}+$/u, + matchSymbols, + "\\p{Script=Gong}" +); +testPropertyEscapes( + /^\p{sc=Gunjala_Gondi}+$/u, + matchSymbols, + "\\p{sc=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\p{sc=Gong}+$/u, + matchSymbols, + "\\p{sc=Gong}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Gunjala_Gondi}+$/u, + nonMatchSymbols, + "\\P{Script=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\P{Script=Gong}+$/u, + nonMatchSymbols, + "\\P{Script=Gong}" +); +testPropertyEscapes( + /^\P{sc=Gunjala_Gondi}+$/u, + nonMatchSymbols, + "\\P{sc=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\P{sc=Gong}+$/u, + nonMatchSymbols, + "\\P{sc=Gong}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gurmukhi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gurmukhi.js new file mode 100644 index 0000000000..c934be74ba --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Gurmukhi.js @@ -0,0 +1,105 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Gurmukhi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000A3C, + 0x000A51, + 0x000A5E + ], + ranges: [ + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A76] + ] +}); +testPropertyEscapes( + /^\p{Script=Gurmukhi}+$/u, + matchSymbols, + "\\p{Script=Gurmukhi}" +); +testPropertyEscapes( + /^\p{Script=Guru}+$/u, + matchSymbols, + "\\p{Script=Guru}" +); +testPropertyEscapes( + /^\p{sc=Gurmukhi}+$/u, + matchSymbols, + "\\p{sc=Gurmukhi}" +); +testPropertyEscapes( + /^\p{sc=Guru}+$/u, + matchSymbols, + "\\p{sc=Guru}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A77, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Gurmukhi}+$/u, + nonMatchSymbols, + "\\P{Script=Gurmukhi}" +); +testPropertyEscapes( + /^\P{Script=Guru}+$/u, + nonMatchSymbols, + "\\P{Script=Guru}" +); +testPropertyEscapes( + /^\P{sc=Gurmukhi}+$/u, + nonMatchSymbols, + "\\P{sc=Gurmukhi}" +); +testPropertyEscapes( + /^\P{sc=Guru}+$/u, + nonMatchSymbols, + "\\P{sc=Guru}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js new file mode 100644 index 0000000000..300908a6d5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js @@ -0,0 +1,111 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Han` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003005, + 0x003007 + ], + ranges: [ + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x003021, 0x003029], + [0x003038, 0x00303B], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x016FF0, 0x016FF1], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{Script=Han}+$/u, + matchSymbols, + "\\p{Script=Han}" +); +testPropertyEscapes( + /^\p{Script=Hani}+$/u, + matchSymbols, + "\\p{Script=Hani}" +); +testPropertyEscapes( + /^\p{sc=Han}+$/u, + matchSymbols, + "\\p{sc=Han}" +); +testPropertyEscapes( + /^\p{sc=Hani}+$/u, + matchSymbols, + "\\p{sc=Hani}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002E9A, + 0x003006 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x003004], + [0x003008, 0x003020], + [0x00302A, 0x003037], + [0x00303C, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x016FEF], + [0x016FF2, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Han}+$/u, + nonMatchSymbols, + "\\P{Script=Han}" +); +testPropertyEscapes( + /^\P{Script=Hani}+$/u, + nonMatchSymbols, + "\\P{Script=Hani}" +); +testPropertyEscapes( + /^\P{sc=Han}+$/u, + nonMatchSymbols, + "\\P{sc=Han}" +); +testPropertyEscapes( + /^\P{sc=Hani}+$/u, + nonMatchSymbols, + "\\P{sc=Hani}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hangul.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hangul.js new file mode 100644 index 0000000000..afb0db5c96 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hangul.js @@ -0,0 +1,99 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Hangul` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001100, 0x0011FF], + [0x00302E, 0x00302F], + [0x003131, 0x00318E], + [0x003200, 0x00321E], + [0x003260, 0x00327E], + [0x00A960, 0x00A97C], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00FFA0, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC] + ] +}); +testPropertyEscapes( + /^\p{Script=Hangul}+$/u, + matchSymbols, + "\\p{Script=Hangul}" +); +testPropertyEscapes( + /^\p{Script=Hang}+$/u, + matchSymbols, + "\\p{Script=Hang}" +); +testPropertyEscapes( + /^\p{sc=Hangul}+$/u, + matchSymbols, + "\\p{sc=Hangul}" +); +testPropertyEscapes( + /^\p{sc=Hang}+$/u, + matchSymbols, + "\\p{sc=Hang}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0010FF], + [0x001200, 0x00302D], + [0x003030, 0x003130], + [0x00318F, 0x0031FF], + [0x00321F, 0x00325F], + [0x00327F, 0x00A95F], + [0x00A97D, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00FF9F], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Hangul}+$/u, + nonMatchSymbols, + "\\P{Script=Hangul}" +); +testPropertyEscapes( + /^\P{Script=Hang}+$/u, + nonMatchSymbols, + "\\P{Script=Hang}" +); +testPropertyEscapes( + /^\P{sc=Hangul}+$/u, + nonMatchSymbols, + "\\P{sc=Hangul}" +); +testPropertyEscapes( + /^\P{sc=Hang}+$/u, + nonMatchSymbols, + "\\P{sc=Hang}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hanifi_Rohingya.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hanifi_Rohingya.js new file mode 100644 index 0000000000..3afb012d9d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hanifi_Rohingya.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Hanifi_Rohingya` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010D00, 0x010D27], + [0x010D30, 0x010D39] + ] +}); +testPropertyEscapes( + /^\p{Script=Hanifi_Rohingya}+$/u, + matchSymbols, + "\\p{Script=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\p{Script=Rohg}+$/u, + matchSymbols, + "\\p{Script=Rohg}" +); +testPropertyEscapes( + /^\p{sc=Hanifi_Rohingya}+$/u, + matchSymbols, + "\\p{sc=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\p{sc=Rohg}+$/u, + matchSymbols, + "\\p{sc=Rohg}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010CFF], + [0x010D28, 0x010D2F], + [0x010D3A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Hanifi_Rohingya}+$/u, + nonMatchSymbols, + "\\P{Script=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\P{Script=Rohg}+$/u, + nonMatchSymbols, + "\\P{Script=Rohg}" +); +testPropertyEscapes( + /^\P{sc=Hanifi_Rohingya}+$/u, + nonMatchSymbols, + "\\P{sc=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\P{sc=Rohg}+$/u, + nonMatchSymbols, + "\\P{sc=Rohg}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hanunoo.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hanunoo.js new file mode 100644 index 0000000000..6415198a4a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hanunoo.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Hanunoo` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001720, 0x001734] + ] +}); +testPropertyEscapes( + /^\p{Script=Hanunoo}+$/u, + matchSymbols, + "\\p{Script=Hanunoo}" +); +testPropertyEscapes( + /^\p{Script=Hano}+$/u, + matchSymbols, + "\\p{Script=Hano}" +); +testPropertyEscapes( + /^\p{sc=Hanunoo}+$/u, + matchSymbols, + "\\p{sc=Hanunoo}" +); +testPropertyEscapes( + /^\p{sc=Hano}+$/u, + matchSymbols, + "\\p{sc=Hano}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00171F], + [0x001735, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Hanunoo}+$/u, + nonMatchSymbols, + "\\P{Script=Hanunoo}" +); +testPropertyEscapes( + /^\P{Script=Hano}+$/u, + nonMatchSymbols, + "\\P{Script=Hano}" +); +testPropertyEscapes( + /^\P{sc=Hanunoo}+$/u, + nonMatchSymbols, + "\\P{sc=Hanunoo}" +); +testPropertyEscapes( + /^\P{sc=Hano}+$/u, + nonMatchSymbols, + "\\P{sc=Hano}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hatran.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hatran.js new file mode 100644 index 0000000000..daaae9b5c3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hatran.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Hatran` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x0108FB, 0x0108FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Hatran}+$/u, + matchSymbols, + "\\p{Script=Hatran}" +); +testPropertyEscapes( + /^\p{Script=Hatr}+$/u, + matchSymbols, + "\\p{Script=Hatr}" +); +testPropertyEscapes( + /^\p{sc=Hatran}+$/u, + matchSymbols, + "\\p{sc=Hatran}" +); +testPropertyEscapes( + /^\p{sc=Hatr}+$/u, + matchSymbols, + "\\p{sc=Hatr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0108F3 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0108DF], + [0x0108F6, 0x0108FA], + [0x010900, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Hatran}+$/u, + nonMatchSymbols, + "\\P{Script=Hatran}" +); +testPropertyEscapes( + /^\P{Script=Hatr}+$/u, + nonMatchSymbols, + "\\P{Script=Hatr}" +); +testPropertyEscapes( + /^\P{sc=Hatran}+$/u, + nonMatchSymbols, + "\\P{sc=Hatran}" +); +testPropertyEscapes( + /^\P{sc=Hatr}+$/u, + nonMatchSymbols, + "\\P{sc=Hatr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hebrew.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hebrew.js new file mode 100644 index 0000000000..ebec15769b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hebrew.js @@ -0,0 +1,91 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Hebrew` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00FB3E + ], + ranges: [ + [0x000591, 0x0005C7], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F4], + [0x00FB1D, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FB4F] + ] +}); +testPropertyEscapes( + /^\p{Script=Hebrew}+$/u, + matchSymbols, + "\\p{Script=Hebrew}" +); +testPropertyEscapes( + /^\p{Script=Hebr}+$/u, + matchSymbols, + "\\p{Script=Hebr}" +); +testPropertyEscapes( + /^\p{sc=Hebrew}+$/u, + matchSymbols, + "\\p{sc=Hebrew}" +); +testPropertyEscapes( + /^\p{sc=Hebr}+$/u, + matchSymbols, + "\\p{sc=Hebr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000590], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F5, 0x00DBFF], + [0x00E000, 0x00FB1C], + [0x00FB50, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Hebrew}+$/u, + nonMatchSymbols, + "\\P{Script=Hebrew}" +); +testPropertyEscapes( + /^\P{Script=Hebr}+$/u, + nonMatchSymbols, + "\\P{Script=Hebr}" +); +testPropertyEscapes( + /^\P{sc=Hebrew}+$/u, + nonMatchSymbols, + "\\P{sc=Hebrew}" +); +testPropertyEscapes( + /^\P{sc=Hebr}+$/u, + nonMatchSymbols, + "\\P{sc=Hebr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js new file mode 100644 index 0000000000..337f131995 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js @@ -0,0 +1,82 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Hiragana` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01F200 + ], + ranges: [ + [0x003041, 0x003096], + [0x00309D, 0x00309F], + [0x01B001, 0x01B11E], + [0x01B150, 0x01B152] + ] +}); +testPropertyEscapes( + /^\p{Script=Hiragana}+$/u, + matchSymbols, + "\\p{Script=Hiragana}" +); +testPropertyEscapes( + /^\p{Script=Hira}+$/u, + matchSymbols, + "\\p{Script=Hira}" +); +testPropertyEscapes( + /^\p{sc=Hiragana}+$/u, + matchSymbols, + "\\p{sc=Hiragana}" +); +testPropertyEscapes( + /^\p{sc=Hira}+$/u, + matchSymbols, + "\\p{sc=Hira}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x003040], + [0x003097, 0x00309C], + [0x0030A0, 0x00DBFF], + [0x00E000, 0x01B000], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01F1FF], + [0x01F201, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Hiragana}+$/u, + nonMatchSymbols, + "\\P{Script=Hiragana}" +); +testPropertyEscapes( + /^\P{Script=Hira}+$/u, + nonMatchSymbols, + "\\P{Script=Hira}" +); +testPropertyEscapes( + /^\P{sc=Hiragana}+$/u, + nonMatchSymbols, + "\\P{sc=Hiragana}" +); +testPropertyEscapes( + /^\P{sc=Hira}+$/u, + nonMatchSymbols, + "\\P{sc=Hira}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Imperial_Aramaic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Imperial_Aramaic.js new file mode 100644 index 0000000000..fc75d2a7b5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Imperial_Aramaic.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Imperial_Aramaic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010840, 0x010855], + [0x010857, 0x01085F] + ] +}); +testPropertyEscapes( + /^\p{Script=Imperial_Aramaic}+$/u, + matchSymbols, + "\\p{Script=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\p{Script=Armi}+$/u, + matchSymbols, + "\\p{Script=Armi}" +); +testPropertyEscapes( + /^\p{sc=Imperial_Aramaic}+$/u, + matchSymbols, + "\\p{sc=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\p{sc=Armi}+$/u, + matchSymbols, + "\\p{sc=Armi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010856 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01083F], + [0x010860, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Imperial_Aramaic}+$/u, + nonMatchSymbols, + "\\P{Script=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\P{Script=Armi}+$/u, + nonMatchSymbols, + "\\P{Script=Armi}" +); +testPropertyEscapes( + /^\P{sc=Imperial_Aramaic}+$/u, + nonMatchSymbols, + "\\P{sc=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\P{sc=Armi}+$/u, + nonMatchSymbols, + "\\P{sc=Armi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js new file mode 100644 index 0000000000..53356727d1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js @@ -0,0 +1,149 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Inherited` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000670, + 0x001CED, + 0x001CF4, + 0x0101FD, + 0x0102E0, + 0x01133B + ], + ranges: [ + [0x000300, 0x00036F], + [0x000485, 0x000486], + [0x00064B, 0x000655], + [0x000951, 0x000954], + [0x001AB0, 0x001AC0], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CE0], + [0x001CE2, 0x001CE8], + [0x001CF8, 0x001CF9], + [0x001DC0, 0x001DF9], + [0x001DFB, 0x001DFF], + [0x00200C, 0x00200D], + [0x0020D0, 0x0020F0], + [0x00302A, 0x00302D], + [0x003099, 0x00309A], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2D], + [0x01D167, 0x01D169], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{Script=Inherited}+$/u, + matchSymbols, + "\\p{Script=Inherited}" +); +testPropertyEscapes( + /^\p{Script=Zinh}+$/u, + matchSymbols, + "\\p{Script=Zinh}" +); +testPropertyEscapes( + /^\p{Script=Qaai}+$/u, + matchSymbols, + "\\p{Script=Qaai}" +); +testPropertyEscapes( + /^\p{sc=Inherited}+$/u, + matchSymbols, + "\\p{sc=Inherited}" +); +testPropertyEscapes( + /^\p{sc=Zinh}+$/u, + matchSymbols, + "\\p{sc=Zinh}" +); +testPropertyEscapes( + /^\p{sc=Qaai}+$/u, + matchSymbols, + "\\p{sc=Qaai}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001CD3, + 0x001CE1, + 0x001DFA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002FF], + [0x000370, 0x000484], + [0x000487, 0x00064A], + [0x000656, 0x00066F], + [0x000671, 0x000950], + [0x000955, 0x001AAF], + [0x001AC1, 0x001CCF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF7], + [0x001CFA, 0x001DBF], + [0x001E00, 0x00200B], + [0x00200E, 0x0020CF], + [0x0020F1, 0x003029], + [0x00302E, 0x003098], + [0x00309B, 0x00DBFF], + [0x00E000, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE2E, 0x0101FC], + [0x0101FE, 0x0102DF], + [0x0102E1, 0x01133A], + [0x01133C, 0x01D166], + [0x01D16A, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Inherited}+$/u, + nonMatchSymbols, + "\\P{Script=Inherited}" +); +testPropertyEscapes( + /^\P{Script=Zinh}+$/u, + nonMatchSymbols, + "\\P{Script=Zinh}" +); +testPropertyEscapes( + /^\P{Script=Qaai}+$/u, + nonMatchSymbols, + "\\P{Script=Qaai}" +); +testPropertyEscapes( + /^\P{sc=Inherited}+$/u, + nonMatchSymbols, + "\\P{sc=Inherited}" +); +testPropertyEscapes( + /^\P{sc=Zinh}+$/u, + nonMatchSymbols, + "\\P{sc=Zinh}" +); +testPropertyEscapes( + /^\P{sc=Qaai}+$/u, + nonMatchSymbols, + "\\P{sc=Qaai}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Pahlavi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Pahlavi.js new file mode 100644 index 0000000000..bba16b3a37 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Pahlavi.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Inscriptional_Pahlavi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B60, 0x010B72], + [0x010B78, 0x010B7F] + ] +}); +testPropertyEscapes( + /^\p{Script=Inscriptional_Pahlavi}+$/u, + matchSymbols, + "\\p{Script=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\p{Script=Phli}+$/u, + matchSymbols, + "\\p{Script=Phli}" +); +testPropertyEscapes( + /^\p{sc=Inscriptional_Pahlavi}+$/u, + matchSymbols, + "\\p{sc=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\p{sc=Phli}+$/u, + matchSymbols, + "\\p{sc=Phli}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010B5F], + [0x010B73, 0x010B77], + [0x010B80, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Inscriptional_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{Script=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\P{Script=Phli}+$/u, + nonMatchSymbols, + "\\P{Script=Phli}" +); +testPropertyEscapes( + /^\P{sc=Inscriptional_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{sc=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\P{sc=Phli}+$/u, + nonMatchSymbols, + "\\P{sc=Phli}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Parthian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Parthian.js new file mode 100644 index 0000000000..c7404175ce --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Parthian.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Inscriptional_Parthian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B40, 0x010B55], + [0x010B58, 0x010B5F] + ] +}); +testPropertyEscapes( + /^\p{Script=Inscriptional_Parthian}+$/u, + matchSymbols, + "\\p{Script=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\p{Script=Prti}+$/u, + matchSymbols, + "\\p{Script=Prti}" +); +testPropertyEscapes( + /^\p{sc=Inscriptional_Parthian}+$/u, + matchSymbols, + "\\p{sc=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\p{sc=Prti}+$/u, + matchSymbols, + "\\p{sc=Prti}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010B3F], + [0x010B56, 0x010B57], + [0x010B60, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Inscriptional_Parthian}+$/u, + nonMatchSymbols, + "\\P{Script=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\P{Script=Prti}+$/u, + nonMatchSymbols, + "\\P{Script=Prti}" +); +testPropertyEscapes( + /^\P{sc=Inscriptional_Parthian}+$/u, + nonMatchSymbols, + "\\P{sc=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\P{sc=Prti}+$/u, + nonMatchSymbols, + "\\P{sc=Prti}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Javanese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Javanese.js new file mode 100644 index 0000000000..4bd2dcdb5d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Javanese.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Javanese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A980, 0x00A9CD], + [0x00A9D0, 0x00A9D9], + [0x00A9DE, 0x00A9DF] + ] +}); +testPropertyEscapes( + /^\p{Script=Javanese}+$/u, + matchSymbols, + "\\p{Script=Javanese}" +); +testPropertyEscapes( + /^\p{Script=Java}+$/u, + matchSymbols, + "\\p{Script=Java}" +); +testPropertyEscapes( + /^\p{sc=Javanese}+$/u, + matchSymbols, + "\\p{sc=Javanese}" +); +testPropertyEscapes( + /^\p{sc=Java}+$/u, + matchSymbols, + "\\p{sc=Java}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A97F], + [0x00A9CE, 0x00A9CF], + [0x00A9DA, 0x00A9DD], + [0x00A9E0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Javanese}+$/u, + nonMatchSymbols, + "\\P{Script=Javanese}" +); +testPropertyEscapes( + /^\P{Script=Java}+$/u, + nonMatchSymbols, + "\\P{Script=Java}" +); +testPropertyEscapes( + /^\P{sc=Javanese}+$/u, + nonMatchSymbols, + "\\P{sc=Javanese}" +); +testPropertyEscapes( + /^\P{sc=Java}+$/u, + nonMatchSymbols, + "\\P{sc=Java}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js new file mode 100644 index 0000000000..5c8050afc5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Kaithi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0110CD + ], + ranges: [ + [0x011080, 0x0110C1] + ] +}); +testPropertyEscapes( + /^\p{Script=Kaithi}+$/u, + matchSymbols, + "\\p{Script=Kaithi}" +); +testPropertyEscapes( + /^\p{Script=Kthi}+$/u, + matchSymbols, + "\\p{Script=Kthi}" +); +testPropertyEscapes( + /^\p{sc=Kaithi}+$/u, + matchSymbols, + "\\p{sc=Kaithi}" +); +testPropertyEscapes( + /^\p{sc=Kthi}+$/u, + matchSymbols, + "\\p{sc=Kthi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01107F], + [0x0110C2, 0x0110CC], + [0x0110CE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Kaithi}+$/u, + nonMatchSymbols, + "\\P{Script=Kaithi}" +); +testPropertyEscapes( + /^\P{Script=Kthi}+$/u, + nonMatchSymbols, + "\\P{Script=Kthi}" +); +testPropertyEscapes( + /^\P{sc=Kaithi}+$/u, + nonMatchSymbols, + "\\P{sc=Kaithi}" +); +testPropertyEscapes( + /^\P{sc=Kthi}+$/u, + nonMatchSymbols, + "\\P{sc=Kthi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js new file mode 100644 index 0000000000..bd43544b63 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js @@ -0,0 +1,99 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Kannada` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000CDE + ], + ranges: [ + [0x000C80, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2] + ] +}); +testPropertyEscapes( + /^\p{Script=Kannada}+$/u, + matchSymbols, + "\\p{Script=Kannada}" +); +testPropertyEscapes( + /^\p{Script=Knda}+$/u, + matchSymbols, + "\\p{Script=Knda}" +); +testPropertyEscapes( + /^\p{sc=Kannada}+$/u, + matchSymbols, + "\\p{sc=Kannada}" +); +testPropertyEscapes( + /^\p{sc=Knda}+$/u, + matchSymbols, + "\\p{sc=Knda}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000C7F], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Kannada}+$/u, + nonMatchSymbols, + "\\P{Script=Kannada}" +); +testPropertyEscapes( + /^\P{Script=Knda}+$/u, + nonMatchSymbols, + "\\P{Script=Knda}" +); +testPropertyEscapes( + /^\P{sc=Kannada}+$/u, + nonMatchSymbols, + "\\P{sc=Kannada}" +); +testPropertyEscapes( + /^\P{sc=Knda}+$/u, + nonMatchSymbols, + "\\P{sc=Knda}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js new file mode 100644 index 0000000000..0f6629923f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js @@ -0,0 +1,91 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Katakana` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01B000 + ], + ranges: [ + [0x0030A1, 0x0030FA], + [0x0030FD, 0x0030FF], + [0x0031F0, 0x0031FF], + [0x0032D0, 0x0032FE], + [0x003300, 0x003357], + [0x00FF66, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x01B164, 0x01B167] + ] +}); +testPropertyEscapes( + /^\p{Script=Katakana}+$/u, + matchSymbols, + "\\p{Script=Katakana}" +); +testPropertyEscapes( + /^\p{Script=Kana}+$/u, + matchSymbols, + "\\p{Script=Kana}" +); +testPropertyEscapes( + /^\p{sc=Katakana}+$/u, + matchSymbols, + "\\p{sc=Katakana}" +); +testPropertyEscapes( + /^\p{sc=Kana}+$/u, + matchSymbols, + "\\p{sc=Kana}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0032FF, + 0x00FF70 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0030A0], + [0x0030FB, 0x0030FC], + [0x003100, 0x0031EF], + [0x003200, 0x0032CF], + [0x003358, 0x00DBFF], + [0x00E000, 0x00FF65], + [0x00FF9E, 0x01AFFF], + [0x01B001, 0x01B163], + [0x01B168, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Katakana}+$/u, + nonMatchSymbols, + "\\P{Script=Katakana}" +); +testPropertyEscapes( + /^\P{Script=Kana}+$/u, + nonMatchSymbols, + "\\P{Script=Kana}" +); +testPropertyEscapes( + /^\P{sc=Katakana}+$/u, + nonMatchSymbols, + "\\P{sc=Katakana}" +); +testPropertyEscapes( + /^\P{sc=Kana}+$/u, + nonMatchSymbols, + "\\P{sc=Kana}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kayah_Li.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kayah_Li.js new file mode 100644 index 0000000000..5fc78c5bf6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kayah_Li.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Kayah_Li` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00A92F + ], + ranges: [ + [0x00A900, 0x00A92D] + ] +}); +testPropertyEscapes( + /^\p{Script=Kayah_Li}+$/u, + matchSymbols, + "\\p{Script=Kayah_Li}" +); +testPropertyEscapes( + /^\p{Script=Kali}+$/u, + matchSymbols, + "\\p{Script=Kali}" +); +testPropertyEscapes( + /^\p{sc=Kayah_Li}+$/u, + matchSymbols, + "\\p{sc=Kayah_Li}" +); +testPropertyEscapes( + /^\p{sc=Kali}+$/u, + matchSymbols, + "\\p{sc=Kali}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00A92E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A8FF], + [0x00A930, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Kayah_Li}+$/u, + nonMatchSymbols, + "\\P{Script=Kayah_Li}" +); +testPropertyEscapes( + /^\P{Script=Kali}+$/u, + nonMatchSymbols, + "\\P{Script=Kali}" +); +testPropertyEscapes( + /^\P{sc=Kayah_Li}+$/u, + nonMatchSymbols, + "\\P{sc=Kayah_Li}" +); +testPropertyEscapes( + /^\P{sc=Kali}+$/u, + nonMatchSymbols, + "\\P{sc=Kali}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kharoshthi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kharoshthi.js new file mode 100644 index 0000000000..217c21ac46 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Kharoshthi.js @@ -0,0 +1,88 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Kharoshthi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010A00, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A3F, 0x010A48], + [0x010A50, 0x010A58] + ] +}); +testPropertyEscapes( + /^\p{Script=Kharoshthi}+$/u, + matchSymbols, + "\\p{Script=Kharoshthi}" +); +testPropertyEscapes( + /^\p{Script=Khar}+$/u, + matchSymbols, + "\\p{Script=Khar}" +); +testPropertyEscapes( + /^\p{sc=Kharoshthi}+$/u, + matchSymbols, + "\\p{sc=Kharoshthi}" +); +testPropertyEscapes( + /^\p{sc=Khar}+$/u, + matchSymbols, + "\\p{sc=Khar}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010A04, + 0x010A14, + 0x010A18 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0109FF], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A49, 0x010A4F], + [0x010A59, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Kharoshthi}+$/u, + nonMatchSymbols, + "\\P{Script=Kharoshthi}" +); +testPropertyEscapes( + /^\P{Script=Khar}+$/u, + nonMatchSymbols, + "\\P{Script=Khar}" +); +testPropertyEscapes( + /^\P{sc=Kharoshthi}+$/u, + nonMatchSymbols, + "\\P{sc=Kharoshthi}" +); +testPropertyEscapes( + /^\P{sc=Khar}+$/u, + nonMatchSymbols, + "\\P{sc=Khar}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js new file mode 100644 index 0000000000..43a77c6d18 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Khitan_Small_Script` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE4 + ], + ranges: [ + [0x018B00, 0x018CD5] + ] +}); +testPropertyEscapes( + /^\p{Script=Khitan_Small_Script}+$/u, + matchSymbols, + "\\p{Script=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\p{Script=Kits}+$/u, + matchSymbols, + "\\p{Script=Kits}" +); +testPropertyEscapes( + /^\p{sc=Khitan_Small_Script}+$/u, + matchSymbols, + "\\p{sc=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\p{sc=Kits}+$/u, + matchSymbols, + "\\p{sc=Kits}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016FE3], + [0x016FE5, 0x018AFF], + [0x018CD6, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Khitan_Small_Script}+$/u, + nonMatchSymbols, + "\\P{Script=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\P{Script=Kits}+$/u, + nonMatchSymbols, + "\\P{Script=Kits}" +); +testPropertyEscapes( + /^\P{sc=Khitan_Small_Script}+$/u, + nonMatchSymbols, + "\\P{sc=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\P{sc=Kits}+$/u, + nonMatchSymbols, + "\\P{sc=Kits}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khmer.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khmer.js new file mode 100644 index 0000000000..f85401bbb3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khmer.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Khmer` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001780, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x0019E0, 0x0019FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Khmer}+$/u, + matchSymbols, + "\\p{Script=Khmer}" +); +testPropertyEscapes( + /^\p{Script=Khmr}+$/u, + matchSymbols, + "\\p{Script=Khmr}" +); +testPropertyEscapes( + /^\p{sc=Khmer}+$/u, + matchSymbols, + "\\p{sc=Khmer}" +); +testPropertyEscapes( + /^\p{sc=Khmr}+$/u, + matchSymbols, + "\\p{sc=Khmr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00177F], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x0019DF], + [0x001A00, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Khmer}+$/u, + nonMatchSymbols, + "\\P{Script=Khmer}" +); +testPropertyEscapes( + /^\P{Script=Khmr}+$/u, + nonMatchSymbols, + "\\P{Script=Khmr}" +); +testPropertyEscapes( + /^\P{sc=Khmer}+$/u, + nonMatchSymbols, + "\\P{sc=Khmer}" +); +testPropertyEscapes( + /^\P{sc=Khmr}+$/u, + nonMatchSymbols, + "\\P{sc=Khmr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js new file mode 100644 index 0000000000..2f91910845 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Khojki` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011200, 0x011211], + [0x011213, 0x01123E] + ] +}); +testPropertyEscapes( + /^\p{Script=Khojki}+$/u, + matchSymbols, + "\\p{Script=Khojki}" +); +testPropertyEscapes( + /^\p{Script=Khoj}+$/u, + matchSymbols, + "\\p{Script=Khoj}" +); +testPropertyEscapes( + /^\p{sc=Khojki}+$/u, + matchSymbols, + "\\p{sc=Khojki}" +); +testPropertyEscapes( + /^\p{sc=Khoj}+$/u, + matchSymbols, + "\\p{sc=Khoj}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011212 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0111FF], + [0x01123F, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Khojki}+$/u, + nonMatchSymbols, + "\\P{Script=Khojki}" +); +testPropertyEscapes( + /^\P{Script=Khoj}+$/u, + nonMatchSymbols, + "\\P{Script=Khoj}" +); +testPropertyEscapes( + /^\P{sc=Khojki}+$/u, + nonMatchSymbols, + "\\P{sc=Khojki}" +); +testPropertyEscapes( + /^\P{sc=Khoj}+$/u, + nonMatchSymbols, + "\\P{sc=Khoj}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khudawadi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khudawadi.js new file mode 100644 index 0000000000..31e6cc89e8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Khudawadi.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Khudawadi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9] + ] +}); +testPropertyEscapes( + /^\p{Script=Khudawadi}+$/u, + matchSymbols, + "\\p{Script=Khudawadi}" +); +testPropertyEscapes( + /^\p{Script=Sind}+$/u, + matchSymbols, + "\\p{Script=Sind}" +); +testPropertyEscapes( + /^\p{sc=Khudawadi}+$/u, + matchSymbols, + "\\p{sc=Khudawadi}" +); +testPropertyEscapes( + /^\p{sc=Sind}+$/u, + matchSymbols, + "\\p{sc=Sind}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Khudawadi}+$/u, + nonMatchSymbols, + "\\P{Script=Khudawadi}" +); +testPropertyEscapes( + /^\P{Script=Sind}+$/u, + nonMatchSymbols, + "\\P{Script=Sind}" +); +testPropertyEscapes( + /^\P{sc=Khudawadi}+$/u, + nonMatchSymbols, + "\\P{sc=Khudawadi}" +); +testPropertyEscapes( + /^\P{sc=Sind}+$/u, + nonMatchSymbols, + "\\P{sc=Sind}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js new file mode 100644 index 0000000000..7cf24eec58 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js @@ -0,0 +1,95 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Lao` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000E84, + 0x000EA5, + 0x000EC6 + ], + ranges: [ + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF] + ] +}); +testPropertyEscapes( + /^\p{Script=Lao}+$/u, + matchSymbols, + "\\p{Script=Lao}" +); +testPropertyEscapes( + /^\p{Script=Laoo}+$/u, + matchSymbols, + "\\p{Script=Laoo}" +); +testPropertyEscapes( + /^\p{sc=Lao}+$/u, + matchSymbols, + "\\p{sc=Lao}" +); +testPropertyEscapes( + /^\p{sc=Laoo}+$/u, + matchSymbols, + "\\p{sc=Laoo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Lao}+$/u, + nonMatchSymbols, + "\\P{Script=Lao}" +); +testPropertyEscapes( + /^\P{Script=Laoo}+$/u, + nonMatchSymbols, + "\\P{Script=Laoo}" +); +testPropertyEscapes( + /^\P{sc=Lao}+$/u, + nonMatchSymbols, + "\\P{sc=Lao}" +); +testPropertyEscapes( + /^\P{sc=Laoo}+$/u, + nonMatchSymbols, + "\\P{sc=Laoo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js new file mode 100644 index 0000000000..6a6d623875 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js @@ -0,0 +1,137 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Latin` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000BA, + 0x002071, + 0x00207F, + 0x002132, + 0x00214E + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002B8], + [0x0002E0, 0x0002E4], + [0x001D00, 0x001D25], + [0x001D2C, 0x001D5C], + [0x001D62, 0x001D65], + [0x001D6B, 0x001D77], + [0x001D79, 0x001DBE], + [0x001E00, 0x001EFF], + [0x002090, 0x00209C], + [0x00212A, 0x00212B], + [0x002160, 0x002188], + [0x002C60, 0x002C7F], + [0x00A722, 0x00A787], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A7FF], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB64], + [0x00AB66, 0x00AB69], + [0x00FB00, 0x00FB06], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A] + ] +}); +testPropertyEscapes( + /^\p{Script=Latin}+$/u, + matchSymbols, + "\\p{Script=Latin}" +); +testPropertyEscapes( + /^\p{Script=Latn}+$/u, + matchSymbols, + "\\p{Script=Latn}" +); +testPropertyEscapes( + /^\p{sc=Latin}+$/u, + matchSymbols, + "\\p{sc=Latin}" +); +testPropertyEscapes( + /^\p{sc=Latn}+$/u, + matchSymbols, + "\\p{sc=Latn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x001D78, + 0x00AB5B, + 0x00AB65 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002B9, 0x0002DF], + [0x0002E5, 0x001CFF], + [0x001D26, 0x001D2B], + [0x001D5D, 0x001D61], + [0x001D66, 0x001D6A], + [0x001DBF, 0x001DFF], + [0x001F00, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x002C5F], + [0x002C80, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A800, 0x00AB2F], + [0x00AB6A, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Latin}+$/u, + nonMatchSymbols, + "\\P{Script=Latin}" +); +testPropertyEscapes( + /^\P{Script=Latn}+$/u, + nonMatchSymbols, + "\\P{Script=Latn}" +); +testPropertyEscapes( + /^\P{sc=Latin}+$/u, + nonMatchSymbols, + "\\P{sc=Latin}" +); +testPropertyEscapes( + /^\P{sc=Latn}+$/u, + nonMatchSymbols, + "\\P{sc=Latn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lepcha.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lepcha.js new file mode 100644 index 0000000000..cc6469149b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lepcha.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Lepcha` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001C00, 0x001C37], + [0x001C3B, 0x001C49], + [0x001C4D, 0x001C4F] + ] +}); +testPropertyEscapes( + /^\p{Script=Lepcha}+$/u, + matchSymbols, + "\\p{Script=Lepcha}" +); +testPropertyEscapes( + /^\p{Script=Lepc}+$/u, + matchSymbols, + "\\p{Script=Lepc}" +); +testPropertyEscapes( + /^\p{sc=Lepcha}+$/u, + matchSymbols, + "\\p{sc=Lepcha}" +); +testPropertyEscapes( + /^\p{sc=Lepc}+$/u, + matchSymbols, + "\\p{sc=Lepc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001BFF], + [0x001C38, 0x001C3A], + [0x001C4A, 0x001C4C], + [0x001C50, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Lepcha}+$/u, + nonMatchSymbols, + "\\P{Script=Lepcha}" +); +testPropertyEscapes( + /^\P{Script=Lepc}+$/u, + nonMatchSymbols, + "\\P{Script=Lepc}" +); +testPropertyEscapes( + /^\P{sc=Lepcha}+$/u, + nonMatchSymbols, + "\\P{sc=Lepcha}" +); +testPropertyEscapes( + /^\P{sc=Lepc}+$/u, + nonMatchSymbols, + "\\P{sc=Lepc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Limbu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Limbu.js new file mode 100644 index 0000000000..549faf01d7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Limbu.js @@ -0,0 +1,83 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Limbu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001940 + ], + ranges: [ + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001944, 0x00194F] + ] +}); +testPropertyEscapes( + /^\p{Script=Limbu}+$/u, + matchSymbols, + "\\p{Script=Limbu}" +); +testPropertyEscapes( + /^\p{Script=Limb}+$/u, + matchSymbols, + "\\p{Script=Limb}" +); +testPropertyEscapes( + /^\p{sc=Limbu}+$/u, + matchSymbols, + "\\p{sc=Limbu}" +); +testPropertyEscapes( + /^\p{sc=Limb}+$/u, + matchSymbols, + "\\p{sc=Limb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00191F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x00193F], + [0x001941, 0x001943], + [0x001950, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Limbu}+$/u, + nonMatchSymbols, + "\\P{Script=Limbu}" +); +testPropertyEscapes( + /^\P{Script=Limb}+$/u, + nonMatchSymbols, + "\\P{Script=Limb}" +); +testPropertyEscapes( + /^\P{sc=Limbu}+$/u, + nonMatchSymbols, + "\\P{sc=Limbu}" +); +testPropertyEscapes( + /^\P{sc=Limb}+$/u, + nonMatchSymbols, + "\\P{sc=Limb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Linear_A.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Linear_A.js new file mode 100644 index 0000000000..5b94c0337d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Linear_A.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Linear_A` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767] + ] +}); +testPropertyEscapes( + /^\p{Script=Linear_A}+$/u, + matchSymbols, + "\\p{Script=Linear_A}" +); +testPropertyEscapes( + /^\p{Script=Lina}+$/u, + matchSymbols, + "\\p{Script=Lina}" +); +testPropertyEscapes( + /^\p{sc=Linear_A}+$/u, + matchSymbols, + "\\p{sc=Linear_A}" +); +testPropertyEscapes( + /^\p{sc=Lina}+$/u, + matchSymbols, + "\\p{sc=Lina}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Linear_A}+$/u, + nonMatchSymbols, + "\\P{Script=Linear_A}" +); +testPropertyEscapes( + /^\P{Script=Lina}+$/u, + nonMatchSymbols, + "\\P{Script=Lina}" +); +testPropertyEscapes( + /^\P{sc=Linear_A}+$/u, + nonMatchSymbols, + "\\P{sc=Linear_A}" +); +testPropertyEscapes( + /^\P{sc=Lina}+$/u, + nonMatchSymbols, + "\\P{sc=Lina}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Linear_B.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Linear_B.js new file mode 100644 index 0000000000..0573565355 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Linear_B.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Linear_B` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA] + ] +}); +testPropertyEscapes( + /^\p{Script=Linear_B}+$/u, + matchSymbols, + "\\p{Script=Linear_B}" +); +testPropertyEscapes( + /^\p{Script=Linb}+$/u, + matchSymbols, + "\\p{Script=Linb}" +); +testPropertyEscapes( + /^\p{sc=Linear_B}+$/u, + matchSymbols, + "\\p{sc=Linear_B}" +); +testPropertyEscapes( + /^\p{sc=Linb}+$/u, + matchSymbols, + "\\p{sc=Linb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Linear_B}+$/u, + nonMatchSymbols, + "\\P{Script=Linear_B}" +); +testPropertyEscapes( + /^\P{Script=Linb}+$/u, + nonMatchSymbols, + "\\P{Script=Linb}" +); +testPropertyEscapes( + /^\P{sc=Linear_B}+$/u, + nonMatchSymbols, + "\\P{sc=Linear_B}" +); +testPropertyEscapes( + /^\P{sc=Linb}+$/u, + nonMatchSymbols, + "\\P{sc=Linb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lisu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lisu.js new file mode 100644 index 0000000000..9a7f83bcd0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lisu.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Lisu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011FB0 + ], + ranges: [ + [0x00A4D0, 0x00A4FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Lisu}+$/u, + matchSymbols, + "\\p{Script=Lisu}" +); +testPropertyEscapes( + /^\p{Script=Lisu}+$/u, + matchSymbols, + "\\p{Script=Lisu}" +); +testPropertyEscapes( + /^\p{sc=Lisu}+$/u, + matchSymbols, + "\\p{sc=Lisu}" +); +testPropertyEscapes( + /^\p{sc=Lisu}+$/u, + matchSymbols, + "\\p{sc=Lisu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A4CF], + [0x00A500, 0x00DBFF], + [0x00E000, 0x011FAF], + [0x011FB1, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Lisu}+$/u, + nonMatchSymbols, + "\\P{Script=Lisu}" +); +testPropertyEscapes( + /^\P{Script=Lisu}+$/u, + nonMatchSymbols, + "\\P{Script=Lisu}" +); +testPropertyEscapes( + /^\P{sc=Lisu}+$/u, + nonMatchSymbols, + "\\P{sc=Lisu}" +); +testPropertyEscapes( + /^\P{sc=Lisu}+$/u, + nonMatchSymbols, + "\\P{sc=Lisu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js new file mode 100644 index 0000000000..bc29fe64cd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Lycian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010280, 0x01029C] + ] +}); +testPropertyEscapes( + /^\p{Script=Lycian}+$/u, + matchSymbols, + "\\p{Script=Lycian}" +); +testPropertyEscapes( + /^\p{Script=Lyci}+$/u, + matchSymbols, + "\\p{Script=Lyci}" +); +testPropertyEscapes( + /^\p{sc=Lycian}+$/u, + matchSymbols, + "\\p{sc=Lycian}" +); +testPropertyEscapes( + /^\p{sc=Lyci}+$/u, + matchSymbols, + "\\p{sc=Lyci}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01027F], + [0x01029D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Lycian}+$/u, + nonMatchSymbols, + "\\P{Script=Lycian}" +); +testPropertyEscapes( + /^\P{Script=Lyci}+$/u, + nonMatchSymbols, + "\\P{Script=Lyci}" +); +testPropertyEscapes( + /^\P{sc=Lycian}+$/u, + nonMatchSymbols, + "\\P{sc=Lycian}" +); +testPropertyEscapes( + /^\P{sc=Lyci}+$/u, + nonMatchSymbols, + "\\P{sc=Lyci}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lydian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lydian.js new file mode 100644 index 0000000000..14eee88ba2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Lydian.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Lydian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01093F + ], + ranges: [ + [0x010920, 0x010939] + ] +}); +testPropertyEscapes( + /^\p{Script=Lydian}+$/u, + matchSymbols, + "\\p{Script=Lydian}" +); +testPropertyEscapes( + /^\p{Script=Lydi}+$/u, + matchSymbols, + "\\p{Script=Lydi}" +); +testPropertyEscapes( + /^\p{sc=Lydian}+$/u, + matchSymbols, + "\\p{sc=Lydian}" +); +testPropertyEscapes( + /^\p{sc=Lydi}+$/u, + matchSymbols, + "\\p{sc=Lydi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01091F], + [0x01093A, 0x01093E], + [0x010940, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Lydian}+$/u, + nonMatchSymbols, + "\\P{Script=Lydian}" +); +testPropertyEscapes( + /^\P{Script=Lydi}+$/u, + nonMatchSymbols, + "\\P{Script=Lydi}" +); +testPropertyEscapes( + /^\P{sc=Lydian}+$/u, + nonMatchSymbols, + "\\P{sc=Lydian}" +); +testPropertyEscapes( + /^\P{sc=Lydi}+$/u, + nonMatchSymbols, + "\\P{sc=Lydi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mahajani.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mahajani.js new file mode 100644 index 0000000000..4769a5a0d6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mahajani.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Mahajani` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011150, 0x011176] + ] +}); +testPropertyEscapes( + /^\p{Script=Mahajani}+$/u, + matchSymbols, + "\\p{Script=Mahajani}" +); +testPropertyEscapes( + /^\p{Script=Mahj}+$/u, + matchSymbols, + "\\p{Script=Mahj}" +); +testPropertyEscapes( + /^\p{sc=Mahajani}+$/u, + matchSymbols, + "\\p{sc=Mahajani}" +); +testPropertyEscapes( + /^\p{sc=Mahj}+$/u, + matchSymbols, + "\\p{sc=Mahj}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01114F], + [0x011177, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Mahajani}+$/u, + nonMatchSymbols, + "\\P{Script=Mahajani}" +); +testPropertyEscapes( + /^\P{Script=Mahj}+$/u, + nonMatchSymbols, + "\\P{Script=Mahj}" +); +testPropertyEscapes( + /^\P{sc=Mahajani}+$/u, + nonMatchSymbols, + "\\P{sc=Mahajani}" +); +testPropertyEscapes( + /^\P{sc=Mahj}+$/u, + nonMatchSymbols, + "\\P{sc=Mahj}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Makasar.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Makasar.js new file mode 100644 index 0000000000..cf815b4fc0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Makasar.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Makasar` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011EE0, 0x011EF8] + ] +}); +testPropertyEscapes( + /^\p{Script=Makasar}+$/u, + matchSymbols, + "\\p{Script=Makasar}" +); +testPropertyEscapes( + /^\p{Script=Maka}+$/u, + matchSymbols, + "\\p{Script=Maka}" +); +testPropertyEscapes( + /^\p{sc=Makasar}+$/u, + matchSymbols, + "\\p{sc=Makasar}" +); +testPropertyEscapes( + /^\p{sc=Maka}+$/u, + matchSymbols, + "\\p{sc=Maka}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011EDF], + [0x011EF9, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Makasar}+$/u, + nonMatchSymbols, + "\\P{Script=Makasar}" +); +testPropertyEscapes( + /^\P{Script=Maka}+$/u, + nonMatchSymbols, + "\\P{Script=Maka}" +); +testPropertyEscapes( + /^\P{sc=Makasar}+$/u, + nonMatchSymbols, + "\\P{sc=Makasar}" +); +testPropertyEscapes( + /^\P{sc=Maka}+$/u, + nonMatchSymbols, + "\\P{sc=Maka}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Malayalam.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Malayalam.js new file mode 100644 index 0000000000..4ca958c7ee --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Malayalam.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Malayalam` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4F], + [0x000D54, 0x000D63], + [0x000D66, 0x000D7F] + ] +}); +testPropertyEscapes( + /^\p{Script=Malayalam}+$/u, + matchSymbols, + "\\p{Script=Malayalam}" +); +testPropertyEscapes( + /^\p{Script=Mlym}+$/u, + matchSymbols, + "\\p{Script=Mlym}" +); +testPropertyEscapes( + /^\p{sc=Malayalam}+$/u, + matchSymbols, + "\\p{sc=Malayalam}" +); +testPropertyEscapes( + /^\p{sc=Mlym}+$/u, + matchSymbols, + "\\p{sc=Mlym}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000CFF], + [0x000D50, 0x000D53], + [0x000D64, 0x000D65], + [0x000D80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Malayalam}+$/u, + nonMatchSymbols, + "\\P{Script=Malayalam}" +); +testPropertyEscapes( + /^\P{Script=Mlym}+$/u, + nonMatchSymbols, + "\\P{Script=Mlym}" +); +testPropertyEscapes( + /^\P{sc=Malayalam}+$/u, + nonMatchSymbols, + "\\P{sc=Malayalam}" +); +testPropertyEscapes( + /^\P{sc=Mlym}+$/u, + nonMatchSymbols, + "\\P{sc=Mlym}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mandaic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mandaic.js new file mode 100644 index 0000000000..fdaf88743d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mandaic.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Mandaic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00085E + ], + ranges: [ + [0x000840, 0x00085B] + ] +}); +testPropertyEscapes( + /^\p{Script=Mandaic}+$/u, + matchSymbols, + "\\p{Script=Mandaic}" +); +testPropertyEscapes( + /^\p{Script=Mand}+$/u, + matchSymbols, + "\\p{Script=Mand}" +); +testPropertyEscapes( + /^\p{sc=Mandaic}+$/u, + matchSymbols, + "\\p{sc=Mandaic}" +); +testPropertyEscapes( + /^\p{sc=Mand}+$/u, + matchSymbols, + "\\p{sc=Mand}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00083F], + [0x00085C, 0x00085D], + [0x00085F, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Mandaic}+$/u, + nonMatchSymbols, + "\\P{Script=Mandaic}" +); +testPropertyEscapes( + /^\P{Script=Mand}+$/u, + nonMatchSymbols, + "\\P{Script=Mand}" +); +testPropertyEscapes( + /^\P{sc=Mandaic}+$/u, + nonMatchSymbols, + "\\P{sc=Mandaic}" +); +testPropertyEscapes( + /^\P{sc=Mand}+$/u, + nonMatchSymbols, + "\\P{sc=Mand}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Manichaean.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Manichaean.js new file mode 100644 index 0000000000..bfb9628066 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Manichaean.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Manichaean` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010AC0, 0x010AE6], + [0x010AEB, 0x010AF6] + ] +}); +testPropertyEscapes( + /^\p{Script=Manichaean}+$/u, + matchSymbols, + "\\p{Script=Manichaean}" +); +testPropertyEscapes( + /^\p{Script=Mani}+$/u, + matchSymbols, + "\\p{Script=Mani}" +); +testPropertyEscapes( + /^\p{sc=Manichaean}+$/u, + matchSymbols, + "\\p{sc=Manichaean}" +); +testPropertyEscapes( + /^\p{sc=Mani}+$/u, + matchSymbols, + "\\p{sc=Mani}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010ABF], + [0x010AE7, 0x010AEA], + [0x010AF7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Manichaean}+$/u, + nonMatchSymbols, + "\\P{Script=Manichaean}" +); +testPropertyEscapes( + /^\P{Script=Mani}+$/u, + nonMatchSymbols, + "\\P{Script=Mani}" +); +testPropertyEscapes( + /^\P{sc=Manichaean}+$/u, + nonMatchSymbols, + "\\P{sc=Manichaean}" +); +testPropertyEscapes( + /^\P{sc=Mani}+$/u, + nonMatchSymbols, + "\\P{sc=Mani}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Marchen.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Marchen.js new file mode 100644 index 0000000000..3a29691dd2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Marchen.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Marchen` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011C70, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6] + ] +}); +testPropertyEscapes( + /^\p{Script=Marchen}+$/u, + matchSymbols, + "\\p{Script=Marchen}" +); +testPropertyEscapes( + /^\p{Script=Marc}+$/u, + matchSymbols, + "\\p{Script=Marc}" +); +testPropertyEscapes( + /^\p{sc=Marchen}+$/u, + matchSymbols, + "\\p{sc=Marchen}" +); +testPropertyEscapes( + /^\p{sc=Marc}+$/u, + matchSymbols, + "\\p{sc=Marc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011CA8 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011C6F], + [0x011C90, 0x011C91], + [0x011CB7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Marchen}+$/u, + nonMatchSymbols, + "\\P{Script=Marchen}" +); +testPropertyEscapes( + /^\P{Script=Marc}+$/u, + nonMatchSymbols, + "\\P{Script=Marc}" +); +testPropertyEscapes( + /^\P{sc=Marchen}+$/u, + nonMatchSymbols, + "\\P{sc=Marchen}" +); +testPropertyEscapes( + /^\P{sc=Marc}+$/u, + nonMatchSymbols, + "\\P{sc=Marc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Masaram_Gondi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Masaram_Gondi.js new file mode 100644 index 0000000000..efec1bb869 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Masaram_Gondi.js @@ -0,0 +1,87 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Masaram_Gondi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011D3A + ], + ranges: [ + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59] + ] +}); +testPropertyEscapes( + /^\p{Script=Masaram_Gondi}+$/u, + matchSymbols, + "\\p{Script=Masaram_Gondi}" +); +testPropertyEscapes( + /^\p{Script=Gonm}+$/u, + matchSymbols, + "\\p{Script=Gonm}" +); +testPropertyEscapes( + /^\p{sc=Masaram_Gondi}+$/u, + matchSymbols, + "\\p{sc=Masaram_Gondi}" +); +testPropertyEscapes( + /^\p{sc=Gonm}+$/u, + matchSymbols, + "\\p{sc=Gonm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Masaram_Gondi}+$/u, + nonMatchSymbols, + "\\P{Script=Masaram_Gondi}" +); +testPropertyEscapes( + /^\P{Script=Gonm}+$/u, + nonMatchSymbols, + "\\P{Script=Gonm}" +); +testPropertyEscapes( + /^\P{sc=Masaram_Gondi}+$/u, + nonMatchSymbols, + "\\P{sc=Masaram_Gondi}" +); +testPropertyEscapes( + /^\P{sc=Gonm}+$/u, + nonMatchSymbols, + "\\P{sc=Gonm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Medefaidrin.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Medefaidrin.js new file mode 100644 index 0000000000..90913c0c4f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Medefaidrin.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Medefaidrin` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016E40, 0x016E9A] + ] +}); +testPropertyEscapes( + /^\p{Script=Medefaidrin}+$/u, + matchSymbols, + "\\p{Script=Medefaidrin}" +); +testPropertyEscapes( + /^\p{Script=Medf}+$/u, + matchSymbols, + "\\p{Script=Medf}" +); +testPropertyEscapes( + /^\p{sc=Medefaidrin}+$/u, + matchSymbols, + "\\p{sc=Medefaidrin}" +); +testPropertyEscapes( + /^\p{sc=Medf}+$/u, + matchSymbols, + "\\p{sc=Medf}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016E3F], + [0x016E9B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Medefaidrin}+$/u, + nonMatchSymbols, + "\\P{Script=Medefaidrin}" +); +testPropertyEscapes( + /^\P{Script=Medf}+$/u, + nonMatchSymbols, + "\\P{Script=Medf}" +); +testPropertyEscapes( + /^\P{sc=Medefaidrin}+$/u, + nonMatchSymbols, + "\\P{sc=Medefaidrin}" +); +testPropertyEscapes( + /^\P{sc=Medf}+$/u, + nonMatchSymbols, + "\\P{sc=Medf}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meetei_Mayek.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meetei_Mayek.js new file mode 100644 index 0000000000..3995f989ec --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meetei_Mayek.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Meetei_Mayek` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00AAE0, 0x00AAF6], + [0x00ABC0, 0x00ABED], + [0x00ABF0, 0x00ABF9] + ] +}); +testPropertyEscapes( + /^\p{Script=Meetei_Mayek}+$/u, + matchSymbols, + "\\p{Script=Meetei_Mayek}" +); +testPropertyEscapes( + /^\p{Script=Mtei}+$/u, + matchSymbols, + "\\p{Script=Mtei}" +); +testPropertyEscapes( + /^\p{sc=Meetei_Mayek}+$/u, + matchSymbols, + "\\p{sc=Meetei_Mayek}" +); +testPropertyEscapes( + /^\p{sc=Mtei}+$/u, + matchSymbols, + "\\p{sc=Mtei}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00AADF], + [0x00AAF7, 0x00ABBF], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Meetei_Mayek}+$/u, + nonMatchSymbols, + "\\P{Script=Meetei_Mayek}" +); +testPropertyEscapes( + /^\P{Script=Mtei}+$/u, + nonMatchSymbols, + "\\P{Script=Mtei}" +); +testPropertyEscapes( + /^\P{sc=Meetei_Mayek}+$/u, + nonMatchSymbols, + "\\P{sc=Meetei_Mayek}" +); +testPropertyEscapes( + /^\P{sc=Mtei}+$/u, + nonMatchSymbols, + "\\P{sc=Mtei}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mende_Kikakui.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mende_Kikakui.js new file mode 100644 index 0000000000..bcf6ce89f8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mende_Kikakui.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Mende_Kikakui` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01E800, 0x01E8C4], + [0x01E8C7, 0x01E8D6] + ] +}); +testPropertyEscapes( + /^\p{Script=Mende_Kikakui}+$/u, + matchSymbols, + "\\p{Script=Mende_Kikakui}" +); +testPropertyEscapes( + /^\p{Script=Mend}+$/u, + matchSymbols, + "\\p{Script=Mend}" +); +testPropertyEscapes( + /^\p{sc=Mende_Kikakui}+$/u, + matchSymbols, + "\\p{sc=Mende_Kikakui}" +); +testPropertyEscapes( + /^\p{sc=Mend}+$/u, + matchSymbols, + "\\p{sc=Mend}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E7FF], + [0x01E8C5, 0x01E8C6], + [0x01E8D7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Mende_Kikakui}+$/u, + nonMatchSymbols, + "\\P{Script=Mende_Kikakui}" +); +testPropertyEscapes( + /^\P{Script=Mend}+$/u, + nonMatchSymbols, + "\\P{Script=Mend}" +); +testPropertyEscapes( + /^\P{sc=Mende_Kikakui}+$/u, + nonMatchSymbols, + "\\P{sc=Mende_Kikakui}" +); +testPropertyEscapes( + /^\P{sc=Mend}+$/u, + nonMatchSymbols, + "\\P{sc=Mend}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Cursive.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Cursive.js new file mode 100644 index 0000000000..356c68fcaa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Cursive.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Meroitic_Cursive` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0109A0, 0x0109B7], + [0x0109BC, 0x0109CF], + [0x0109D2, 0x0109FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Meroitic_Cursive}+$/u, + matchSymbols, + "\\p{Script=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\p{Script=Merc}+$/u, + matchSymbols, + "\\p{Script=Merc}" +); +testPropertyEscapes( + /^\p{sc=Meroitic_Cursive}+$/u, + matchSymbols, + "\\p{sc=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\p{sc=Merc}+$/u, + matchSymbols, + "\\p{sc=Merc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01099F], + [0x0109B8, 0x0109BB], + [0x0109D0, 0x0109D1], + [0x010A00, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Meroitic_Cursive}+$/u, + nonMatchSymbols, + "\\P{Script=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\P{Script=Merc}+$/u, + nonMatchSymbols, + "\\P{Script=Merc}" +); +testPropertyEscapes( + /^\P{sc=Meroitic_Cursive}+$/u, + nonMatchSymbols, + "\\P{sc=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\P{sc=Merc}+$/u, + nonMatchSymbols, + "\\P{sc=Merc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Hieroglyphs.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Hieroglyphs.js new file mode 100644 index 0000000000..3457b5f777 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Hieroglyphs.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Meroitic_Hieroglyphs` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010980, 0x01099F] + ] +}); +testPropertyEscapes( + /^\p{Script=Meroitic_Hieroglyphs}+$/u, + matchSymbols, + "\\p{Script=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{Script=Mero}+$/u, + matchSymbols, + "\\p{Script=Mero}" +); +testPropertyEscapes( + /^\p{sc=Meroitic_Hieroglyphs}+$/u, + matchSymbols, + "\\p{sc=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{sc=Mero}+$/u, + matchSymbols, + "\\p{sc=Mero}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01097F], + [0x0109A0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Meroitic_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{Script=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{Script=Mero}+$/u, + nonMatchSymbols, + "\\P{Script=Mero}" +); +testPropertyEscapes( + /^\P{sc=Meroitic_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{sc=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{sc=Mero}+$/u, + nonMatchSymbols, + "\\P{sc=Mero}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Miao.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Miao.js new file mode 100644 index 0000000000..b40cd9bfee --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Miao.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Miao` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F] + ] +}); +testPropertyEscapes( + /^\p{Script=Miao}+$/u, + matchSymbols, + "\\p{Script=Miao}" +); +testPropertyEscapes( + /^\p{Script=Plrd}+$/u, + matchSymbols, + "\\p{Script=Plrd}" +); +testPropertyEscapes( + /^\p{sc=Miao}+$/u, + matchSymbols, + "\\p{sc=Miao}" +); +testPropertyEscapes( + /^\p{sc=Plrd}+$/u, + matchSymbols, + "\\p{sc=Plrd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Miao}+$/u, + nonMatchSymbols, + "\\P{Script=Miao}" +); +testPropertyEscapes( + /^\P{Script=Plrd}+$/u, + nonMatchSymbols, + "\\P{Script=Plrd}" +); +testPropertyEscapes( + /^\P{sc=Miao}+$/u, + nonMatchSymbols, + "\\P{sc=Miao}" +); +testPropertyEscapes( + /^\P{sc=Plrd}+$/u, + nonMatchSymbols, + "\\P{sc=Plrd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Modi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Modi.js new file mode 100644 index 0000000000..7fec34b335 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Modi.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Modi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011600, 0x011644], + [0x011650, 0x011659] + ] +}); +testPropertyEscapes( + /^\p{Script=Modi}+$/u, + matchSymbols, + "\\p{Script=Modi}" +); +testPropertyEscapes( + /^\p{Script=Modi}+$/u, + matchSymbols, + "\\p{Script=Modi}" +); +testPropertyEscapes( + /^\p{sc=Modi}+$/u, + matchSymbols, + "\\p{sc=Modi}" +); +testPropertyEscapes( + /^\p{sc=Modi}+$/u, + matchSymbols, + "\\p{sc=Modi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0115FF], + [0x011645, 0x01164F], + [0x01165A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Modi}+$/u, + nonMatchSymbols, + "\\P{Script=Modi}" +); +testPropertyEscapes( + /^\P{Script=Modi}+$/u, + nonMatchSymbols, + "\\P{Script=Modi}" +); +testPropertyEscapes( + /^\P{sc=Modi}+$/u, + nonMatchSymbols, + "\\P{sc=Modi}" +); +testPropertyEscapes( + /^\P{sc=Modi}+$/u, + nonMatchSymbols, + "\\P{sc=Modi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js new file mode 100644 index 0000000000..8b1c64673a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js @@ -0,0 +1,87 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Mongolian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001804 + ], + ranges: [ + [0x001800, 0x001801], + [0x001806, 0x00180E], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x011660, 0x01166C] + ] +}); +testPropertyEscapes( + /^\p{Script=Mongolian}+$/u, + matchSymbols, + "\\p{Script=Mongolian}" +); +testPropertyEscapes( + /^\p{Script=Mong}+$/u, + matchSymbols, + "\\p{Script=Mong}" +); +testPropertyEscapes( + /^\p{sc=Mongolian}+$/u, + matchSymbols, + "\\p{sc=Mongolian}" +); +testPropertyEscapes( + /^\p{sc=Mong}+$/u, + matchSymbols, + "\\p{sc=Mong}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001805, + 0x00180F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0017FF], + [0x001802, 0x001803], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x00DBFF], + [0x00E000, 0x01165F], + [0x01166D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Mongolian}+$/u, + nonMatchSymbols, + "\\P{Script=Mongolian}" +); +testPropertyEscapes( + /^\P{Script=Mong}+$/u, + nonMatchSymbols, + "\\P{Script=Mong}" +); +testPropertyEscapes( + /^\P{sc=Mongolian}+$/u, + nonMatchSymbols, + "\\P{sc=Mongolian}" +); +testPropertyEscapes( + /^\P{sc=Mong}+$/u, + nonMatchSymbols, + "\\P{sc=Mong}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mro.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mro.js new file mode 100644 index 0000000000..53d1858deb --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Mro.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Mro` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016A6E, 0x016A6F] + ] +}); +testPropertyEscapes( + /^\p{Script=Mro}+$/u, + matchSymbols, + "\\p{Script=Mro}" +); +testPropertyEscapes( + /^\p{Script=Mroo}+$/u, + matchSymbols, + "\\p{Script=Mroo}" +); +testPropertyEscapes( + /^\p{sc=Mro}+$/u, + matchSymbols, + "\\p{sc=Mro}" +); +testPropertyEscapes( + /^\p{sc=Mroo}+$/u, + matchSymbols, + "\\p{sc=Mroo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x016A5F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016A3F], + [0x016A6A, 0x016A6D], + [0x016A70, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Mro}+$/u, + nonMatchSymbols, + "\\P{Script=Mro}" +); +testPropertyEscapes( + /^\P{Script=Mroo}+$/u, + nonMatchSymbols, + "\\P{Script=Mroo}" +); +testPropertyEscapes( + /^\P{sc=Mro}+$/u, + nonMatchSymbols, + "\\P{sc=Mro}" +); +testPropertyEscapes( + /^\P{sc=Mroo}+$/u, + nonMatchSymbols, + "\\P{sc=Mroo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Multani.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Multani.js new file mode 100644 index 0000000000..8e1ff89ca1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Multani.js @@ -0,0 +1,83 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Multani` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011288 + ], + ranges: [ + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A9] + ] +}); +testPropertyEscapes( + /^\p{Script=Multani}+$/u, + matchSymbols, + "\\p{Script=Multani}" +); +testPropertyEscapes( + /^\p{Script=Mult}+$/u, + matchSymbols, + "\\p{Script=Mult}" +); +testPropertyEscapes( + /^\p{sc=Multani}+$/u, + matchSymbols, + "\\p{sc=Multani}" +); +testPropertyEscapes( + /^\p{sc=Mult}+$/u, + matchSymbols, + "\\p{sc=Mult}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011287, + 0x011289, + 0x01128E, + 0x01129E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01127F], + [0x0112AA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Multani}+$/u, + nonMatchSymbols, + "\\P{Script=Multani}" +); +testPropertyEscapes( + /^\P{Script=Mult}+$/u, + nonMatchSymbols, + "\\P{Script=Mult}" +); +testPropertyEscapes( + /^\P{sc=Multani}+$/u, + nonMatchSymbols, + "\\P{sc=Multani}" +); +testPropertyEscapes( + /^\P{sc=Mult}+$/u, + nonMatchSymbols, + "\\P{sc=Mult}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js new file mode 100644 index 0000000000..d830acfe11 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Myanmar` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001000, 0x00109F], + [0x00A9E0, 0x00A9FE], + [0x00AA60, 0x00AA7F] + ] +}); +testPropertyEscapes( + /^\p{Script=Myanmar}+$/u, + matchSymbols, + "\\p{Script=Myanmar}" +); +testPropertyEscapes( + /^\p{Script=Mymr}+$/u, + matchSymbols, + "\\p{Script=Mymr}" +); +testPropertyEscapes( + /^\p{sc=Myanmar}+$/u, + matchSymbols, + "\\p{sc=Myanmar}" +); +testPropertyEscapes( + /^\p{sc=Mymr}+$/u, + matchSymbols, + "\\p{sc=Mymr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000FFF], + [0x0010A0, 0x00A9DF], + [0x00A9FF, 0x00AA5F], + [0x00AA80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Myanmar}+$/u, + nonMatchSymbols, + "\\P{Script=Myanmar}" +); +testPropertyEscapes( + /^\P{Script=Mymr}+$/u, + nonMatchSymbols, + "\\P{Script=Mymr}" +); +testPropertyEscapes( + /^\P{sc=Myanmar}+$/u, + nonMatchSymbols, + "\\P{sc=Myanmar}" +); +testPropertyEscapes( + /^\P{sc=Mymr}+$/u, + nonMatchSymbols, + "\\P{sc=Mymr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nabataean.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nabataean.js new file mode 100644 index 0000000000..306d98dd21 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nabataean.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Nabataean` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010880, 0x01089E], + [0x0108A7, 0x0108AF] + ] +}); +testPropertyEscapes( + /^\p{Script=Nabataean}+$/u, + matchSymbols, + "\\p{Script=Nabataean}" +); +testPropertyEscapes( + /^\p{Script=Nbat}+$/u, + matchSymbols, + "\\p{Script=Nbat}" +); +testPropertyEscapes( + /^\p{sc=Nabataean}+$/u, + matchSymbols, + "\\p{sc=Nabataean}" +); +testPropertyEscapes( + /^\p{sc=Nbat}+$/u, + matchSymbols, + "\\p{sc=Nbat}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01087F], + [0x01089F, 0x0108A6], + [0x0108B0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Nabataean}+$/u, + nonMatchSymbols, + "\\P{Script=Nabataean}" +); +testPropertyEscapes( + /^\P{Script=Nbat}+$/u, + nonMatchSymbols, + "\\P{Script=Nbat}" +); +testPropertyEscapes( + /^\P{sc=Nabataean}+$/u, + nonMatchSymbols, + "\\P{sc=Nabataean}" +); +testPropertyEscapes( + /^\P{sc=Nbat}+$/u, + nonMatchSymbols, + "\\P{sc=Nbat}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nandinagari.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nandinagari.js new file mode 100644 index 0000000000..b79486b9af --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nandinagari.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Nandinagari` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E4] + ] +}); +testPropertyEscapes( + /^\p{Script=Nandinagari}+$/u, + matchSymbols, + "\\p{Script=Nandinagari}" +); +testPropertyEscapes( + /^\p{Script=Nand}+$/u, + matchSymbols, + "\\p{Script=Nand}" +); +testPropertyEscapes( + /^\p{sc=Nandinagari}+$/u, + matchSymbols, + "\\p{sc=Nandinagari}" +); +testPropertyEscapes( + /^\p{sc=Nand}+$/u, + matchSymbols, + "\\p{sc=Nand}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Nandinagari}+$/u, + nonMatchSymbols, + "\\P{Script=Nandinagari}" +); +testPropertyEscapes( + /^\P{Script=Nand}+$/u, + nonMatchSymbols, + "\\P{Script=Nand}" +); +testPropertyEscapes( + /^\P{sc=Nandinagari}+$/u, + nonMatchSymbols, + "\\P{sc=Nandinagari}" +); +testPropertyEscapes( + /^\P{sc=Nand}+$/u, + nonMatchSymbols, + "\\P{sc=Nand}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_New_Tai_Lue.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_New_Tai_Lue.js new file mode 100644 index 0000000000..3d4c8caaa8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_New_Tai_Lue.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=New_Tai_Lue` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x0019DE, 0x0019DF] + ] +}); +testPropertyEscapes( + /^\p{Script=New_Tai_Lue}+$/u, + matchSymbols, + "\\p{Script=New_Tai_Lue}" +); +testPropertyEscapes( + /^\p{Script=Talu}+$/u, + matchSymbols, + "\\p{Script=Talu}" +); +testPropertyEscapes( + /^\p{sc=New_Tai_Lue}+$/u, + matchSymbols, + "\\p{sc=New_Tai_Lue}" +); +testPropertyEscapes( + /^\p{sc=Talu}+$/u, + matchSymbols, + "\\p{sc=Talu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019DD], + [0x0019E0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=New_Tai_Lue}+$/u, + nonMatchSymbols, + "\\P{Script=New_Tai_Lue}" +); +testPropertyEscapes( + /^\P{Script=Talu}+$/u, + nonMatchSymbols, + "\\P{Script=Talu}" +); +testPropertyEscapes( + /^\P{sc=New_Tai_Lue}+$/u, + nonMatchSymbols, + "\\P{sc=New_Tai_Lue}" +); +testPropertyEscapes( + /^\P{sc=Talu}+$/u, + nonMatchSymbols, + "\\P{sc=Talu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Newa.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Newa.js new file mode 100644 index 0000000000..2e1cd46fab --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Newa.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Newa` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011400, 0x01145B], + [0x01145D, 0x011461] + ] +}); +testPropertyEscapes( + /^\p{Script=Newa}+$/u, + matchSymbols, + "\\p{Script=Newa}" +); +testPropertyEscapes( + /^\p{Script=Newa}+$/u, + matchSymbols, + "\\p{Script=Newa}" +); +testPropertyEscapes( + /^\p{sc=Newa}+$/u, + matchSymbols, + "\\p{sc=Newa}" +); +testPropertyEscapes( + /^\p{sc=Newa}+$/u, + matchSymbols, + "\\p{sc=Newa}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01145C + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0113FF], + [0x011462, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Newa}+$/u, + nonMatchSymbols, + "\\P{Script=Newa}" +); +testPropertyEscapes( + /^\P{Script=Newa}+$/u, + nonMatchSymbols, + "\\P{Script=Newa}" +); +testPropertyEscapes( + /^\P{sc=Newa}+$/u, + nonMatchSymbols, + "\\P{sc=Newa}" +); +testPropertyEscapes( + /^\P{sc=Newa}+$/u, + nonMatchSymbols, + "\\P{sc=Newa}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nko.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nko.js new file mode 100644 index 0000000000..d6a3868790 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nko.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Nko` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0007C0, 0x0007FA], + [0x0007FD, 0x0007FF] + ] +}); +testPropertyEscapes( + /^\p{Script=Nko}+$/u, + matchSymbols, + "\\p{Script=Nko}" +); +testPropertyEscapes( + /^\p{Script=Nkoo}+$/u, + matchSymbols, + "\\p{Script=Nkoo}" +); +testPropertyEscapes( + /^\p{sc=Nko}+$/u, + matchSymbols, + "\\p{sc=Nko}" +); +testPropertyEscapes( + /^\p{sc=Nkoo}+$/u, + matchSymbols, + "\\p{sc=Nkoo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0007BF], + [0x0007FB, 0x0007FC], + [0x000800, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Nko}+$/u, + nonMatchSymbols, + "\\P{Script=Nko}" +); +testPropertyEscapes( + /^\P{Script=Nkoo}+$/u, + nonMatchSymbols, + "\\P{Script=Nkoo}" +); +testPropertyEscapes( + /^\P{sc=Nko}+$/u, + nonMatchSymbols, + "\\P{sc=Nko}" +); +testPropertyEscapes( + /^\P{sc=Nkoo}+$/u, + nonMatchSymbols, + "\\P{sc=Nkoo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nushu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nushu.js new file mode 100644 index 0000000000..201ec12ad3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nushu.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Nushu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE1 + ], + ranges: [ + [0x01B170, 0x01B2FB] + ] +}); +testPropertyEscapes( + /^\p{Script=Nushu}+$/u, + matchSymbols, + "\\p{Script=Nushu}" +); +testPropertyEscapes( + /^\p{Script=Nshu}+$/u, + matchSymbols, + "\\p{Script=Nshu}" +); +testPropertyEscapes( + /^\p{sc=Nushu}+$/u, + matchSymbols, + "\\p{sc=Nushu}" +); +testPropertyEscapes( + /^\p{sc=Nshu}+$/u, + matchSymbols, + "\\p{sc=Nshu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016FE0], + [0x016FE2, 0x01B16F], + [0x01B2FC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Nushu}+$/u, + nonMatchSymbols, + "\\P{Script=Nushu}" +); +testPropertyEscapes( + /^\P{Script=Nshu}+$/u, + nonMatchSymbols, + "\\P{Script=Nshu}" +); +testPropertyEscapes( + /^\P{sc=Nushu}+$/u, + nonMatchSymbols, + "\\P{sc=Nushu}" +); +testPropertyEscapes( + /^\P{sc=Nshu}+$/u, + nonMatchSymbols, + "\\P{sc=Nshu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nyiakeng_Puachue_Hmong.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nyiakeng_Puachue_Hmong.js new file mode 100644 index 0000000000..9ad6e576f1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Nyiakeng_Puachue_Hmong.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Nyiakeng_Puachue_Hmong` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E14E, 0x01E14F] + ] +}); +testPropertyEscapes( + /^\p{Script=Nyiakeng_Puachue_Hmong}+$/u, + matchSymbols, + "\\p{Script=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\p{Script=Hmnp}+$/u, + matchSymbols, + "\\p{Script=Hmnp}" +); +testPropertyEscapes( + /^\p{sc=Nyiakeng_Puachue_Hmong}+$/u, + matchSymbols, + "\\p{sc=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\p{sc=Hmnp}+$/u, + matchSymbols, + "\\p{sc=Hmnp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E150, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Nyiakeng_Puachue_Hmong}+$/u, + nonMatchSymbols, + "\\P{Script=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\P{Script=Hmnp}+$/u, + nonMatchSymbols, + "\\P{Script=Hmnp}" +); +testPropertyEscapes( + /^\P{sc=Nyiakeng_Puachue_Hmong}+$/u, + nonMatchSymbols, + "\\P{sc=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\P{sc=Hmnp}+$/u, + nonMatchSymbols, + "\\P{sc=Hmnp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ogham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ogham.js new file mode 100644 index 0000000000..934e64e044 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ogham.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Ogham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001680, 0x00169C] + ] +}); +testPropertyEscapes( + /^\p{Script=Ogham}+$/u, + matchSymbols, + "\\p{Script=Ogham}" +); +testPropertyEscapes( + /^\p{Script=Ogam}+$/u, + matchSymbols, + "\\p{Script=Ogam}" +); +testPropertyEscapes( + /^\p{sc=Ogham}+$/u, + matchSymbols, + "\\p{sc=Ogham}" +); +testPropertyEscapes( + /^\p{sc=Ogam}+$/u, + matchSymbols, + "\\p{sc=Ogam}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00167F], + [0x00169D, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Ogham}+$/u, + nonMatchSymbols, + "\\P{Script=Ogham}" +); +testPropertyEscapes( + /^\P{Script=Ogam}+$/u, + nonMatchSymbols, + "\\P{Script=Ogam}" +); +testPropertyEscapes( + /^\P{sc=Ogham}+$/u, + nonMatchSymbols, + "\\P{sc=Ogham}" +); +testPropertyEscapes( + /^\P{sc=Ogam}+$/u, + nonMatchSymbols, + "\\P{sc=Ogam}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ol_Chiki.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ol_Chiki.js new file mode 100644 index 0000000000..c44554ef08 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ol_Chiki.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Ol_Chiki` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001C50, 0x001C7F] + ] +}); +testPropertyEscapes( + /^\p{Script=Ol_Chiki}+$/u, + matchSymbols, + "\\p{Script=Ol_Chiki}" +); +testPropertyEscapes( + /^\p{Script=Olck}+$/u, + matchSymbols, + "\\p{Script=Olck}" +); +testPropertyEscapes( + /^\p{sc=Ol_Chiki}+$/u, + matchSymbols, + "\\p{sc=Ol_Chiki}" +); +testPropertyEscapes( + /^\p{sc=Olck}+$/u, + matchSymbols, + "\\p{sc=Olck}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001C4F], + [0x001C80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Ol_Chiki}+$/u, + nonMatchSymbols, + "\\P{Script=Ol_Chiki}" +); +testPropertyEscapes( + /^\P{Script=Olck}+$/u, + nonMatchSymbols, + "\\P{Script=Olck}" +); +testPropertyEscapes( + /^\P{sc=Ol_Chiki}+$/u, + nonMatchSymbols, + "\\P{sc=Ol_Chiki}" +); +testPropertyEscapes( + /^\P{sc=Olck}+$/u, + nonMatchSymbols, + "\\P{sc=Olck}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Hungarian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Hungarian.js new file mode 100644 index 0000000000..390d731adb --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Hungarian.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_Hungarian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010CFA, 0x010CFF] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_Hungarian}+$/u, + matchSymbols, + "\\p{Script=Old_Hungarian}" +); +testPropertyEscapes( + /^\p{Script=Hung}+$/u, + matchSymbols, + "\\p{Script=Hung}" +); +testPropertyEscapes( + /^\p{sc=Old_Hungarian}+$/u, + matchSymbols, + "\\p{sc=Old_Hungarian}" +); +testPropertyEscapes( + /^\p{sc=Hung}+$/u, + matchSymbols, + "\\p{sc=Hung}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CF9], + [0x010D00, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_Hungarian}+$/u, + nonMatchSymbols, + "\\P{Script=Old_Hungarian}" +); +testPropertyEscapes( + /^\P{Script=Hung}+$/u, + nonMatchSymbols, + "\\P{Script=Hung}" +); +testPropertyEscapes( + /^\P{sc=Old_Hungarian}+$/u, + nonMatchSymbols, + "\\P{sc=Old_Hungarian}" +); +testPropertyEscapes( + /^\P{sc=Hung}+$/u, + nonMatchSymbols, + "\\P{sc=Hung}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Italic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Italic.js new file mode 100644 index 0000000000..fd6eeef62e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Italic.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_Italic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010300, 0x010323], + [0x01032D, 0x01032F] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_Italic}+$/u, + matchSymbols, + "\\p{Script=Old_Italic}" +); +testPropertyEscapes( + /^\p{Script=Ital}+$/u, + matchSymbols, + "\\p{Script=Ital}" +); +testPropertyEscapes( + /^\p{sc=Old_Italic}+$/u, + matchSymbols, + "\\p{sc=Old_Italic}" +); +testPropertyEscapes( + /^\p{sc=Ital}+$/u, + matchSymbols, + "\\p{sc=Ital}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0102FF], + [0x010324, 0x01032C], + [0x010330, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_Italic}+$/u, + nonMatchSymbols, + "\\P{Script=Old_Italic}" +); +testPropertyEscapes( + /^\P{Script=Ital}+$/u, + nonMatchSymbols, + "\\P{Script=Ital}" +); +testPropertyEscapes( + /^\P{sc=Old_Italic}+$/u, + nonMatchSymbols, + "\\P{sc=Old_Italic}" +); +testPropertyEscapes( + /^\P{sc=Ital}+$/u, + nonMatchSymbols, + "\\P{sc=Ital}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_North_Arabian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_North_Arabian.js new file mode 100644 index 0000000000..b4240ba076 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_North_Arabian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_North_Arabian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010A80, 0x010A9F] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_North_Arabian}+$/u, + matchSymbols, + "\\p{Script=Old_North_Arabian}" +); +testPropertyEscapes( + /^\p{Script=Narb}+$/u, + matchSymbols, + "\\p{Script=Narb}" +); +testPropertyEscapes( + /^\p{sc=Old_North_Arabian}+$/u, + matchSymbols, + "\\p{sc=Old_North_Arabian}" +); +testPropertyEscapes( + /^\p{sc=Narb}+$/u, + matchSymbols, + "\\p{sc=Narb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010A7F], + [0x010AA0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_North_Arabian}+$/u, + nonMatchSymbols, + "\\P{Script=Old_North_Arabian}" +); +testPropertyEscapes( + /^\P{Script=Narb}+$/u, + nonMatchSymbols, + "\\P{Script=Narb}" +); +testPropertyEscapes( + /^\P{sc=Old_North_Arabian}+$/u, + nonMatchSymbols, + "\\P{sc=Old_North_Arabian}" +); +testPropertyEscapes( + /^\P{sc=Narb}+$/u, + nonMatchSymbols, + "\\P{sc=Narb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Permic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Permic.js new file mode 100644 index 0000000000..b88cd8c2a8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Permic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_Permic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010350, 0x01037A] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_Permic}+$/u, + matchSymbols, + "\\p{Script=Old_Permic}" +); +testPropertyEscapes( + /^\p{Script=Perm}+$/u, + matchSymbols, + "\\p{Script=Perm}" +); +testPropertyEscapes( + /^\p{sc=Old_Permic}+$/u, + matchSymbols, + "\\p{sc=Old_Permic}" +); +testPropertyEscapes( + /^\p{sc=Perm}+$/u, + matchSymbols, + "\\p{sc=Perm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01034F], + [0x01037B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_Permic}+$/u, + nonMatchSymbols, + "\\P{Script=Old_Permic}" +); +testPropertyEscapes( + /^\P{Script=Perm}+$/u, + nonMatchSymbols, + "\\P{Script=Perm}" +); +testPropertyEscapes( + /^\P{sc=Old_Permic}+$/u, + nonMatchSymbols, + "\\P{sc=Old_Permic}" +); +testPropertyEscapes( + /^\P{sc=Perm}+$/u, + nonMatchSymbols, + "\\P{sc=Perm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Persian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Persian.js new file mode 100644 index 0000000000..1aa6072a09 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Persian.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_Persian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103D5] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_Persian}+$/u, + matchSymbols, + "\\p{Script=Old_Persian}" +); +testPropertyEscapes( + /^\p{Script=Xpeo}+$/u, + matchSymbols, + "\\p{Script=Xpeo}" +); +testPropertyEscapes( + /^\p{sc=Old_Persian}+$/u, + matchSymbols, + "\\p{sc=Old_Persian}" +); +testPropertyEscapes( + /^\p{sc=Xpeo}+$/u, + matchSymbols, + "\\p{sc=Xpeo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_Persian}+$/u, + nonMatchSymbols, + "\\P{Script=Old_Persian}" +); +testPropertyEscapes( + /^\P{Script=Xpeo}+$/u, + nonMatchSymbols, + "\\P{Script=Xpeo}" +); +testPropertyEscapes( + /^\P{sc=Old_Persian}+$/u, + nonMatchSymbols, + "\\P{sc=Old_Persian}" +); +testPropertyEscapes( + /^\P{sc=Xpeo}+$/u, + nonMatchSymbols, + "\\P{sc=Xpeo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Sogdian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Sogdian.js new file mode 100644 index 0000000000..c3057832a6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Sogdian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_Sogdian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010F00, 0x010F27] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_Sogdian}+$/u, + matchSymbols, + "\\p{Script=Old_Sogdian}" +); +testPropertyEscapes( + /^\p{Script=Sogo}+$/u, + matchSymbols, + "\\p{Script=Sogo}" +); +testPropertyEscapes( + /^\p{sc=Old_Sogdian}+$/u, + matchSymbols, + "\\p{sc=Old_Sogdian}" +); +testPropertyEscapes( + /^\p{sc=Sogo}+$/u, + matchSymbols, + "\\p{sc=Sogo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010EFF], + [0x010F28, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_Sogdian}+$/u, + nonMatchSymbols, + "\\P{Script=Old_Sogdian}" +); +testPropertyEscapes( + /^\P{Script=Sogo}+$/u, + nonMatchSymbols, + "\\P{Script=Sogo}" +); +testPropertyEscapes( + /^\P{sc=Old_Sogdian}+$/u, + nonMatchSymbols, + "\\P{sc=Old_Sogdian}" +); +testPropertyEscapes( + /^\P{sc=Sogo}+$/u, + nonMatchSymbols, + "\\P{sc=Sogo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_South_Arabian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_South_Arabian.js new file mode 100644 index 0000000000..9ac434bb37 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_South_Arabian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_South_Arabian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010A60, 0x010A7F] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_South_Arabian}+$/u, + matchSymbols, + "\\p{Script=Old_South_Arabian}" +); +testPropertyEscapes( + /^\p{Script=Sarb}+$/u, + matchSymbols, + "\\p{Script=Sarb}" +); +testPropertyEscapes( + /^\p{sc=Old_South_Arabian}+$/u, + matchSymbols, + "\\p{sc=Old_South_Arabian}" +); +testPropertyEscapes( + /^\p{sc=Sarb}+$/u, + matchSymbols, + "\\p{sc=Sarb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010A5F], + [0x010A80, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_South_Arabian}+$/u, + nonMatchSymbols, + "\\P{Script=Old_South_Arabian}" +); +testPropertyEscapes( + /^\P{Script=Sarb}+$/u, + nonMatchSymbols, + "\\P{Script=Sarb}" +); +testPropertyEscapes( + /^\P{sc=Old_South_Arabian}+$/u, + nonMatchSymbols, + "\\P{sc=Old_South_Arabian}" +); +testPropertyEscapes( + /^\P{sc=Sarb}+$/u, + nonMatchSymbols, + "\\P{sc=Sarb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Turkic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Turkic.js new file mode 100644 index 0000000000..7457713e6e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Turkic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Old_Turkic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010C00, 0x010C48] + ] +}); +testPropertyEscapes( + /^\p{Script=Old_Turkic}+$/u, + matchSymbols, + "\\p{Script=Old_Turkic}" +); +testPropertyEscapes( + /^\p{Script=Orkh}+$/u, + matchSymbols, + "\\p{Script=Orkh}" +); +testPropertyEscapes( + /^\p{sc=Old_Turkic}+$/u, + matchSymbols, + "\\p{sc=Old_Turkic}" +); +testPropertyEscapes( + /^\p{sc=Orkh}+$/u, + matchSymbols, + "\\p{sc=Orkh}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010BFF], + [0x010C49, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Old_Turkic}+$/u, + nonMatchSymbols, + "\\P{Script=Old_Turkic}" +); +testPropertyEscapes( + /^\P{Script=Orkh}+$/u, + nonMatchSymbols, + "\\P{Script=Orkh}" +); +testPropertyEscapes( + /^\P{sc=Old_Turkic}+$/u, + nonMatchSymbols, + "\\P{sc=Old_Turkic}" +); +testPropertyEscapes( + /^\P{sc=Orkh}+$/u, + nonMatchSymbols, + "\\P{sc=Orkh}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Oriya.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Oriya.js new file mode 100644 index 0000000000..a97eddcce3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Oriya.js @@ -0,0 +1,100 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Oriya` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B77] + ] +}); +testPropertyEscapes( + /^\p{Script=Oriya}+$/u, + matchSymbols, + "\\p{Script=Oriya}" +); +testPropertyEscapes( + /^\p{Script=Orya}+$/u, + matchSymbols, + "\\p{Script=Orya}" +); +testPropertyEscapes( + /^\p{sc=Oriya}+$/u, + matchSymbols, + "\\p{sc=Oriya}" +); +testPropertyEscapes( + /^\p{sc=Orya}+$/u, + matchSymbols, + "\\p{sc=Orya}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000B00], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B78, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Oriya}+$/u, + nonMatchSymbols, + "\\P{Script=Oriya}" +); +testPropertyEscapes( + /^\P{Script=Orya}+$/u, + nonMatchSymbols, + "\\P{Script=Orya}" +); +testPropertyEscapes( + /^\P{sc=Oriya}+$/u, + nonMatchSymbols, + "\\P{sc=Oriya}" +); +testPropertyEscapes( + /^\P{sc=Orya}+$/u, + nonMatchSymbols, + "\\P{sc=Orya}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Osage.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Osage.js new file mode 100644 index 0000000000..2ab2a3c714 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Osage.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Osage` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB] + ] +}); +testPropertyEscapes( + /^\p{Script=Osage}+$/u, + matchSymbols, + "\\p{Script=Osage}" +); +testPropertyEscapes( + /^\p{Script=Osge}+$/u, + matchSymbols, + "\\p{Script=Osge}" +); +testPropertyEscapes( + /^\p{sc=Osage}+$/u, + matchSymbols, + "\\p{sc=Osage}" +); +testPropertyEscapes( + /^\p{sc=Osge}+$/u, + matchSymbols, + "\\p{sc=Osge}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Osage}+$/u, + nonMatchSymbols, + "\\P{Script=Osage}" +); +testPropertyEscapes( + /^\P{Script=Osge}+$/u, + nonMatchSymbols, + "\\P{Script=Osge}" +); +testPropertyEscapes( + /^\P{sc=Osage}+$/u, + nonMatchSymbols, + "\\P{sc=Osage}" +); +testPropertyEscapes( + /^\P{sc=Osge}+$/u, + nonMatchSymbols, + "\\P{sc=Osge}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Osmanya.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Osmanya.js new file mode 100644 index 0000000000..a5c18bb21d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Osmanya.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Osmanya` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010480, 0x01049D], + [0x0104A0, 0x0104A9] + ] +}); +testPropertyEscapes( + /^\p{Script=Osmanya}+$/u, + matchSymbols, + "\\p{Script=Osmanya}" +); +testPropertyEscapes( + /^\p{Script=Osma}+$/u, + matchSymbols, + "\\p{Script=Osma}" +); +testPropertyEscapes( + /^\p{sc=Osmanya}+$/u, + matchSymbols, + "\\p{sc=Osmanya}" +); +testPropertyEscapes( + /^\p{sc=Osma}+$/u, + matchSymbols, + "\\p{sc=Osma}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01047F], + [0x01049E, 0x01049F], + [0x0104AA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Osmanya}+$/u, + nonMatchSymbols, + "\\P{Script=Osmanya}" +); +testPropertyEscapes( + /^\P{Script=Osma}+$/u, + nonMatchSymbols, + "\\P{Script=Osma}" +); +testPropertyEscapes( + /^\P{sc=Osmanya}+$/u, + nonMatchSymbols, + "\\P{sc=Osmanya}" +); +testPropertyEscapes( + /^\P{sc=Osma}+$/u, + nonMatchSymbols, + "\\P{sc=Osma}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Pahawh_Hmong.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Pahawh_Hmong.js new file mode 100644 index 0000000000..af27d858c9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Pahawh_Hmong.js @@ -0,0 +1,82 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Pahawh_Hmong` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016B00, 0x016B45], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F] + ] +}); +testPropertyEscapes( + /^\p{Script=Pahawh_Hmong}+$/u, + matchSymbols, + "\\p{Script=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\p{Script=Hmng}+$/u, + matchSymbols, + "\\p{Script=Hmng}" +); +testPropertyEscapes( + /^\p{sc=Pahawh_Hmong}+$/u, + matchSymbols, + "\\p{sc=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\p{sc=Hmng}+$/u, + matchSymbols, + "\\p{sc=Hmng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x016B5A, + 0x016B62 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016AFF], + [0x016B46, 0x016B4F], + [0x016B78, 0x016B7C], + [0x016B90, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Pahawh_Hmong}+$/u, + nonMatchSymbols, + "\\P{Script=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\P{Script=Hmng}+$/u, + nonMatchSymbols, + "\\P{Script=Hmng}" +); +testPropertyEscapes( + /^\P{sc=Pahawh_Hmong}+$/u, + nonMatchSymbols, + "\\P{sc=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\P{sc=Hmng}+$/u, + nonMatchSymbols, + "\\P{sc=Hmng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Palmyrene.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Palmyrene.js new file mode 100644 index 0000000000..f4bbb85c00 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Palmyrene.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Palmyrene` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010860, 0x01087F] + ] +}); +testPropertyEscapes( + /^\p{Script=Palmyrene}+$/u, + matchSymbols, + "\\p{Script=Palmyrene}" +); +testPropertyEscapes( + /^\p{Script=Palm}+$/u, + matchSymbols, + "\\p{Script=Palm}" +); +testPropertyEscapes( + /^\p{sc=Palmyrene}+$/u, + matchSymbols, + "\\p{sc=Palmyrene}" +); +testPropertyEscapes( + /^\p{sc=Palm}+$/u, + matchSymbols, + "\\p{sc=Palm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01085F], + [0x010880, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Palmyrene}+$/u, + nonMatchSymbols, + "\\P{Script=Palmyrene}" +); +testPropertyEscapes( + /^\P{Script=Palm}+$/u, + nonMatchSymbols, + "\\P{Script=Palm}" +); +testPropertyEscapes( + /^\P{sc=Palmyrene}+$/u, + nonMatchSymbols, + "\\P{sc=Palmyrene}" +); +testPropertyEscapes( + /^\P{sc=Palm}+$/u, + nonMatchSymbols, + "\\P{sc=Palm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Pau_Cin_Hau.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Pau_Cin_Hau.js new file mode 100644 index 0000000000..4d401cb11b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Pau_Cin_Hau.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Pau_Cin_Hau` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011AC0, 0x011AF8] + ] +}); +testPropertyEscapes( + /^\p{Script=Pau_Cin_Hau}+$/u, + matchSymbols, + "\\p{Script=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\p{Script=Pauc}+$/u, + matchSymbols, + "\\p{Script=Pauc}" +); +testPropertyEscapes( + /^\p{sc=Pau_Cin_Hau}+$/u, + matchSymbols, + "\\p{sc=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\p{sc=Pauc}+$/u, + matchSymbols, + "\\p{sc=Pauc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011ABF], + [0x011AF9, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Pau_Cin_Hau}+$/u, + nonMatchSymbols, + "\\P{Script=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\P{Script=Pauc}+$/u, + nonMatchSymbols, + "\\P{Script=Pauc}" +); +testPropertyEscapes( + /^\P{sc=Pau_Cin_Hau}+$/u, + nonMatchSymbols, + "\\P{sc=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\P{sc=Pauc}+$/u, + nonMatchSymbols, + "\\P{sc=Pauc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Phags_Pa.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Phags_Pa.js new file mode 100644 index 0000000000..16b3f6e1ed --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Phags_Pa.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Phags_Pa` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A840, 0x00A877] + ] +}); +testPropertyEscapes( + /^\p{Script=Phags_Pa}+$/u, + matchSymbols, + "\\p{Script=Phags_Pa}" +); +testPropertyEscapes( + /^\p{Script=Phag}+$/u, + matchSymbols, + "\\p{Script=Phag}" +); +testPropertyEscapes( + /^\p{sc=Phags_Pa}+$/u, + matchSymbols, + "\\p{sc=Phags_Pa}" +); +testPropertyEscapes( + /^\p{sc=Phag}+$/u, + matchSymbols, + "\\p{sc=Phag}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A83F], + [0x00A878, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Phags_Pa}+$/u, + nonMatchSymbols, + "\\P{Script=Phags_Pa}" +); +testPropertyEscapes( + /^\P{Script=Phag}+$/u, + nonMatchSymbols, + "\\P{Script=Phag}" +); +testPropertyEscapes( + /^\P{sc=Phags_Pa}+$/u, + nonMatchSymbols, + "\\P{sc=Phags_Pa}" +); +testPropertyEscapes( + /^\P{sc=Phag}+$/u, + nonMatchSymbols, + "\\P{sc=Phag}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Phoenician.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Phoenician.js new file mode 100644 index 0000000000..1bc0aa0434 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Phoenician.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Phoenician` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01091F + ], + ranges: [ + [0x010900, 0x01091B] + ] +}); +testPropertyEscapes( + /^\p{Script=Phoenician}+$/u, + matchSymbols, + "\\p{Script=Phoenician}" +); +testPropertyEscapes( + /^\p{Script=Phnx}+$/u, + matchSymbols, + "\\p{Script=Phnx}" +); +testPropertyEscapes( + /^\p{sc=Phoenician}+$/u, + matchSymbols, + "\\p{sc=Phoenician}" +); +testPropertyEscapes( + /^\p{sc=Phnx}+$/u, + matchSymbols, + "\\p{sc=Phnx}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0108FF], + [0x01091C, 0x01091E], + [0x010920, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Phoenician}+$/u, + nonMatchSymbols, + "\\P{Script=Phoenician}" +); +testPropertyEscapes( + /^\P{Script=Phnx}+$/u, + nonMatchSymbols, + "\\P{Script=Phnx}" +); +testPropertyEscapes( + /^\P{sc=Phoenician}+$/u, + nonMatchSymbols, + "\\P{sc=Phoenician}" +); +testPropertyEscapes( + /^\P{sc=Phnx}+$/u, + nonMatchSymbols, + "\\P{sc=Phnx}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Psalter_Pahlavi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Psalter_Pahlavi.js new file mode 100644 index 0000000000..3008af9a0a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Psalter_Pahlavi.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Psalter_Pahlavi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B80, 0x010B91], + [0x010B99, 0x010B9C], + [0x010BA9, 0x010BAF] + ] +}); +testPropertyEscapes( + /^\p{Script=Psalter_Pahlavi}+$/u, + matchSymbols, + "\\p{Script=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\p{Script=Phlp}+$/u, + matchSymbols, + "\\p{Script=Phlp}" +); +testPropertyEscapes( + /^\p{sc=Psalter_Pahlavi}+$/u, + matchSymbols, + "\\p{sc=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\p{sc=Phlp}+$/u, + matchSymbols, + "\\p{sc=Phlp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010B7F], + [0x010B92, 0x010B98], + [0x010B9D, 0x010BA8], + [0x010BB0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Psalter_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{Script=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\P{Script=Phlp}+$/u, + nonMatchSymbols, + "\\P{Script=Phlp}" +); +testPropertyEscapes( + /^\P{sc=Psalter_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{sc=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\P{sc=Phlp}+$/u, + nonMatchSymbols, + "\\P{sc=Phlp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Rejang.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Rejang.js new file mode 100644 index 0000000000..4d2a66d7ea --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Rejang.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Rejang` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00A95F + ], + ranges: [ + [0x00A930, 0x00A953] + ] +}); +testPropertyEscapes( + /^\p{Script=Rejang}+$/u, + matchSymbols, + "\\p{Script=Rejang}" +); +testPropertyEscapes( + /^\p{Script=Rjng}+$/u, + matchSymbols, + "\\p{Script=Rjng}" +); +testPropertyEscapes( + /^\p{sc=Rejang}+$/u, + matchSymbols, + "\\p{sc=Rejang}" +); +testPropertyEscapes( + /^\p{sc=Rjng}+$/u, + matchSymbols, + "\\p{sc=Rjng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A92F], + [0x00A954, 0x00A95E], + [0x00A960, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Rejang}+$/u, + nonMatchSymbols, + "\\P{Script=Rejang}" +); +testPropertyEscapes( + /^\P{Script=Rjng}+$/u, + nonMatchSymbols, + "\\P{Script=Rjng}" +); +testPropertyEscapes( + /^\P{sc=Rejang}+$/u, + nonMatchSymbols, + "\\P{sc=Rejang}" +); +testPropertyEscapes( + /^\P{sc=Rjng}+$/u, + nonMatchSymbols, + "\\P{sc=Rjng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Runic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Runic.js new file mode 100644 index 0000000000..d223712c8b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Runic.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Runic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8] + ] +}); +testPropertyEscapes( + /^\p{Script=Runic}+$/u, + matchSymbols, + "\\p{Script=Runic}" +); +testPropertyEscapes( + /^\p{Script=Runr}+$/u, + matchSymbols, + "\\p{Script=Runr}" +); +testPropertyEscapes( + /^\p{sc=Runic}+$/u, + matchSymbols, + "\\p{sc=Runic}" +); +testPropertyEscapes( + /^\p{sc=Runr}+$/u, + matchSymbols, + "\\p{sc=Runr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Runic}+$/u, + nonMatchSymbols, + "\\P{Script=Runic}" +); +testPropertyEscapes( + /^\P{Script=Runr}+$/u, + nonMatchSymbols, + "\\P{Script=Runr}" +); +testPropertyEscapes( + /^\P{sc=Runic}+$/u, + nonMatchSymbols, + "\\P{sc=Runic}" +); +testPropertyEscapes( + /^\P{sc=Runr}+$/u, + nonMatchSymbols, + "\\P{sc=Runr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Samaritan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Samaritan.js new file mode 100644 index 0000000000..49c5905643 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Samaritan.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Samaritan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000800, 0x00082D], + [0x000830, 0x00083E] + ] +}); +testPropertyEscapes( + /^\p{Script=Samaritan}+$/u, + matchSymbols, + "\\p{Script=Samaritan}" +); +testPropertyEscapes( + /^\p{Script=Samr}+$/u, + matchSymbols, + "\\p{Script=Samr}" +); +testPropertyEscapes( + /^\p{sc=Samaritan}+$/u, + matchSymbols, + "\\p{sc=Samaritan}" +); +testPropertyEscapes( + /^\p{sc=Samr}+$/u, + matchSymbols, + "\\p{sc=Samr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0007FF], + [0x00082E, 0x00082F], + [0x00083F, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Samaritan}+$/u, + nonMatchSymbols, + "\\P{Script=Samaritan}" +); +testPropertyEscapes( + /^\P{Script=Samr}+$/u, + nonMatchSymbols, + "\\P{Script=Samr}" +); +testPropertyEscapes( + /^\P{sc=Samaritan}+$/u, + nonMatchSymbols, + "\\P{sc=Samaritan}" +); +testPropertyEscapes( + /^\P{sc=Samr}+$/u, + nonMatchSymbols, + "\\P{sc=Samr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Saurashtra.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Saurashtra.js new file mode 100644 index 0000000000..9fcf8cbd9e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Saurashtra.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Saurashtra` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A880, 0x00A8C5], + [0x00A8CE, 0x00A8D9] + ] +}); +testPropertyEscapes( + /^\p{Script=Saurashtra}+$/u, + matchSymbols, + "\\p{Script=Saurashtra}" +); +testPropertyEscapes( + /^\p{Script=Saur}+$/u, + matchSymbols, + "\\p{Script=Saur}" +); +testPropertyEscapes( + /^\p{sc=Saurashtra}+$/u, + matchSymbols, + "\\p{sc=Saurashtra}" +); +testPropertyEscapes( + /^\p{sc=Saur}+$/u, + matchSymbols, + "\\p{sc=Saur}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A87F], + [0x00A8C6, 0x00A8CD], + [0x00A8DA, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Saurashtra}+$/u, + nonMatchSymbols, + "\\P{Script=Saurashtra}" +); +testPropertyEscapes( + /^\P{Script=Saur}+$/u, + nonMatchSymbols, + "\\P{Script=Saur}" +); +testPropertyEscapes( + /^\P{sc=Saurashtra}+$/u, + nonMatchSymbols, + "\\P{sc=Saurashtra}" +); +testPropertyEscapes( + /^\P{sc=Saur}+$/u, + nonMatchSymbols, + "\\P{sc=Saur}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sharada.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sharada.js new file mode 100644 index 0000000000..30a60bd278 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sharada.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Sharada` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011180, 0x0111DF] + ] +}); +testPropertyEscapes( + /^\p{Script=Sharada}+$/u, + matchSymbols, + "\\p{Script=Sharada}" +); +testPropertyEscapes( + /^\p{Script=Shrd}+$/u, + matchSymbols, + "\\p{Script=Shrd}" +); +testPropertyEscapes( + /^\p{sc=Sharada}+$/u, + matchSymbols, + "\\p{sc=Sharada}" +); +testPropertyEscapes( + /^\p{sc=Shrd}+$/u, + matchSymbols, + "\\p{sc=Shrd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01117F], + [0x0111E0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Sharada}+$/u, + nonMatchSymbols, + "\\P{Script=Sharada}" +); +testPropertyEscapes( + /^\P{Script=Shrd}+$/u, + nonMatchSymbols, + "\\P{Script=Shrd}" +); +testPropertyEscapes( + /^\P{sc=Sharada}+$/u, + nonMatchSymbols, + "\\P{sc=Sharada}" +); +testPropertyEscapes( + /^\P{sc=Shrd}+$/u, + nonMatchSymbols, + "\\P{sc=Shrd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Shavian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Shavian.js new file mode 100644 index 0000000000..c03fa74cab --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Shavian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Shavian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010450, 0x01047F] + ] +}); +testPropertyEscapes( + /^\p{Script=Shavian}+$/u, + matchSymbols, + "\\p{Script=Shavian}" +); +testPropertyEscapes( + /^\p{Script=Shaw}+$/u, + matchSymbols, + "\\p{Script=Shaw}" +); +testPropertyEscapes( + /^\p{sc=Shavian}+$/u, + matchSymbols, + "\\p{sc=Shavian}" +); +testPropertyEscapes( + /^\p{sc=Shaw}+$/u, + matchSymbols, + "\\p{sc=Shaw}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01044F], + [0x010480, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Shavian}+$/u, + nonMatchSymbols, + "\\P{Script=Shavian}" +); +testPropertyEscapes( + /^\P{Script=Shaw}+$/u, + nonMatchSymbols, + "\\P{Script=Shaw}" +); +testPropertyEscapes( + /^\P{sc=Shavian}+$/u, + nonMatchSymbols, + "\\P{sc=Shavian}" +); +testPropertyEscapes( + /^\P{sc=Shaw}+$/u, + nonMatchSymbols, + "\\P{sc=Shaw}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Siddham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Siddham.js new file mode 100644 index 0000000000..9bd65a8d41 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Siddham.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Siddham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011580, 0x0115B5], + [0x0115B8, 0x0115DD] + ] +}); +testPropertyEscapes( + /^\p{Script=Siddham}+$/u, + matchSymbols, + "\\p{Script=Siddham}" +); +testPropertyEscapes( + /^\p{Script=Sidd}+$/u, + matchSymbols, + "\\p{Script=Sidd}" +); +testPropertyEscapes( + /^\p{sc=Siddham}+$/u, + matchSymbols, + "\\p{sc=Siddham}" +); +testPropertyEscapes( + /^\p{sc=Sidd}+$/u, + matchSymbols, + "\\p{sc=Sidd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115DE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Siddham}+$/u, + nonMatchSymbols, + "\\P{Script=Siddham}" +); +testPropertyEscapes( + /^\P{Script=Sidd}+$/u, + nonMatchSymbols, + "\\P{Script=Sidd}" +); +testPropertyEscapes( + /^\P{sc=Siddham}+$/u, + nonMatchSymbols, + "\\P{sc=Siddham}" +); +testPropertyEscapes( + /^\P{sc=Sidd}+$/u, + nonMatchSymbols, + "\\P{sc=Sidd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_SignWriting.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_SignWriting.js new file mode 100644 index 0000000000..048430cd18 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_SignWriting.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=SignWriting` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01D800, 0x01DA8B], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF] + ] +}); +testPropertyEscapes( + /^\p{Script=SignWriting}+$/u, + matchSymbols, + "\\p{Script=SignWriting}" +); +testPropertyEscapes( + /^\p{Script=Sgnw}+$/u, + matchSymbols, + "\\p{Script=Sgnw}" +); +testPropertyEscapes( + /^\p{sc=SignWriting}+$/u, + matchSymbols, + "\\p{sc=SignWriting}" +); +testPropertyEscapes( + /^\p{sc=Sgnw}+$/u, + matchSymbols, + "\\p{sc=Sgnw}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01DAA0 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01D7FF], + [0x01DA8C, 0x01DA9A], + [0x01DAB0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=SignWriting}+$/u, + nonMatchSymbols, + "\\P{Script=SignWriting}" +); +testPropertyEscapes( + /^\P{Script=Sgnw}+$/u, + nonMatchSymbols, + "\\P{Script=Sgnw}" +); +testPropertyEscapes( + /^\P{sc=SignWriting}+$/u, + nonMatchSymbols, + "\\P{sc=SignWriting}" +); +testPropertyEscapes( + /^\P{sc=Sgnw}+$/u, + nonMatchSymbols, + "\\P{sc=Sgnw}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sinhala.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sinhala.js new file mode 100644 index 0000000000..34c5daca2b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sinhala.js @@ -0,0 +1,99 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Sinhala` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000DBD, + 0x000DCA, + 0x000DD6 + ], + ranges: [ + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF4], + [0x0111E1, 0x0111F4] + ] +}); +testPropertyEscapes( + /^\p{Script=Sinhala}+$/u, + matchSymbols, + "\\p{Script=Sinhala}" +); +testPropertyEscapes( + /^\p{Script=Sinh}+$/u, + matchSymbols, + "\\p{Script=Sinh}" +); +testPropertyEscapes( + /^\p{sc=Sinhala}+$/u, + matchSymbols, + "\\p{sc=Sinhala}" +); +testPropertyEscapes( + /^\p{sc=Sinh}+$/u, + matchSymbols, + "\\p{sc=Sinh}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000D80], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF5, 0x00DBFF], + [0x00E000, 0x0111E0], + [0x0111F5, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Sinhala}+$/u, + nonMatchSymbols, + "\\P{Script=Sinhala}" +); +testPropertyEscapes( + /^\P{Script=Sinh}+$/u, + nonMatchSymbols, + "\\P{Script=Sinh}" +); +testPropertyEscapes( + /^\P{sc=Sinhala}+$/u, + nonMatchSymbols, + "\\P{sc=Sinhala}" +); +testPropertyEscapes( + /^\P{sc=Sinh}+$/u, + nonMatchSymbols, + "\\P{sc=Sinh}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sogdian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sogdian.js new file mode 100644 index 0000000000..92f778e567 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sogdian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Sogdian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010F30, 0x010F59] + ] +}); +testPropertyEscapes( + /^\p{Script=Sogdian}+$/u, + matchSymbols, + "\\p{Script=Sogdian}" +); +testPropertyEscapes( + /^\p{Script=Sogd}+$/u, + matchSymbols, + "\\p{Script=Sogd}" +); +testPropertyEscapes( + /^\p{sc=Sogdian}+$/u, + matchSymbols, + "\\p{sc=Sogdian}" +); +testPropertyEscapes( + /^\p{sc=Sogd}+$/u, + matchSymbols, + "\\p{sc=Sogd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010F2F], + [0x010F5A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Sogdian}+$/u, + nonMatchSymbols, + "\\P{Script=Sogdian}" +); +testPropertyEscapes( + /^\P{Script=Sogd}+$/u, + nonMatchSymbols, + "\\P{Script=Sogd}" +); +testPropertyEscapes( + /^\P{sc=Sogdian}+$/u, + nonMatchSymbols, + "\\P{sc=Sogdian}" +); +testPropertyEscapes( + /^\P{sc=Sogd}+$/u, + nonMatchSymbols, + "\\P{sc=Sogd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sora_Sompeng.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sora_Sompeng.js new file mode 100644 index 0000000000..438b725728 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sora_Sompeng.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Sora_Sompeng` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9] + ] +}); +testPropertyEscapes( + /^\p{Script=Sora_Sompeng}+$/u, + matchSymbols, + "\\p{Script=Sora_Sompeng}" +); +testPropertyEscapes( + /^\p{Script=Sora}+$/u, + matchSymbols, + "\\p{Script=Sora}" +); +testPropertyEscapes( + /^\p{sc=Sora_Sompeng}+$/u, + matchSymbols, + "\\p{sc=Sora_Sompeng}" +); +testPropertyEscapes( + /^\p{sc=Sora}+$/u, + matchSymbols, + "\\p{sc=Sora}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Sora_Sompeng}+$/u, + nonMatchSymbols, + "\\P{Script=Sora_Sompeng}" +); +testPropertyEscapes( + /^\P{Script=Sora}+$/u, + nonMatchSymbols, + "\\P{Script=Sora}" +); +testPropertyEscapes( + /^\P{sc=Sora_Sompeng}+$/u, + nonMatchSymbols, + "\\P{sc=Sora_Sompeng}" +); +testPropertyEscapes( + /^\P{sc=Sora}+$/u, + nonMatchSymbols, + "\\P{sc=Sora}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Soyombo.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Soyombo.js new file mode 100644 index 0000000000..a03a2f8cf8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Soyombo.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Soyombo` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011A50, 0x011AA2] + ] +}); +testPropertyEscapes( + /^\p{Script=Soyombo}+$/u, + matchSymbols, + "\\p{Script=Soyombo}" +); +testPropertyEscapes( + /^\p{Script=Soyo}+$/u, + matchSymbols, + "\\p{Script=Soyo}" +); +testPropertyEscapes( + /^\p{sc=Soyombo}+$/u, + matchSymbols, + "\\p{sc=Soyombo}" +); +testPropertyEscapes( + /^\p{sc=Soyo}+$/u, + matchSymbols, + "\\p{sc=Soyo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011A4F], + [0x011AA3, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Soyombo}+$/u, + nonMatchSymbols, + "\\P{Script=Soyombo}" +); +testPropertyEscapes( + /^\P{Script=Soyo}+$/u, + nonMatchSymbols, + "\\P{Script=Soyo}" +); +testPropertyEscapes( + /^\P{sc=Soyombo}+$/u, + nonMatchSymbols, + "\\P{sc=Soyombo}" +); +testPropertyEscapes( + /^\P{sc=Soyo}+$/u, + nonMatchSymbols, + "\\P{sc=Soyo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sundanese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sundanese.js new file mode 100644 index 0000000000..dc57445f3b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Sundanese.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Sundanese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001B80, 0x001BBF], + [0x001CC0, 0x001CC7] + ] +}); +testPropertyEscapes( + /^\p{Script=Sundanese}+$/u, + matchSymbols, + "\\p{Script=Sundanese}" +); +testPropertyEscapes( + /^\p{Script=Sund}+$/u, + matchSymbols, + "\\p{Script=Sund}" +); +testPropertyEscapes( + /^\p{sc=Sundanese}+$/u, + matchSymbols, + "\\p{sc=Sundanese}" +); +testPropertyEscapes( + /^\p{sc=Sund}+$/u, + matchSymbols, + "\\p{sc=Sund}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001B7F], + [0x001BC0, 0x001CBF], + [0x001CC8, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Sundanese}+$/u, + nonMatchSymbols, + "\\P{Script=Sundanese}" +); +testPropertyEscapes( + /^\P{Script=Sund}+$/u, + nonMatchSymbols, + "\\P{Script=Sund}" +); +testPropertyEscapes( + /^\P{sc=Sundanese}+$/u, + nonMatchSymbols, + "\\P{sc=Sundanese}" +); +testPropertyEscapes( + /^\P{sc=Sund}+$/u, + nonMatchSymbols, + "\\P{sc=Sund}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Syloti_Nagri.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Syloti_Nagri.js new file mode 100644 index 0000000000..ecbfc1b424 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Syloti_Nagri.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Syloti_Nagri` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A800, 0x00A82C] + ] +}); +testPropertyEscapes( + /^\p{Script=Syloti_Nagri}+$/u, + matchSymbols, + "\\p{Script=Syloti_Nagri}" +); +testPropertyEscapes( + /^\p{Script=Sylo}+$/u, + matchSymbols, + "\\p{Script=Sylo}" +); +testPropertyEscapes( + /^\p{sc=Syloti_Nagri}+$/u, + matchSymbols, + "\\p{sc=Syloti_Nagri}" +); +testPropertyEscapes( + /^\p{sc=Sylo}+$/u, + matchSymbols, + "\\p{sc=Sylo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A7FF], + [0x00A82D, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Syloti_Nagri}+$/u, + nonMatchSymbols, + "\\P{Script=Syloti_Nagri}" +); +testPropertyEscapes( + /^\P{Script=Sylo}+$/u, + nonMatchSymbols, + "\\P{Script=Sylo}" +); +testPropertyEscapes( + /^\P{sc=Syloti_Nagri}+$/u, + nonMatchSymbols, + "\\P{sc=Syloti_Nagri}" +); +testPropertyEscapes( + /^\P{sc=Sylo}+$/u, + nonMatchSymbols, + "\\P{sc=Sylo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Syriac.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Syriac.js new file mode 100644 index 0000000000..81b2fa06d5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Syriac.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Syriac` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000700, 0x00070D], + [0x00070F, 0x00074A], + [0x00074D, 0x00074F], + [0x000860, 0x00086A] + ] +}); +testPropertyEscapes( + /^\p{Script=Syriac}+$/u, + matchSymbols, + "\\p{Script=Syriac}" +); +testPropertyEscapes( + /^\p{Script=Syrc}+$/u, + matchSymbols, + "\\p{Script=Syrc}" +); +testPropertyEscapes( + /^\p{sc=Syriac}+$/u, + matchSymbols, + "\\p{sc=Syriac}" +); +testPropertyEscapes( + /^\p{sc=Syrc}+$/u, + matchSymbols, + "\\p{sc=Syrc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00070E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0006FF], + [0x00074B, 0x00074C], + [0x000750, 0x00085F], + [0x00086B, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Syriac}+$/u, + nonMatchSymbols, + "\\P{Script=Syriac}" +); +testPropertyEscapes( + /^\P{Script=Syrc}+$/u, + nonMatchSymbols, + "\\P{Script=Syrc}" +); +testPropertyEscapes( + /^\P{sc=Syriac}+$/u, + nonMatchSymbols, + "\\P{sc=Syriac}" +); +testPropertyEscapes( + /^\P{sc=Syrc}+$/u, + nonMatchSymbols, + "\\P{sc=Syrc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js new file mode 100644 index 0000000000..dc22a8786c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tagalog` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001700, 0x00170C], + [0x00170E, 0x001714] + ] +}); +testPropertyEscapes( + /^\p{Script=Tagalog}+$/u, + matchSymbols, + "\\p{Script=Tagalog}" +); +testPropertyEscapes( + /^\p{Script=Tglg}+$/u, + matchSymbols, + "\\p{Script=Tglg}" +); +testPropertyEscapes( + /^\p{sc=Tagalog}+$/u, + matchSymbols, + "\\p{sc=Tagalog}" +); +testPropertyEscapes( + /^\p{sc=Tglg}+$/u, + matchSymbols, + "\\p{sc=Tglg}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00170D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0016FF], + [0x001715, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tagalog}+$/u, + nonMatchSymbols, + "\\P{Script=Tagalog}" +); +testPropertyEscapes( + /^\P{Script=Tglg}+$/u, + nonMatchSymbols, + "\\P{Script=Tglg}" +); +testPropertyEscapes( + /^\P{sc=Tagalog}+$/u, + nonMatchSymbols, + "\\P{sc=Tagalog}" +); +testPropertyEscapes( + /^\P{sc=Tglg}+$/u, + nonMatchSymbols, + "\\P{sc=Tglg}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagbanwa.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagbanwa.js new file mode 100644 index 0000000000..12238425b8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagbanwa.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tagbanwa` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773] + ] +}); +testPropertyEscapes( + /^\p{Script=Tagbanwa}+$/u, + matchSymbols, + "\\p{Script=Tagbanwa}" +); +testPropertyEscapes( + /^\p{Script=Tagb}+$/u, + matchSymbols, + "\\p{Script=Tagb}" +); +testPropertyEscapes( + /^\p{sc=Tagbanwa}+$/u, + matchSymbols, + "\\p{sc=Tagbanwa}" +); +testPropertyEscapes( + /^\p{sc=Tagb}+$/u, + matchSymbols, + "\\p{sc=Tagb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00176D, + 0x001771 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00175F], + [0x001774, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tagbanwa}+$/u, + nonMatchSymbols, + "\\P{Script=Tagbanwa}" +); +testPropertyEscapes( + /^\P{Script=Tagb}+$/u, + nonMatchSymbols, + "\\P{Script=Tagb}" +); +testPropertyEscapes( + /^\P{sc=Tagbanwa}+$/u, + nonMatchSymbols, + "\\P{sc=Tagbanwa}" +); +testPropertyEscapes( + /^\P{sc=Tagb}+$/u, + nonMatchSymbols, + "\\P{sc=Tagb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Le.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Le.js new file mode 100644 index 0000000000..7e9f1b5b74 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Le.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tai_Le` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001950, 0x00196D], + [0x001970, 0x001974] + ] +}); +testPropertyEscapes( + /^\p{Script=Tai_Le}+$/u, + matchSymbols, + "\\p{Script=Tai_Le}" +); +testPropertyEscapes( + /^\p{Script=Tale}+$/u, + matchSymbols, + "\\p{Script=Tale}" +); +testPropertyEscapes( + /^\p{sc=Tai_Le}+$/u, + matchSymbols, + "\\p{sc=Tai_Le}" +); +testPropertyEscapes( + /^\p{sc=Tale}+$/u, + matchSymbols, + "\\p{sc=Tale}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tai_Le}+$/u, + nonMatchSymbols, + "\\P{Script=Tai_Le}" +); +testPropertyEscapes( + /^\P{Script=Tale}+$/u, + nonMatchSymbols, + "\\P{Script=Tale}" +); +testPropertyEscapes( + /^\P{sc=Tai_Le}+$/u, + nonMatchSymbols, + "\\P{sc=Tai_Le}" +); +testPropertyEscapes( + /^\P{sc=Tale}+$/u, + nonMatchSymbols, + "\\P{sc=Tale}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Tham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Tham.js new file mode 100644 index 0000000000..6fb11ceb47 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Tham.js @@ -0,0 +1,82 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tai_Tham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001A20, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AA0, 0x001AAD] + ] +}); +testPropertyEscapes( + /^\p{Script=Tai_Tham}+$/u, + matchSymbols, + "\\p{Script=Tai_Tham}" +); +testPropertyEscapes( + /^\p{Script=Lana}+$/u, + matchSymbols, + "\\p{Script=Lana}" +); +testPropertyEscapes( + /^\p{sc=Tai_Tham}+$/u, + matchSymbols, + "\\p{sc=Tai_Tham}" +); +testPropertyEscapes( + /^\p{sc=Lana}+$/u, + matchSymbols, + "\\p{sc=Lana}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001A5F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001A1F], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001A9F], + [0x001AAE, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tai_Tham}+$/u, + nonMatchSymbols, + "\\P{Script=Tai_Tham}" +); +testPropertyEscapes( + /^\P{Script=Lana}+$/u, + nonMatchSymbols, + "\\P{Script=Lana}" +); +testPropertyEscapes( + /^\P{sc=Tai_Tham}+$/u, + nonMatchSymbols, + "\\P{sc=Tai_Tham}" +); +testPropertyEscapes( + /^\P{sc=Lana}+$/u, + nonMatchSymbols, + "\\P{sc=Lana}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Viet.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Viet.js new file mode 100644 index 0000000000..73bffc7f7d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Viet.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tai_Viet` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00AA80, 0x00AAC2], + [0x00AADB, 0x00AADF] + ] +}); +testPropertyEscapes( + /^\p{Script=Tai_Viet}+$/u, + matchSymbols, + "\\p{Script=Tai_Viet}" +); +testPropertyEscapes( + /^\p{Script=Tavt}+$/u, + matchSymbols, + "\\p{Script=Tavt}" +); +testPropertyEscapes( + /^\p{sc=Tai_Viet}+$/u, + matchSymbols, + "\\p{sc=Tai_Viet}" +); +testPropertyEscapes( + /^\p{sc=Tavt}+$/u, + matchSymbols, + "\\p{sc=Tavt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00AA7F], + [0x00AAC3, 0x00AADA], + [0x00AAE0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tai_Viet}+$/u, + nonMatchSymbols, + "\\P{Script=Tai_Viet}" +); +testPropertyEscapes( + /^\P{Script=Tavt}+$/u, + nonMatchSymbols, + "\\P{Script=Tavt}" +); +testPropertyEscapes( + /^\P{sc=Tai_Viet}+$/u, + nonMatchSymbols, + "\\P{sc=Tai_Viet}" +); +testPropertyEscapes( + /^\P{sc=Tavt}+$/u, + nonMatchSymbols, + "\\P{sc=Tavt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js new file mode 100644 index 0000000000..6937f6d2a6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Takri` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9] + ] +}); +testPropertyEscapes( + /^\p{Script=Takri}+$/u, + matchSymbols, + "\\p{Script=Takri}" +); +testPropertyEscapes( + /^\p{Script=Takr}+$/u, + matchSymbols, + "\\p{Script=Takr}" +); +testPropertyEscapes( + /^\p{sc=Takri}+$/u, + matchSymbols, + "\\p{sc=Takri}" +); +testPropertyEscapes( + /^\p{sc=Takr}+$/u, + matchSymbols, + "\\p{sc=Takr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Takri}+$/u, + nonMatchSymbols, + "\\P{Script=Takri}" +); +testPropertyEscapes( + /^\P{Script=Takr}+$/u, + nonMatchSymbols, + "\\P{Script=Takr}" +); +testPropertyEscapes( + /^\P{sc=Takri}+$/u, + nonMatchSymbols, + "\\P{sc=Takri}" +); +testPropertyEscapes( + /^\P{sc=Takr}+$/u, + nonMatchSymbols, + "\\P{sc=Takr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tamil.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tamil.js new file mode 100644 index 0000000000..1b21ab28f1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tamil.js @@ -0,0 +1,109 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tamil` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x011FFF + ], + ranges: [ + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BFA], + [0x011FC0, 0x011FF1] + ] +}); +testPropertyEscapes( + /^\p{Script=Tamil}+$/u, + matchSymbols, + "\\p{Script=Tamil}" +); +testPropertyEscapes( + /^\p{Script=Taml}+$/u, + matchSymbols, + "\\p{Script=Taml}" +); +testPropertyEscapes( + /^\p{sc=Tamil}+$/u, + matchSymbols, + "\\p{sc=Tamil}" +); +testPropertyEscapes( + /^\p{sc=Taml}+$/u, + matchSymbols, + "\\p{sc=Taml}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BFB, 0x00DBFF], + [0x00E000, 0x011FBF], + [0x011FF2, 0x011FFE], + [0x012000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tamil}+$/u, + nonMatchSymbols, + "\\P{Script=Tamil}" +); +testPropertyEscapes( + /^\P{Script=Taml}+$/u, + nonMatchSymbols, + "\\P{Script=Taml}" +); +testPropertyEscapes( + /^\P{sc=Tamil}+$/u, + nonMatchSymbols, + "\\P{sc=Tamil}" +); +testPropertyEscapes( + /^\P{sc=Taml}+$/u, + nonMatchSymbols, + "\\P{sc=Taml}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tangut.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tangut.js new file mode 100644 index 0000000000..c97ede1858 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tangut.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tangut` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE0 + ], + ranges: [ + [0x017000, 0x0187F7], + [0x018800, 0x018AFF], + [0x018D00, 0x018D08] + ] +}); +testPropertyEscapes( + /^\p{Script=Tangut}+$/u, + matchSymbols, + "\\p{Script=Tangut}" +); +testPropertyEscapes( + /^\p{Script=Tang}+$/u, + matchSymbols, + "\\p{Script=Tang}" +); +testPropertyEscapes( + /^\p{sc=Tangut}+$/u, + matchSymbols, + "\\p{sc=Tangut}" +); +testPropertyEscapes( + /^\p{sc=Tang}+$/u, + matchSymbols, + "\\p{sc=Tang}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016FDF], + [0x016FE1, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018B00, 0x018CFF], + [0x018D09, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tangut}+$/u, + nonMatchSymbols, + "\\P{Script=Tangut}" +); +testPropertyEscapes( + /^\P{Script=Tang}+$/u, + nonMatchSymbols, + "\\P{Script=Tang}" +); +testPropertyEscapes( + /^\P{sc=Tangut}+$/u, + nonMatchSymbols, + "\\P{sc=Tangut}" +); +testPropertyEscapes( + /^\P{sc=Tang}+$/u, + nonMatchSymbols, + "\\P{sc=Tang}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js new file mode 100644 index 0000000000..1a2a83ebd0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js @@ -0,0 +1,96 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Telugu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C77, 0x000C7F] + ] +}); +testPropertyEscapes( + /^\p{Script=Telugu}+$/u, + matchSymbols, + "\\p{Script=Telugu}" +); +testPropertyEscapes( + /^\p{Script=Telu}+$/u, + matchSymbols, + "\\p{Script=Telu}" +); +testPropertyEscapes( + /^\p{sc=Telugu}+$/u, + matchSymbols, + "\\p{sc=Telugu}" +); +testPropertyEscapes( + /^\p{sc=Telu}+$/u, + matchSymbols, + "\\p{sc=Telu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C76], + [0x000C80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Telugu}+$/u, + nonMatchSymbols, + "\\P{Script=Telugu}" +); +testPropertyEscapes( + /^\P{Script=Telu}+$/u, + nonMatchSymbols, + "\\P{Script=Telu}" +); +testPropertyEscapes( + /^\P{sc=Telugu}+$/u, + nonMatchSymbols, + "\\P{sc=Telugu}" +); +testPropertyEscapes( + /^\P{sc=Telu}+$/u, + nonMatchSymbols, + "\\P{sc=Telu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Thaana.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Thaana.js new file mode 100644 index 0000000000..8397bbcd27 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Thaana.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Thaana` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000780, 0x0007B1] + ] +}); +testPropertyEscapes( + /^\p{Script=Thaana}+$/u, + matchSymbols, + "\\p{Script=Thaana}" +); +testPropertyEscapes( + /^\p{Script=Thaa}+$/u, + matchSymbols, + "\\p{Script=Thaa}" +); +testPropertyEscapes( + /^\p{sc=Thaana}+$/u, + matchSymbols, + "\\p{sc=Thaana}" +); +testPropertyEscapes( + /^\p{sc=Thaa}+$/u, + matchSymbols, + "\\p{sc=Thaa}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00077F], + [0x0007B2, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Thaana}+$/u, + nonMatchSymbols, + "\\P{Script=Thaana}" +); +testPropertyEscapes( + /^\P{Script=Thaa}+$/u, + nonMatchSymbols, + "\\P{Script=Thaa}" +); +testPropertyEscapes( + /^\P{sc=Thaana}+$/u, + nonMatchSymbols, + "\\P{sc=Thaana}" +); +testPropertyEscapes( + /^\P{sc=Thaa}+$/u, + nonMatchSymbols, + "\\P{sc=Thaa}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Thai.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Thai.js new file mode 100644 index 0000000000..e48020ea14 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Thai.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Thai` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000E01, 0x000E3A], + [0x000E40, 0x000E5B] + ] +}); +testPropertyEscapes( + /^\p{Script=Thai}+$/u, + matchSymbols, + "\\p{Script=Thai}" +); +testPropertyEscapes( + /^\p{Script=Thai}+$/u, + matchSymbols, + "\\p{Script=Thai}" +); +testPropertyEscapes( + /^\p{sc=Thai}+$/u, + matchSymbols, + "\\p{sc=Thai}" +); +testPropertyEscapes( + /^\p{sc=Thai}+$/u, + matchSymbols, + "\\p{sc=Thai}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000E00], + [0x000E3B, 0x000E3F], + [0x000E5C, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Thai}+$/u, + nonMatchSymbols, + "\\P{Script=Thai}" +); +testPropertyEscapes( + /^\P{Script=Thai}+$/u, + nonMatchSymbols, + "\\P{Script=Thai}" +); +testPropertyEscapes( + /^\P{sc=Thai}+$/u, + nonMatchSymbols, + "\\P{sc=Thai}" +); +testPropertyEscapes( + /^\P{sc=Thai}+$/u, + nonMatchSymbols, + "\\P{sc=Thai}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tibetan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tibetan.js new file mode 100644 index 0000000000..84ad5a4994 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tibetan.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tibetan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000F00, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F97], + [0x000F99, 0x000FBC], + [0x000FBE, 0x000FCC], + [0x000FCE, 0x000FD4], + [0x000FD9, 0x000FDA] + ] +}); +testPropertyEscapes( + /^\p{Script=Tibetan}+$/u, + matchSymbols, + "\\p{Script=Tibetan}" +); +testPropertyEscapes( + /^\p{Script=Tibt}+$/u, + matchSymbols, + "\\p{Script=Tibt}" +); +testPropertyEscapes( + /^\p{sc=Tibetan}+$/u, + matchSymbols, + "\\p{sc=Tibetan}" +); +testPropertyEscapes( + /^\p{sc=Tibt}+$/u, + matchSymbols, + "\\p{sc=Tibt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000F48, + 0x000F98, + 0x000FBD, + 0x000FCD + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000EFF], + [0x000F6D, 0x000F70], + [0x000FD5, 0x000FD8], + [0x000FDB, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tibetan}+$/u, + nonMatchSymbols, + "\\P{Script=Tibetan}" +); +testPropertyEscapes( + /^\P{Script=Tibt}+$/u, + nonMatchSymbols, + "\\P{Script=Tibt}" +); +testPropertyEscapes( + /^\P{sc=Tibetan}+$/u, + nonMatchSymbols, + "\\P{sc=Tibetan}" +); +testPropertyEscapes( + /^\P{sc=Tibt}+$/u, + nonMatchSymbols, + "\\P{sc=Tibt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tifinagh.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tifinagh.js new file mode 100644 index 0000000000..beef21d48a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tifinagh.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tifinagh` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x002D7F + ], + ranges: [ + [0x002D30, 0x002D67], + [0x002D6F, 0x002D70] + ] +}); +testPropertyEscapes( + /^\p{Script=Tifinagh}+$/u, + matchSymbols, + "\\p{Script=Tifinagh}" +); +testPropertyEscapes( + /^\p{Script=Tfng}+$/u, + matchSymbols, + "\\p{Script=Tfng}" +); +testPropertyEscapes( + /^\p{sc=Tifinagh}+$/u, + matchSymbols, + "\\p{sc=Tifinagh}" +); +testPropertyEscapes( + /^\p{sc=Tfng}+$/u, + matchSymbols, + "\\p{sc=Tfng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D71, 0x002D7E], + [0x002D80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tifinagh}+$/u, + nonMatchSymbols, + "\\P{Script=Tifinagh}" +); +testPropertyEscapes( + /^\P{Script=Tfng}+$/u, + nonMatchSymbols, + "\\P{Script=Tfng}" +); +testPropertyEscapes( + /^\P{sc=Tifinagh}+$/u, + nonMatchSymbols, + "\\P{sc=Tifinagh}" +); +testPropertyEscapes( + /^\P{sc=Tfng}+$/u, + nonMatchSymbols, + "\\P{sc=Tfng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tirhuta.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tirhuta.js new file mode 100644 index 0000000000..99aff408a0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tirhuta.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Tirhuta` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011480, 0x0114C7], + [0x0114D0, 0x0114D9] + ] +}); +testPropertyEscapes( + /^\p{Script=Tirhuta}+$/u, + matchSymbols, + "\\p{Script=Tirhuta}" +); +testPropertyEscapes( + /^\p{Script=Tirh}+$/u, + matchSymbols, + "\\p{Script=Tirh}" +); +testPropertyEscapes( + /^\p{sc=Tirhuta}+$/u, + matchSymbols, + "\\p{sc=Tirhuta}" +); +testPropertyEscapes( + /^\p{sc=Tirh}+$/u, + matchSymbols, + "\\p{sc=Tirh}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Tirhuta}+$/u, + nonMatchSymbols, + "\\P{Script=Tirhuta}" +); +testPropertyEscapes( + /^\P{Script=Tirh}+$/u, + nonMatchSymbols, + "\\P{Script=Tirh}" +); +testPropertyEscapes( + /^\P{sc=Tirhuta}+$/u, + nonMatchSymbols, + "\\P{sc=Tirhuta}" +); +testPropertyEscapes( + /^\P{sc=Tirh}+$/u, + nonMatchSymbols, + "\\P{sc=Tirh}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ugaritic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ugaritic.js new file mode 100644 index 0000000000..d3aefe0133 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Ugaritic.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Ugaritic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01039F + ], + ranges: [ + [0x010380, 0x01039D] + ] +}); +testPropertyEscapes( + /^\p{Script=Ugaritic}+$/u, + matchSymbols, + "\\p{Script=Ugaritic}" +); +testPropertyEscapes( + /^\p{Script=Ugar}+$/u, + matchSymbols, + "\\p{Script=Ugar}" +); +testPropertyEscapes( + /^\p{sc=Ugaritic}+$/u, + matchSymbols, + "\\p{sc=Ugaritic}" +); +testPropertyEscapes( + /^\p{sc=Ugar}+$/u, + matchSymbols, + "\\p{sc=Ugar}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01039E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01037F], + [0x0103A0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Ugaritic}+$/u, + nonMatchSymbols, + "\\P{Script=Ugaritic}" +); +testPropertyEscapes( + /^\P{Script=Ugar}+$/u, + nonMatchSymbols, + "\\P{Script=Ugar}" +); +testPropertyEscapes( + /^\P{sc=Ugaritic}+$/u, + nonMatchSymbols, + "\\P{sc=Ugaritic}" +); +testPropertyEscapes( + /^\P{sc=Ugar}+$/u, + nonMatchSymbols, + "\\P{sc=Ugar}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Vai.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Vai.js new file mode 100644 index 0000000000..c92b8c4e8d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Vai.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Vai` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A500, 0x00A62B] + ] +}); +testPropertyEscapes( + /^\p{Script=Vai}+$/u, + matchSymbols, + "\\p{Script=Vai}" +); +testPropertyEscapes( + /^\p{Script=Vaii}+$/u, + matchSymbols, + "\\p{Script=Vaii}" +); +testPropertyEscapes( + /^\p{sc=Vai}+$/u, + matchSymbols, + "\\p{sc=Vai}" +); +testPropertyEscapes( + /^\p{sc=Vaii}+$/u, + matchSymbols, + "\\p{sc=Vaii}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A4FF], + [0x00A62C, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Vai}+$/u, + nonMatchSymbols, + "\\P{Script=Vai}" +); +testPropertyEscapes( + /^\P{Script=Vaii}+$/u, + nonMatchSymbols, + "\\P{Script=Vaii}" +); +testPropertyEscapes( + /^\P{sc=Vai}+$/u, + nonMatchSymbols, + "\\P{sc=Vai}" +); +testPropertyEscapes( + /^\P{sc=Vaii}+$/u, + nonMatchSymbols, + "\\P{sc=Vaii}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Wancho.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Wancho.js new file mode 100644 index 0000000000..2ea8510fbe --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Wancho.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Wancho` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01E2FF + ], + ranges: [ + [0x01E2C0, 0x01E2F9] + ] +}); +testPropertyEscapes( + /^\p{Script=Wancho}+$/u, + matchSymbols, + "\\p{Script=Wancho}" +); +testPropertyEscapes( + /^\p{Script=Wcho}+$/u, + matchSymbols, + "\\p{Script=Wcho}" +); +testPropertyEscapes( + /^\p{sc=Wancho}+$/u, + matchSymbols, + "\\p{sc=Wancho}" +); +testPropertyEscapes( + /^\p{sc=Wcho}+$/u, + matchSymbols, + "\\p{sc=Wcho}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E2BF], + [0x01E2FA, 0x01E2FE], + [0x01E300, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Wancho}+$/u, + nonMatchSymbols, + "\\P{Script=Wancho}" +); +testPropertyEscapes( + /^\P{Script=Wcho}+$/u, + nonMatchSymbols, + "\\P{Script=Wcho}" +); +testPropertyEscapes( + /^\P{sc=Wancho}+$/u, + nonMatchSymbols, + "\\P{sc=Wancho}" +); +testPropertyEscapes( + /^\P{sc=Wcho}+$/u, + nonMatchSymbols, + "\\P{sc=Wcho}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Warang_Citi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Warang_Citi.js new file mode 100644 index 0000000000..d354a032fd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Warang_Citi.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Warang_Citi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0118FF + ], + ranges: [ + [0x0118A0, 0x0118F2] + ] +}); +testPropertyEscapes( + /^\p{Script=Warang_Citi}+$/u, + matchSymbols, + "\\p{Script=Warang_Citi}" +); +testPropertyEscapes( + /^\p{Script=Wara}+$/u, + matchSymbols, + "\\p{Script=Wara}" +); +testPropertyEscapes( + /^\p{sc=Warang_Citi}+$/u, + matchSymbols, + "\\p{sc=Warang_Citi}" +); +testPropertyEscapes( + /^\p{sc=Wara}+$/u, + matchSymbols, + "\\p{sc=Wara}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01189F], + [0x0118F3, 0x0118FE], + [0x011900, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Warang_Citi}+$/u, + nonMatchSymbols, + "\\P{Script=Warang_Citi}" +); +testPropertyEscapes( + /^\P{Script=Wara}+$/u, + nonMatchSymbols, + "\\P{Script=Wara}" +); +testPropertyEscapes( + /^\P{sc=Warang_Citi}+$/u, + nonMatchSymbols, + "\\P{sc=Warang_Citi}" +); +testPropertyEscapes( + /^\P{sc=Wara}+$/u, + nonMatchSymbols, + "\\P{sc=Wara}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Yezidi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Yezidi.js new file mode 100644 index 0000000000..a3781311d5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Yezidi.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Yezidi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAD], + [0x010EB0, 0x010EB1] + ] +}); +testPropertyEscapes( + /^\p{Script=Yezidi}+$/u, + matchSymbols, + "\\p{Script=Yezidi}" +); +testPropertyEscapes( + /^\p{Script=Yezi}+$/u, + matchSymbols, + "\\p{Script=Yezi}" +); +testPropertyEscapes( + /^\p{sc=Yezidi}+$/u, + matchSymbols, + "\\p{sc=Yezidi}" +); +testPropertyEscapes( + /^\p{sc=Yezi}+$/u, + matchSymbols, + "\\p{sc=Yezi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010EAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010E7F], + [0x010EAE, 0x010EAF], + [0x010EB2, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Yezidi}+$/u, + nonMatchSymbols, + "\\P{Script=Yezidi}" +); +testPropertyEscapes( + /^\P{Script=Yezi}+$/u, + nonMatchSymbols, + "\\P{Script=Yezi}" +); +testPropertyEscapes( + /^\P{sc=Yezidi}+$/u, + nonMatchSymbols, + "\\P{sc=Yezidi}" +); +testPropertyEscapes( + /^\P{sc=Yezi}+$/u, + nonMatchSymbols, + "\\P{sc=Yezi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Yi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Yi.js new file mode 100644 index 0000000000..ba97345e0b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Yi.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Yi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A000, 0x00A48C], + [0x00A490, 0x00A4C6] + ] +}); +testPropertyEscapes( + /^\p{Script=Yi}+$/u, + matchSymbols, + "\\p{Script=Yi}" +); +testPropertyEscapes( + /^\p{Script=Yiii}+$/u, + matchSymbols, + "\\p{Script=Yiii}" +); +testPropertyEscapes( + /^\p{sc=Yi}+$/u, + matchSymbols, + "\\p{sc=Yi}" +); +testPropertyEscapes( + /^\p{sc=Yiii}+$/u, + matchSymbols, + "\\p{sc=Yiii}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x009FFF], + [0x00A48D, 0x00A48F], + [0x00A4C7, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Yi}+$/u, + nonMatchSymbols, + "\\P{Script=Yi}" +); +testPropertyEscapes( + /^\P{Script=Yiii}+$/u, + nonMatchSymbols, + "\\P{Script=Yiii}" +); +testPropertyEscapes( + /^\P{sc=Yi}+$/u, + nonMatchSymbols, + "\\P{sc=Yi}" +); +testPropertyEscapes( + /^\P{sc=Yiii}+$/u, + nonMatchSymbols, + "\\P{sc=Yiii}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Zanabazar_Square.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Zanabazar_Square.js new file mode 100644 index 0000000000..8a9bdaa021 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Zanabazar_Square.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script=Zanabazar_Square` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011A00, 0x011A47] + ] +}); +testPropertyEscapes( + /^\p{Script=Zanabazar_Square}+$/u, + matchSymbols, + "\\p{Script=Zanabazar_Square}" +); +testPropertyEscapes( + /^\p{Script=Zanb}+$/u, + matchSymbols, + "\\p{Script=Zanb}" +); +testPropertyEscapes( + /^\p{sc=Zanabazar_Square}+$/u, + matchSymbols, + "\\p{sc=Zanabazar_Square}" +); +testPropertyEscapes( + /^\p{sc=Zanb}+$/u, + matchSymbols, + "\\p{sc=Zanb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0119FF], + [0x011A48, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script=Zanabazar_Square}+$/u, + nonMatchSymbols, + "\\P{Script=Zanabazar_Square}" +); +testPropertyEscapes( + /^\P{Script=Zanb}+$/u, + nonMatchSymbols, + "\\P{Script=Zanb}" +); +testPropertyEscapes( + /^\P{sc=Zanabazar_Square}+$/u, + nonMatchSymbols, + "\\P{sc=Zanabazar_Square}" +); +testPropertyEscapes( + /^\P{sc=Zanb}+$/u, + nonMatchSymbols, + "\\P{sc=Zanb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js new file mode 100644 index 0000000000..417c47ef6e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Adlam` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000640 + ], + ranges: [ + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01E95E, 0x01E95F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Adlam}+$/u, + matchSymbols, + "\\p{Script_Extensions=Adlam}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Adlm}+$/u, + matchSymbols, + "\\p{Script_Extensions=Adlm}" +); +testPropertyEscapes( + /^\p{scx=Adlam}+$/u, + matchSymbols, + "\\p{scx=Adlam}" +); +testPropertyEscapes( + /^\p{scx=Adlm}+$/u, + matchSymbols, + "\\p{scx=Adlm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00063F], + [0x000641, 0x00DBFF], + [0x00E000, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01E95D], + [0x01E960, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Adlam}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Adlam}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Adlm}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Adlm}" +); +testPropertyEscapes( + /^\P{scx=Adlam}+$/u, + nonMatchSymbols, + "\\P{scx=Adlam}" +); +testPropertyEscapes( + /^\P{scx=Adlm}+$/u, + nonMatchSymbols, + "\\P{scx=Adlm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js new file mode 100644 index 0000000000..6ee8c90a5d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Ahom` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x01173F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Ahom}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ahom}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Ahom}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ahom}" +); +testPropertyEscapes( + /^\p{scx=Ahom}+$/u, + matchSymbols, + "\\p{scx=Ahom}" +); +testPropertyEscapes( + /^\p{scx=Ahom}+$/u, + matchSymbols, + "\\p{scx=Ahom}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x011740, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Ahom}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ahom}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Ahom}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ahom}" +); +testPropertyEscapes( + /^\P{scx=Ahom}+$/u, + nonMatchSymbols, + "\\P{scx=Ahom}" +); +testPropertyEscapes( + /^\P{scx=Ahom}+$/u, + nonMatchSymbols, + "\\P{scx=Ahom}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Anatolian_Hieroglyphs.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Anatolian_Hieroglyphs.js new file mode 100644 index 0000000000..1bfe8dd61a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Anatolian_Hieroglyphs.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Anatolian_Hieroglyphs` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x014400, 0x014646] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Anatolian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{Script_Extensions=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hluw}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hluw}" +); +testPropertyEscapes( + /^\p{scx=Anatolian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{scx=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{scx=Hluw}+$/u, + matchSymbols, + "\\p{scx=Hluw}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0143FF], + [0x014647, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Anatolian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hluw}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hluw}" +); +testPropertyEscapes( + /^\P{scx=Anatolian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{scx=Anatolian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{scx=Hluw}+$/u, + nonMatchSymbols, + "\\P{scx=Hluw}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js new file mode 100644 index 0000000000..38503ab9be --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js @@ -0,0 +1,177 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Arabic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000600, 0x000604], + [0x000606, 0x00061C], + [0x00061E, 0x0006DC], + [0x0006DE, 0x0006FF], + [0x000750, 0x00077F], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x0008FF], + [0x00FB50, 0x00FBC1], + [0x00FBD3, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDFD], + [0x00FE70, 0x00FE74], + [0x00FE76, 0x00FEFC], + [0x0102E0, 0x0102FB], + [0x010E60, 0x010E7E], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01EEF0, 0x01EEF1] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Arabic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Arabic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Arab}+$/u, + matchSymbols, + "\\p{Script_Extensions=Arab}" +); +testPropertyEscapes( + /^\p{scx=Arabic}+$/u, + matchSymbols, + "\\p{scx=Arabic}" +); +testPropertyEscapes( + /^\p{scx=Arab}+$/u, + matchSymbols, + "\\p{scx=Arab}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000605, + 0x00061D, + 0x0006DD, + 0x0008B5, + 0x0008E2, + 0x00FE75, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0005FF], + [0x000700, 0x00074F], + [0x000780, 0x00089F], + [0x0008C8, 0x0008D2], + [0x000900, 0x00DBFF], + [0x00E000, 0x00FB4F], + [0x00FBC2, 0x00FBD2], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFE, 0x00FE6F], + [0x00FEFD, 0x0102DF], + [0x0102FC, 0x010E5F], + [0x010E7F, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01EEEF], + [0x01EEF2, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Arabic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Arabic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Arab}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Arab}" +); +testPropertyEscapes( + /^\P{scx=Arabic}+$/u, + nonMatchSymbols, + "\\P{scx=Arabic}" +); +testPropertyEscapes( + /^\P{scx=Arab}+$/u, + nonMatchSymbols, + "\\P{scx=Arab}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js new file mode 100644 index 0000000000..8bed6510d8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Armenian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000531, 0x000556], + [0x000559, 0x00058A], + [0x00058D, 0x00058F], + [0x00FB13, 0x00FB17] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Armenian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Armenian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Armn}+$/u, + matchSymbols, + "\\p{Script_Extensions=Armn}" +); +testPropertyEscapes( + /^\p{scx=Armenian}+$/u, + matchSymbols, + "\\p{scx=Armenian}" +); +testPropertyEscapes( + /^\p{scx=Armn}+$/u, + matchSymbols, + "\\p{scx=Armn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000530], + [0x000557, 0x000558], + [0x00058B, 0x00058C], + [0x000590, 0x00DBFF], + [0x00E000, 0x00FB12], + [0x00FB18, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Armenian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Armenian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Armn}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Armn}" +); +testPropertyEscapes( + /^\P{scx=Armenian}+$/u, + nonMatchSymbols, + "\\P{scx=Armenian}" +); +testPropertyEscapes( + /^\P{scx=Armn}+$/u, + nonMatchSymbols, + "\\P{scx=Armn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js new file mode 100644 index 0000000000..dfb28b3654 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Avestan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B00, 0x010B35], + [0x010B39, 0x010B3F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Avestan}+$/u, + matchSymbols, + "\\p{Script_Extensions=Avestan}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Avst}+$/u, + matchSymbols, + "\\p{Script_Extensions=Avst}" +); +testPropertyEscapes( + /^\p{scx=Avestan}+$/u, + matchSymbols, + "\\p{scx=Avestan}" +); +testPropertyEscapes( + /^\p{scx=Avst}+$/u, + matchSymbols, + "\\p{scx=Avst}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010AFF], + [0x010B36, 0x010B38], + [0x010B40, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Avestan}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Avestan}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Avst}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Avst}" +); +testPropertyEscapes( + /^\P{scx=Avestan}+$/u, + nonMatchSymbols, + "\\P{scx=Avestan}" +); +testPropertyEscapes( + /^\P{scx=Avst}+$/u, + nonMatchSymbols, + "\\P{scx=Avst}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js new file mode 100644 index 0000000000..bb6aadf907 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Balinese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001B00, 0x001B4B], + [0x001B50, 0x001B7C] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Balinese}+$/u, + matchSymbols, + "\\p{Script_Extensions=Balinese}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Bali}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bali}" +); +testPropertyEscapes( + /^\p{scx=Balinese}+$/u, + matchSymbols, + "\\p{scx=Balinese}" +); +testPropertyEscapes( + /^\p{scx=Bali}+$/u, + matchSymbols, + "\\p{scx=Bali}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B7D, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Balinese}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Balinese}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Bali}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bali}" +); +testPropertyEscapes( + /^\P{scx=Balinese}+$/u, + nonMatchSymbols, + "\\P{scx=Balinese}" +); +testPropertyEscapes( + /^\P{scx=Bali}+$/u, + nonMatchSymbols, + "\\P{scx=Bali}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bamum.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bamum.js new file mode 100644 index 0000000000..1c63cdfdf1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bamum.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Bamum` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A6A0, 0x00A6F7], + [0x016800, 0x016A38] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Bamum}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bamum}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Bamu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bamu}" +); +testPropertyEscapes( + /^\p{scx=Bamum}+$/u, + matchSymbols, + "\\p{scx=Bamum}" +); +testPropertyEscapes( + /^\p{scx=Bamu}+$/u, + matchSymbols, + "\\p{scx=Bamu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A69F], + [0x00A6F8, 0x00DBFF], + [0x00E000, 0x0167FF], + [0x016A39, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Bamum}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bamum}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Bamu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bamu}" +); +testPropertyEscapes( + /^\P{scx=Bamum}+$/u, + nonMatchSymbols, + "\\P{scx=Bamum}" +); +testPropertyEscapes( + /^\P{scx=Bamu}+$/u, + nonMatchSymbols, + "\\P{scx=Bamu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bassa_Vah.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bassa_Vah.js new file mode 100644 index 0000000000..ae6ee1d56c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bassa_Vah.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Bassa_Vah` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF5] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Bassa_Vah}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bassa_Vah}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Bass}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bass}" +); +testPropertyEscapes( + /^\p{scx=Bassa_Vah}+$/u, + matchSymbols, + "\\p{scx=Bassa_Vah}" +); +testPropertyEscapes( + /^\p{scx=Bass}+$/u, + matchSymbols, + "\\p{scx=Bass}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF6, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Bassa_Vah}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bassa_Vah}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Bass}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bass}" +); +testPropertyEscapes( + /^\P{scx=Bassa_Vah}+$/u, + nonMatchSymbols, + "\\P{scx=Bassa_Vah}" +); +testPropertyEscapes( + /^\P{scx=Bass}+$/u, + nonMatchSymbols, + "\\P{scx=Bass}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Batak.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Batak.js new file mode 100644 index 0000000000..be6d3633fd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Batak.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Batak` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001BC0, 0x001BF3], + [0x001BFC, 0x001BFF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Batak}+$/u, + matchSymbols, + "\\p{Script_Extensions=Batak}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Batk}+$/u, + matchSymbols, + "\\p{Script_Extensions=Batk}" +); +testPropertyEscapes( + /^\p{scx=Batak}+$/u, + matchSymbols, + "\\p{scx=Batak}" +); +testPropertyEscapes( + /^\p{scx=Batk}+$/u, + matchSymbols, + "\\p{scx=Batk}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001BBF], + [0x001BF4, 0x001BFB], + [0x001C00, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Batak}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Batak}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Batk}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Batk}" +); +testPropertyEscapes( + /^\P{scx=Batak}+$/u, + nonMatchSymbols, + "\\P{scx=Batak}" +); +testPropertyEscapes( + /^\P{scx=Batk}+$/u, + nonMatchSymbols, + "\\P{scx=Batk}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js new file mode 100644 index 0000000000..0b13dd33da --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js @@ -0,0 +1,125 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Bengali` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0009B2, + 0x0009D7, + 0x001CD0, + 0x001CD2, + 0x001CD8, + 0x001CE1, + 0x001CEA, + 0x001CED, + 0x001CF2, + 0x00A8F1 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000980, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009FE], + [0x001CD5, 0x001CD6], + [0x001CF5, 0x001CF7] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Bengali}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bengali}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Beng}+$/u, + matchSymbols, + "\\p{Script_Extensions=Beng}" +); +testPropertyEscapes( + /^\p{scx=Bengali}+$/u, + matchSymbols, + "\\p{scx=Bengali}" +); +testPropertyEscapes( + /^\p{scx=Beng}+$/u, + matchSymbols, + "\\p{scx=Beng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x001CD1, + 0x001CD7 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x00097F], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009FF, 0x001CCF], + [0x001CD3, 0x001CD4], + [0x001CD9, 0x001CE0], + [0x001CE2, 0x001CE9], + [0x001CEB, 0x001CEC], + [0x001CEE, 0x001CF1], + [0x001CF3, 0x001CF4], + [0x001CF8, 0x00A8F0], + [0x00A8F2, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Bengali}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bengali}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Beng}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Beng}" +); +testPropertyEscapes( + /^\P{scx=Bengali}+$/u, + nonMatchSymbols, + "\\P{scx=Bengali}" +); +testPropertyEscapes( + /^\P{scx=Beng}+$/u, + nonMatchSymbols, + "\\P{scx=Beng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bhaiksuki.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bhaiksuki.js new file mode 100644 index 0000000000..425fe2cc85 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bhaiksuki.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Bhaiksuki` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C45], + [0x011C50, 0x011C6C] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Bhaiksuki}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bhaiksuki}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Bhks}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bhks}" +); +testPropertyEscapes( + /^\p{scx=Bhaiksuki}+$/u, + matchSymbols, + "\\p{scx=Bhaiksuki}" +); +testPropertyEscapes( + /^\p{scx=Bhks}+$/u, + matchSymbols, + "\\p{scx=Bhks}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011C09, + 0x011C37 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011BFF], + [0x011C46, 0x011C4F], + [0x011C6D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Bhaiksuki}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bhaiksuki}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Bhks}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bhks}" +); +testPropertyEscapes( + /^\P{scx=Bhaiksuki}+$/u, + nonMatchSymbols, + "\\P{scx=Bhaiksuki}" +); +testPropertyEscapes( + /^\P{scx=Bhks}+$/u, + nonMatchSymbols, + "\\P{scx=Bhks}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js new file mode 100644 index 0000000000..b3644f7537 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js @@ -0,0 +1,97 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Bopomofo` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003030, + 0x003037, + 0x0030FB + ], + ranges: [ + [0x0002EA, 0x0002EB], + [0x003001, 0x003003], + [0x003008, 0x003011], + [0x003013, 0x00301F], + [0x00302A, 0x00302D], + [0x003105, 0x00312F], + [0x0031A0, 0x0031BF], + [0x00FE45, 0x00FE46], + [0x00FF61, 0x00FF65] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Bopomofo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bopomofo}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Bopo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bopo}" +); +testPropertyEscapes( + /^\p{scx=Bopomofo}+$/u, + matchSymbols, + "\\p{scx=Bopomofo}" +); +testPropertyEscapes( + /^\p{scx=Bopo}+$/u, + matchSymbols, + "\\p{scx=Bopo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x003012 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002E9], + [0x0002EC, 0x003000], + [0x003004, 0x003007], + [0x003020, 0x003029], + [0x00302E, 0x00302F], + [0x003031, 0x003036], + [0x003038, 0x0030FA], + [0x0030FC, 0x003104], + [0x003130, 0x00319F], + [0x0031C0, 0x00DBFF], + [0x00E000, 0x00FE44], + [0x00FE47, 0x00FF60], + [0x00FF66, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Bopomofo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bopomofo}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Bopo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bopo}" +); +testPropertyEscapes( + /^\P{scx=Bopomofo}+$/u, + nonMatchSymbols, + "\\P{scx=Bopomofo}" +); +testPropertyEscapes( + /^\P{scx=Bopo}+$/u, + nonMatchSymbols, + "\\P{scx=Bopo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js new file mode 100644 index 0000000000..e898bcda10 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Brahmi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01107F + ], + ranges: [ + [0x011000, 0x01104D], + [0x011052, 0x01106F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Brahmi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Brahmi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Brah}+$/u, + matchSymbols, + "\\p{Script_Extensions=Brah}" +); +testPropertyEscapes( + /^\p{scx=Brahmi}+$/u, + matchSymbols, + "\\p{scx=Brahmi}" +); +testPropertyEscapes( + /^\p{scx=Brah}+$/u, + matchSymbols, + "\\p{scx=Brah}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010FFF], + [0x01104E, 0x011051], + [0x011070, 0x01107E], + [0x011080, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Brahmi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Brahmi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Brah}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Brah}" +); +testPropertyEscapes( + /^\P{scx=Brahmi}+$/u, + nonMatchSymbols, + "\\P{scx=Brahmi}" +); +testPropertyEscapes( + /^\P{scx=Brah}+$/u, + nonMatchSymbols, + "\\P{scx=Brah}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Braille.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Braille.js new file mode 100644 index 0000000000..4fb2d3f79e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Braille.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Braille` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x002800, 0x0028FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Braille}+$/u, + matchSymbols, + "\\p{Script_Extensions=Braille}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Brai}+$/u, + matchSymbols, + "\\p{Script_Extensions=Brai}" +); +testPropertyEscapes( + /^\p{scx=Braille}+$/u, + matchSymbols, + "\\p{scx=Braille}" +); +testPropertyEscapes( + /^\p{scx=Brai}+$/u, + matchSymbols, + "\\p{scx=Brai}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0027FF], + [0x002900, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Braille}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Braille}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Brai}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Brai}" +); +testPropertyEscapes( + /^\P{scx=Braille}+$/u, + nonMatchSymbols, + "\\P{scx=Braille}" +); +testPropertyEscapes( + /^\P{scx=Brai}+$/u, + nonMatchSymbols, + "\\P{scx=Brai}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buginese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buginese.js new file mode 100644 index 0000000000..54df864ac6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buginese.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Buginese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00A9CF + ], + ranges: [ + [0x001A00, 0x001A1B], + [0x001A1E, 0x001A1F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Buginese}+$/u, + matchSymbols, + "\\p{Script_Extensions=Buginese}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Bugi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Bugi}" +); +testPropertyEscapes( + /^\p{scx=Buginese}+$/u, + matchSymbols, + "\\p{scx=Buginese}" +); +testPropertyEscapes( + /^\p{scx=Bugi}+$/u, + matchSymbols, + "\\p{scx=Bugi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0019FF], + [0x001A1C, 0x001A1D], + [0x001A20, 0x00A9CE], + [0x00A9D0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Buginese}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Buginese}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Bugi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Bugi}" +); +testPropertyEscapes( + /^\P{scx=Buginese}+$/u, + nonMatchSymbols, + "\\P{scx=Buginese}" +); +testPropertyEscapes( + /^\P{scx=Bugi}+$/u, + nonMatchSymbols, + "\\P{scx=Bugi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buhid.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buhid.js new file mode 100644 index 0000000000..e25cdfac9c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buhid.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Buhid` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001735, 0x001736], + [0x001740, 0x001753] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Buhid}+$/u, + matchSymbols, + "\\p{Script_Extensions=Buhid}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Buhd}+$/u, + matchSymbols, + "\\p{Script_Extensions=Buhd}" +); +testPropertyEscapes( + /^\p{scx=Buhid}+$/u, + matchSymbols, + "\\p{scx=Buhid}" +); +testPropertyEscapes( + /^\p{scx=Buhd}+$/u, + matchSymbols, + "\\p{scx=Buhd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001734], + [0x001737, 0x00173F], + [0x001754, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Buhid}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Buhid}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Buhd}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Buhd}" +); +testPropertyEscapes( + /^\P{scx=Buhid}+$/u, + nonMatchSymbols, + "\\P{scx=Buhid}" +); +testPropertyEscapes( + /^\P{scx=Buhd}+$/u, + nonMatchSymbols, + "\\P{scx=Buhd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js new file mode 100644 index 0000000000..85fbe6b8f2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Canadian_Aboriginal` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001400, 0x00167F], + [0x0018B0, 0x0018F5] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Canadian_Aboriginal}+$/u, + matchSymbols, + "\\p{Script_Extensions=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cans}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cans}" +); +testPropertyEscapes( + /^\p{scx=Canadian_Aboriginal}+$/u, + matchSymbols, + "\\p{scx=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\p{scx=Cans}+$/u, + matchSymbols, + "\\p{scx=Cans}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0013FF], + [0x001680, 0x0018AF], + [0x0018F6, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Canadian_Aboriginal}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cans}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cans}" +); +testPropertyEscapes( + /^\P{scx=Canadian_Aboriginal}+$/u, + nonMatchSymbols, + "\\P{scx=Canadian_Aboriginal}" +); +testPropertyEscapes( + /^\P{scx=Cans}+$/u, + nonMatchSymbols, + "\\P{scx=Cans}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js new file mode 100644 index 0000000000..520d8c9f16 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Carian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0102A0, 0x0102D0] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Carian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Carian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cari}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cari}" +); +testPropertyEscapes( + /^\p{scx=Carian}+$/u, + matchSymbols, + "\\p{scx=Carian}" +); +testPropertyEscapes( + /^\p{scx=Cari}+$/u, + matchSymbols, + "\\p{scx=Cari}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01029F], + [0x0102D1, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Carian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Carian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cari}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cari}" +); +testPropertyEscapes( + /^\P{scx=Carian}+$/u, + nonMatchSymbols, + "\\P{scx=Carian}" +); +testPropertyEscapes( + /^\P{scx=Cari}+$/u, + nonMatchSymbols, + "\\P{scx=Cari}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js new file mode 100644 index 0000000000..8f7c9632e5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Caucasian_Albanian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01056F + ], + ranges: [ + [0x010530, 0x010563] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Caucasian_Albanian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Aghb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Aghb}" +); +testPropertyEscapes( + /^\p{scx=Caucasian_Albanian}+$/u, + matchSymbols, + "\\p{scx=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\p{scx=Aghb}+$/u, + matchSymbols, + "\\p{scx=Aghb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01052F], + [0x010564, 0x01056E], + [0x010570, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Caucasian_Albanian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Aghb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Aghb}" +); +testPropertyEscapes( + /^\P{scx=Caucasian_Albanian}+$/u, + nonMatchSymbols, + "\\P{scx=Caucasian_Albanian}" +); +testPropertyEscapes( + /^\P{scx=Aghb}+$/u, + nonMatchSymbols, + "\\P{scx=Aghb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chakma.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chakma.js new file mode 100644 index 0000000000..8b6f09c410 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chakma.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Chakma` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0009E6, 0x0009EF], + [0x001040, 0x001049], + [0x011100, 0x011134], + [0x011136, 0x011147] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Chakma}+$/u, + matchSymbols, + "\\p{Script_Extensions=Chakma}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cakm}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cakm}" +); +testPropertyEscapes( + /^\p{scx=Chakma}+$/u, + matchSymbols, + "\\p{scx=Chakma}" +); +testPropertyEscapes( + /^\p{scx=Cakm}+$/u, + matchSymbols, + "\\p{scx=Cakm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011135 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0009E5], + [0x0009F0, 0x00103F], + [0x00104A, 0x00DBFF], + [0x00E000, 0x0110FF], + [0x011148, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Chakma}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Chakma}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cakm}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cakm}" +); +testPropertyEscapes( + /^\P{scx=Chakma}+$/u, + nonMatchSymbols, + "\\P{scx=Chakma}" +); +testPropertyEscapes( + /^\P{scx=Cakm}+$/u, + nonMatchSymbols, + "\\P{scx=Cakm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cham.js new file mode 100644 index 0000000000..ea1c3c171c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cham.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Cham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA5C, 0x00AA5F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Cham}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cham}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cham}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cham}" +); +testPropertyEscapes( + /^\p{scx=Cham}+$/u, + matchSymbols, + "\\p{scx=Cham}" +); +testPropertyEscapes( + /^\p{scx=Cham}+$/u, + matchSymbols, + "\\p{scx=Cham}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A9FF], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5B], + [0x00AA60, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Cham}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cham}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cham}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cham}" +); +testPropertyEscapes( + /^\P{scx=Cham}+$/u, + nonMatchSymbols, + "\\P{scx=Cham}" +); +testPropertyEscapes( + /^\P{scx=Cham}+$/u, + nonMatchSymbols, + "\\P{scx=Cham}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js new file mode 100644 index 0000000000..484d87bd04 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Cherokee` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x00AB70, 0x00ABBF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Cherokee}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cherokee}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cher}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cher}" +); +testPropertyEscapes( + /^\p{scx=Cherokee}+$/u, + matchSymbols, + "\\p{scx=Cherokee}" +); +testPropertyEscapes( + /^\p{scx=Cher}+$/u, + matchSymbols, + "\\p{scx=Cher}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x00AB6F], + [0x00ABC0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Cherokee}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cherokee}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cher}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cher}" +); +testPropertyEscapes( + /^\P{scx=Cherokee}+$/u, + nonMatchSymbols, + "\\P{scx=Cherokee}" +); +testPropertyEscapes( + /^\P{scx=Cher}+$/u, + nonMatchSymbols, + "\\P{scx=Cher}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chorasmian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chorasmian.js new file mode 100644 index 0000000000..ad66cc3d5f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chorasmian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Chorasmian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010FB0, 0x010FCB] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Chorasmian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Chorasmian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Chrs}+$/u, + matchSymbols, + "\\p{Script_Extensions=Chrs}" +); +testPropertyEscapes( + /^\p{scx=Chorasmian}+$/u, + matchSymbols, + "\\p{scx=Chorasmian}" +); +testPropertyEscapes( + /^\p{scx=Chrs}+$/u, + matchSymbols, + "\\p{scx=Chrs}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010FAF], + [0x010FCC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Chorasmian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Chorasmian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Chrs}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Chrs}" +); +testPropertyEscapes( + /^\P{scx=Chorasmian}+$/u, + nonMatchSymbols, + "\\P{scx=Chorasmian}" +); +testPropertyEscapes( + /^\P{scx=Chrs}+$/u, + nonMatchSymbols, + "\\P{scx=Chrs}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js new file mode 100644 index 0000000000..63854ab63b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js @@ -0,0 +1,368 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Common` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x000374, + 0x00037E, + 0x000385, + 0x000387, + 0x000605, + 0x0006DD, + 0x0008E2, + 0x000E3F, + 0x003000, + 0x003004, + 0x003012, + 0x003020, + 0x003036, + 0x00327F, + 0x0033FF, + 0x00AB5B, + 0x00FEFF, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x0E0001 + ], + ranges: [ + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002B9, 0x0002DF], + [0x0002E5, 0x0002E9], + [0x0002EC, 0x0002FF], + [0x000FD5, 0x000FD8], + [0x0016EB, 0x0016ED], + [0x002000, 0x00200B], + [0x00200E, 0x00202E], + [0x002030, 0x002064], + [0x002066, 0x002070], + [0x002074, 0x00207E], + [0x002080, 0x00208E], + [0x0020A0, 0x0020BF], + [0x002100, 0x002125], + [0x002127, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x00218B], + [0x002190, 0x002426], + [0x002440, 0x00244A], + [0x002460, 0x0027FF], + [0x002900, 0x002B73], + [0x002B76, 0x002B95], + [0x002B97, 0x002BFF], + [0x002E00, 0x002E42], + [0x002E44, 0x002E52], + [0x002FF0, 0x002FFB], + [0x003248, 0x00325F], + [0x0032B1, 0x0032BF], + [0x0032CC, 0x0032CF], + [0x003371, 0x00337A], + [0x003380, 0x0033DF], + [0x004DC0, 0x004DFF], + [0x00A708, 0x00A721], + [0x00A788, 0x00A78A], + [0x00AB6A, 0x00AB6B], + [0x00FD3E, 0x00FD3F], + [0x00FE10, 0x00FE19], + [0x00FE30, 0x00FE44], + [0x00FE47, 0x00FE52], + [0x00FE54, 0x00FE66], + [0x00FE68, 0x00FE6B], + [0x00FF01, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x00FF60], + [0x00FFE0, 0x00FFE6], + [0x00FFE8, 0x00FFEE], + [0x00FFF9, 0x00FFFD], + [0x010190, 0x01019C], + [0x0101D0, 0x0101FC], + [0x016FE2, 0x016FE3], + [0x01D000, 0x01D0F5], + [0x01D100, 0x01D126], + [0x01D129, 0x01D166], + [0x01D16A, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D1E8], + [0x01D2E0, 0x01D2F3], + [0x01D300, 0x01D356], + [0x01D372, 0x01D378], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D7CB], + [0x01D7CE, 0x01D7FF], + [0x01EC71, 0x01ECB4], + [0x01ED01, 0x01ED3D], + [0x01F000, 0x01F02B], + [0x01F030, 0x01F093], + [0x01F0A0, 0x01F0AE], + [0x01F0B1, 0x01F0BF], + [0x01F0C1, 0x01F0CF], + [0x01F0D1, 0x01F0F5], + [0x01F100, 0x01F1AD], + [0x01F1E6, 0x01F1FF], + [0x01F201, 0x01F202], + [0x01F210, 0x01F23B], + [0x01F240, 0x01F248], + [0x01F260, 0x01F265], + [0x01F300, 0x01F6D7], + [0x01F6E0, 0x01F6EC], + [0x01F6F0, 0x01F6FC], + [0x01F700, 0x01F773], + [0x01F780, 0x01F7D8], + [0x01F7E0, 0x01F7EB], + [0x01F800, 0x01F80B], + [0x01F810, 0x01F847], + [0x01F850, 0x01F859], + [0x01F860, 0x01F887], + [0x01F890, 0x01F8AD], + [0x01F8B0, 0x01F8B1], + [0x01F900, 0x01F978], + [0x01F97A, 0x01F9CB], + [0x01F9CD, 0x01FA53], + [0x01FA60, 0x01FA6D], + [0x01FA70, 0x01FA74], + [0x01FA78, 0x01FA7A], + [0x01FA80, 0x01FA86], + [0x01FA90, 0x01FAA8], + [0x01FAB0, 0x01FAB6], + [0x01FAC0, 0x01FAC2], + [0x01FAD0, 0x01FAD6], + [0x01FB00, 0x01FB92], + [0x01FB94, 0x01FBCA], + [0x01FBF0, 0x01FBF9], + [0x0E0020, 0x0E007F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Common}+$/u, + matchSymbols, + "\\p{Script_Extensions=Common}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Zyyy}+$/u, + matchSymbols, + "\\p{Script_Extensions=Zyyy}" +); +testPropertyEscapes( + /^\p{scx=Common}+$/u, + matchSymbols, + "\\p{scx=Common}" +); +testPropertyEscapes( + /^\p{scx=Zyyy}+$/u, + matchSymbols, + "\\p{scx=Zyyy}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000BA, + 0x000386, + 0x00202F, + 0x002065, + 0x00207F, + 0x002126, + 0x002132, + 0x00214E, + 0x002B96, + 0x002E43, + 0x00FE53, + 0x00FE67, + 0x00FF00, + 0x00FFE7, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01F0C0, + 0x01F0D0, + 0x01F200, + 0x01F979, + 0x01F9CC, + 0x01FB93 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002B8], + [0x0002E0, 0x0002E4], + [0x0002EA, 0x0002EB], + [0x000300, 0x000373], + [0x000375, 0x00037D], + [0x00037F, 0x000384], + [0x000388, 0x000604], + [0x000606, 0x0006DC], + [0x0006DE, 0x0008E1], + [0x0008E3, 0x000E3E], + [0x000E40, 0x000FD4], + [0x000FD9, 0x0016EA], + [0x0016EE, 0x001FFF], + [0x00200C, 0x00200D], + [0x002071, 0x002073], + [0x00208F, 0x00209F], + [0x0020C0, 0x0020FF], + [0x00212A, 0x00212B], + [0x002160, 0x002188], + [0x00218C, 0x00218F], + [0x002427, 0x00243F], + [0x00244B, 0x00245F], + [0x002800, 0x0028FF], + [0x002B74, 0x002B75], + [0x002C00, 0x002DFF], + [0x002E53, 0x002FEF], + [0x002FFC, 0x002FFF], + [0x003001, 0x003003], + [0x003005, 0x003011], + [0x003013, 0x00301F], + [0x003021, 0x003035], + [0x003037, 0x003247], + [0x003260, 0x00327E], + [0x003280, 0x0032B0], + [0x0032C0, 0x0032CB], + [0x0032D0, 0x003370], + [0x00337B, 0x00337F], + [0x0033E0, 0x0033FE], + [0x003400, 0x004DBF], + [0x004E00, 0x00A707], + [0x00A722, 0x00A787], + [0x00A78B, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB6C, 0x00DBFF], + [0x00E000, 0x00FD3D], + [0x00FD40, 0x00FE0F], + [0x00FE1A, 0x00FE2F], + [0x00FE45, 0x00FE46], + [0x00FE6C, 0x00FEFE], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF61, 0x00FFDF], + [0x00FFEF, 0x00FFF8], + [0x00FFFE, 0x01018F], + [0x01019D, 0x0101CF], + [0x0101FD, 0x016FE1], + [0x016FE4, 0x01CFFF], + [0x01D0F6, 0x01D0FF], + [0x01D127, 0x01D128], + [0x01D167, 0x01D169], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D1E9, 0x01D2DF], + [0x01D2F4, 0x01D2FF], + [0x01D357, 0x01D371], + [0x01D379, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01D800, 0x01EC70], + [0x01ECB5, 0x01ED00], + [0x01ED3E, 0x01EFFF], + [0x01F02C, 0x01F02F], + [0x01F094, 0x01F09F], + [0x01F0AF, 0x01F0B0], + [0x01F0F6, 0x01F0FF], + [0x01F1AE, 0x01F1E5], + [0x01F203, 0x01F20F], + [0x01F23C, 0x01F23F], + [0x01F249, 0x01F25F], + [0x01F266, 0x01F2FF], + [0x01F6D8, 0x01F6DF], + [0x01F6ED, 0x01F6EF], + [0x01F6FD, 0x01F6FF], + [0x01F774, 0x01F77F], + [0x01F7D9, 0x01F7DF], + [0x01F7EC, 0x01F7FF], + [0x01F80C, 0x01F80F], + [0x01F848, 0x01F84F], + [0x01F85A, 0x01F85F], + [0x01F888, 0x01F88F], + [0x01F8AE, 0x01F8AF], + [0x01F8B2, 0x01F8FF], + [0x01FA54, 0x01FA5F], + [0x01FA6E, 0x01FA6F], + [0x01FA75, 0x01FA77], + [0x01FA7B, 0x01FA7F], + [0x01FA87, 0x01FA8F], + [0x01FAA9, 0x01FAAF], + [0x01FAB7, 0x01FABF], + [0x01FAC3, 0x01FACF], + [0x01FAD7, 0x01FAFF], + [0x01FBCB, 0x01FBEF], + [0x01FBFA, 0x0E0000], + [0x0E0002, 0x0E001F], + [0x0E0080, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Common}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Common}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Zyyy}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Zyyy}" +); +testPropertyEscapes( + /^\P{scx=Common}+$/u, + nonMatchSymbols, + "\\P{scx=Common}" +); +testPropertyEscapes( + /^\P{scx=Zyyy}+$/u, + nonMatchSymbols, + "\\P{scx=Zyyy}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js new file mode 100644 index 0000000000..bd125561f4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js @@ -0,0 +1,99 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Coptic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0003E2, 0x0003EF], + [0x002C80, 0x002CF3], + [0x002CF9, 0x002CFF], + [0x0102E0, 0x0102FB] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Coptic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Coptic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Copt}+$/u, + matchSymbols, + "\\p{Script_Extensions=Copt}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Qaac}+$/u, + matchSymbols, + "\\p{Script_Extensions=Qaac}" +); +testPropertyEscapes( + /^\p{scx=Coptic}+$/u, + matchSymbols, + "\\p{scx=Coptic}" +); +testPropertyEscapes( + /^\p{scx=Copt}+$/u, + matchSymbols, + "\\p{scx=Copt}" +); +testPropertyEscapes( + /^\p{scx=Qaac}+$/u, + matchSymbols, + "\\p{scx=Qaac}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0003E1], + [0x0003F0, 0x002C7F], + [0x002CF4, 0x002CF8], + [0x002D00, 0x00DBFF], + [0x00E000, 0x0102DF], + [0x0102FC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Coptic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Coptic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Copt}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Copt}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Qaac}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Qaac}" +); +testPropertyEscapes( + /^\P{scx=Coptic}+$/u, + nonMatchSymbols, + "\\P{scx=Coptic}" +); +testPropertyEscapes( + /^\P{scx=Copt}+$/u, + nonMatchSymbols, + "\\P{scx=Copt}" +); +testPropertyEscapes( + /^\P{scx=Qaac}+$/u, + nonMatchSymbols, + "\\P{scx=Qaac}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cuneiform.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cuneiform.js new file mode 100644 index 0000000000..1f9b1d7c5f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cuneiform.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Cuneiform` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012470, 0x012474], + [0x012480, 0x012543] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Cuneiform}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cuneiform}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Xsux}+$/u, + matchSymbols, + "\\p{Script_Extensions=Xsux}" +); +testPropertyEscapes( + /^\p{scx=Cuneiform}+$/u, + matchSymbols, + "\\p{scx=Cuneiform}" +); +testPropertyEscapes( + /^\p{scx=Xsux}+$/u, + matchSymbols, + "\\p{scx=Xsux}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01246F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011FFF], + [0x01239A, 0x0123FF], + [0x012475, 0x01247F], + [0x012544, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Cuneiform}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cuneiform}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Xsux}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Xsux}" +); +testPropertyEscapes( + /^\P{scx=Cuneiform}+$/u, + nonMatchSymbols, + "\\P{scx=Cuneiform}" +); +testPropertyEscapes( + /^\P{scx=Xsux}+$/u, + nonMatchSymbols, + "\\P{scx=Xsux}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypriot.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypriot.js new file mode 100644 index 0000000000..a03f80971e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypriot.js @@ -0,0 +1,91 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Cypriot` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x010808, + 0x01083C, + 0x01083F + ], + ranges: [ + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01013F], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Cypriot}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cypriot}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cprt}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cprt}" +); +testPropertyEscapes( + /^\p{scx=Cypriot}+$/u, + matchSymbols, + "\\p{scx=Cypriot}" +); +testPropertyEscapes( + /^\p{scx=Cprt}+$/u, + matchSymbols, + "\\p{scx=Cprt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010809, + 0x010836 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x010140, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010840, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Cypriot}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cypriot}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cprt}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cprt}" +); +testPropertyEscapes( + /^\P{scx=Cypriot}+$/u, + nonMatchSymbols, + "\\P{scx=Cypriot}" +); +testPropertyEscapes( + /^\P{scx=Cprt}+$/u, + nonMatchSymbols, + "\\P{scx=Cprt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js new file mode 100644 index 0000000000..9f7612e613 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js @@ -0,0 +1,90 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Cyrillic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001D2B, + 0x001D78, + 0x001DF8, + 0x002E43 + ], + ranges: [ + [0x000400, 0x00052F], + [0x001C80, 0x001C88], + [0x002DE0, 0x002DFF], + [0x00A640, 0x00A69F], + [0x00FE2E, 0x00FE2F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Cyrillic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cyrillic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Cyrl}+$/u, + matchSymbols, + "\\p{Script_Extensions=Cyrl}" +); +testPropertyEscapes( + /^\p{scx=Cyrillic}+$/u, + matchSymbols, + "\\p{scx=Cyrillic}" +); +testPropertyEscapes( + /^\p{scx=Cyrl}+$/u, + matchSymbols, + "\\p{scx=Cyrl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0003FF], + [0x000530, 0x001C7F], + [0x001C89, 0x001D2A], + [0x001D2C, 0x001D77], + [0x001D79, 0x001DF7], + [0x001DF9, 0x002DDF], + [0x002E00, 0x002E42], + [0x002E44, 0x00A63F], + [0x00A6A0, 0x00DBFF], + [0x00E000, 0x00FE2D], + [0x00FE30, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Cyrillic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cyrillic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Cyrl}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Cyrl}" +); +testPropertyEscapes( + /^\P{scx=Cyrillic}+$/u, + nonMatchSymbols, + "\\P{scx=Cyrillic}" +); +testPropertyEscapes( + /^\P{scx=Cyrl}+$/u, + nonMatchSymbols, + "\\P{scx=Cyrl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Deseret.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Deseret.js new file mode 100644 index 0000000000..35fa22e513 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Deseret.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Deseret` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010400, 0x01044F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Deseret}+$/u, + matchSymbols, + "\\p{Script_Extensions=Deseret}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Dsrt}+$/u, + matchSymbols, + "\\p{Script_Extensions=Dsrt}" +); +testPropertyEscapes( + /^\p{scx=Deseret}+$/u, + matchSymbols, + "\\p{scx=Deseret}" +); +testPropertyEscapes( + /^\p{scx=Dsrt}+$/u, + matchSymbols, + "\\p{scx=Dsrt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0103FF], + [0x010450, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Deseret}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Deseret}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Dsrt}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Dsrt}" +); +testPropertyEscapes( + /^\P{scx=Deseret}+$/u, + nonMatchSymbols, + "\\P{scx=Deseret}" +); +testPropertyEscapes( + /^\P{scx=Dsrt}+$/u, + nonMatchSymbols, + "\\P{scx=Dsrt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js new file mode 100644 index 0000000000..c0241a4092 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js @@ -0,0 +1,87 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Devanagari` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0020F0 + ], + ranges: [ + [0x000900, 0x000952], + [0x000955, 0x00097F], + [0x001CD0, 0x001CF6], + [0x001CF8, 0x001CF9], + [0x00A830, 0x00A839], + [0x00A8E0, 0x00A8FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Devanagari}+$/u, + matchSymbols, + "\\p{Script_Extensions=Devanagari}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Deva}+$/u, + matchSymbols, + "\\p{Script_Extensions=Deva}" +); +testPropertyEscapes( + /^\p{scx=Devanagari}+$/u, + matchSymbols, + "\\p{scx=Devanagari}" +); +testPropertyEscapes( + /^\p{scx=Deva}+$/u, + matchSymbols, + "\\p{scx=Deva}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001CF7 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0008FF], + [0x000953, 0x000954], + [0x000980, 0x001CCF], + [0x001CFA, 0x0020EF], + [0x0020F1, 0x00A82F], + [0x00A83A, 0x00A8DF], + [0x00A900, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Devanagari}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Devanagari}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Deva}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Deva}" +); +testPropertyEscapes( + /^\P{scx=Devanagari}+$/u, + nonMatchSymbols, + "\\P{scx=Devanagari}" +); +testPropertyEscapes( + /^\P{scx=Deva}+$/u, + nonMatchSymbols, + "\\P{scx=Deva}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dives_Akuru.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dives_Akuru.js new file mode 100644 index 0000000000..19968d05e0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dives_Akuru.js @@ -0,0 +1,89 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Dives_Akuru` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011909 + ], + ranges: [ + [0x011900, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011946], + [0x011950, 0x011959] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Dives_Akuru}+$/u, + matchSymbols, + "\\p{Script_Extensions=Dives_Akuru}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Diak}+$/u, + matchSymbols, + "\\p{Script_Extensions=Diak}" +); +testPropertyEscapes( + /^\p{scx=Dives_Akuru}+$/u, + matchSymbols, + "\\p{scx=Dives_Akuru}" +); +testPropertyEscapes( + /^\p{scx=Diak}+$/u, + matchSymbols, + "\\p{scx=Diak}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011914, + 0x011917, + 0x011936 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0118FF], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011947, 0x01194F], + [0x01195A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Dives_Akuru}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Dives_Akuru}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Diak}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Diak}" +); +testPropertyEscapes( + /^\P{scx=Dives_Akuru}+$/u, + nonMatchSymbols, + "\\P{scx=Dives_Akuru}" +); +testPropertyEscapes( + /^\P{scx=Diak}+$/u, + nonMatchSymbols, + "\\P{scx=Diak}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dogra.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dogra.js new file mode 100644 index 0000000000..8f78f9d9a6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dogra.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Dogra` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000964, 0x00096F], + [0x00A830, 0x00A839], + [0x011800, 0x01183B] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Dogra}+$/u, + matchSymbols, + "\\p{Script_Extensions=Dogra}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Dogr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Dogr}" +); +testPropertyEscapes( + /^\p{scx=Dogra}+$/u, + matchSymbols, + "\\p{scx=Dogra}" +); +testPropertyEscapes( + /^\p{scx=Dogr}+$/u, + matchSymbols, + "\\p{scx=Dogr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000970, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x0117FF], + [0x01183C, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Dogra}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Dogra}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Dogr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Dogr}" +); +testPropertyEscapes( + /^\P{scx=Dogra}+$/u, + nonMatchSymbols, + "\\P{scx=Dogra}" +); +testPropertyEscapes( + /^\P{scx=Dogr}+$/u, + nonMatchSymbols, + "\\P{scx=Dogr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js new file mode 100644 index 0000000000..95ff12c35e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js @@ -0,0 +1,81 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Duployan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9C, 0x01BCA3] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Duployan}+$/u, + matchSymbols, + "\\p{Script_Extensions=Duployan}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Dupl}+$/u, + matchSymbols, + "\\p{Script_Extensions=Dupl}" +); +testPropertyEscapes( + /^\p{scx=Duployan}+$/u, + matchSymbols, + "\\p{scx=Duployan}" +); +testPropertyEscapes( + /^\p{scx=Dupl}+$/u, + matchSymbols, + "\\p{scx=Dupl}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9B], + [0x01BCA4, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Duployan}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Duployan}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Dupl}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Dupl}" +); +testPropertyEscapes( + /^\P{scx=Duployan}+$/u, + nonMatchSymbols, + "\\P{scx=Duployan}" +); +testPropertyEscapes( + /^\P{scx=Dupl}+$/u, + nonMatchSymbols, + "\\P{scx=Dupl}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js new file mode 100644 index 0000000000..b9e30afa7e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Egyptian_Hieroglyphs` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x013000, 0x01342E], + [0x013430, 0x013438] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Egyptian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{Script_Extensions=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Egyp}+$/u, + matchSymbols, + "\\p{Script_Extensions=Egyp}" +); +testPropertyEscapes( + /^\p{scx=Egyptian_Hieroglyphs}+$/u, + matchSymbols, + "\\p{scx=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{scx=Egyp}+$/u, + matchSymbols, + "\\p{scx=Egyp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01342F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x012FFF], + [0x013439, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Egyptian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Egyp}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Egyp}" +); +testPropertyEscapes( + /^\P{scx=Egyptian_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{scx=Egyptian_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{scx=Egyp}+$/u, + nonMatchSymbols, + "\\P{scx=Egyp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js new file mode 100644 index 0000000000..449c7e7a40 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Elbasan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010500, 0x010527] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Elbasan}+$/u, + matchSymbols, + "\\p{Script_Extensions=Elbasan}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Elba}+$/u, + matchSymbols, + "\\p{Script_Extensions=Elba}" +); +testPropertyEscapes( + /^\p{scx=Elbasan}+$/u, + matchSymbols, + "\\p{scx=Elbasan}" +); +testPropertyEscapes( + /^\p{scx=Elba}+$/u, + matchSymbols, + "\\p{scx=Elba}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0104FF], + [0x010528, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Elbasan}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Elbasan}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Elba}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Elba}" +); +testPropertyEscapes( + /^\P{scx=Elbasan}+$/u, + nonMatchSymbols, + "\\P{scx=Elbasan}" +); +testPropertyEscapes( + /^\P{scx=Elba}+$/u, + nonMatchSymbols, + "\\P{scx=Elba}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elymaic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elymaic.js new file mode 100644 index 0000000000..dd6f5390ca --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elymaic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Elymaic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010FE0, 0x010FF6] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Elymaic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Elymaic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Elym}+$/u, + matchSymbols, + "\\p{Script_Extensions=Elym}" +); +testPropertyEscapes( + /^\p{scx=Elymaic}+$/u, + matchSymbols, + "\\p{scx=Elymaic}" +); +testPropertyEscapes( + /^\p{scx=Elym}+$/u, + matchSymbols, + "\\p{scx=Elym}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010FDF], + [0x010FF7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Elymaic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Elymaic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Elym}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Elym}" +); +testPropertyEscapes( + /^\P{scx=Elymaic}+$/u, + nonMatchSymbols, + "\\P{scx=Elymaic}" +); +testPropertyEscapes( + /^\P{scx=Elym}+$/u, + nonMatchSymbols, + "\\P{scx=Elym}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js new file mode 100644 index 0000000000..8398b47c36 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js @@ -0,0 +1,137 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Ethiopic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001258, + 0x0012C0 + ], + ranges: [ + [0x001200, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00137C], + [0x001380, 0x001399], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Ethiopic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ethiopic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Ethi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ethi}" +); +testPropertyEscapes( + /^\p{scx=Ethiopic}+$/u, + matchSymbols, + "\\p{scx=Ethiopic}" +); +testPropertyEscapes( + /^\p{scx=Ethi}+$/u, + matchSymbols, + "\\p{scx=Ethi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x00AB27 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0011FF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x00137D, 0x00137F], + [0x00139A, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB2F, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Ethiopic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ethiopic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Ethi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ethi}" +); +testPropertyEscapes( + /^\P{scx=Ethiopic}+$/u, + nonMatchSymbols, + "\\P{scx=Ethiopic}" +); +testPropertyEscapes( + /^\P{scx=Ethi}+$/u, + nonMatchSymbols, + "\\P{scx=Ethi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js new file mode 100644 index 0000000000..077bc0c04c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js @@ -0,0 +1,91 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Georgian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0010C7, + 0x0010CD, + 0x002D27, + 0x002D2D + ], + ranges: [ + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FF], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x002D00, 0x002D25] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Georgian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Georgian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Geor}+$/u, + matchSymbols, + "\\p{Script_Extensions=Geor}" +); +testPropertyEscapes( + /^\p{scx=Georgian}+$/u, + matchSymbols, + "\\p{scx=Georgian}" +); +testPropertyEscapes( + /^\p{scx=Geor}+$/u, + matchSymbols, + "\\p{scx=Geor}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0010C6, + 0x002D26 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x001100, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Georgian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Georgian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Geor}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Geor}" +); +testPropertyEscapes( + /^\P{scx=Georgian}+$/u, + nonMatchSymbols, + "\\P{scx=Georgian}" +); +testPropertyEscapes( + /^\P{scx=Geor}+$/u, + nonMatchSymbols, + "\\P{scx=Geor}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js new file mode 100644 index 0000000000..3fbe3bab34 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js @@ -0,0 +1,95 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Glagolitic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000484, + 0x000487, + 0x002E43, + 0x00A66F + ], + ranges: [ + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Glagolitic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Glagolitic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Glag}+$/u, + matchSymbols, + "\\p{Script_Extensions=Glag}" +); +testPropertyEscapes( + /^\p{scx=Glagolitic}+$/u, + matchSymbols, + "\\p{scx=Glagolitic}" +); +testPropertyEscapes( + /^\p{scx=Glag}+$/u, + matchSymbols, + "\\p{scx=Glag}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002C2F, + 0x01E007, + 0x01E022, + 0x01E025 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000483], + [0x000485, 0x000486], + [0x000488, 0x002BFF], + [0x002C5F, 0x002E42], + [0x002E44, 0x00A66E], + [0x00A670, 0x00DBFF], + [0x00E000, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Glagolitic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Glagolitic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Glag}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Glag}" +); +testPropertyEscapes( + /^\P{scx=Glagolitic}+$/u, + nonMatchSymbols, + "\\P{scx=Glagolitic}" +); +testPropertyEscapes( + /^\P{scx=Glag}+$/u, + nonMatchSymbols, + "\\P{scx=Glag}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js new file mode 100644 index 0000000000..cea4b18b13 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Gothic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010330, 0x01034A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Gothic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gothic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Goth}+$/u, + matchSymbols, + "\\p{Script_Extensions=Goth}" +); +testPropertyEscapes( + /^\p{scx=Gothic}+$/u, + matchSymbols, + "\\p{scx=Gothic}" +); +testPropertyEscapes( + /^\p{scx=Goth}+$/u, + matchSymbols, + "\\p{scx=Goth}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01032F], + [0x01034B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Gothic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gothic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Goth}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Goth}" +); +testPropertyEscapes( + /^\P{scx=Gothic}+$/u, + nonMatchSymbols, + "\\P{scx=Gothic}" +); +testPropertyEscapes( + /^\P{scx=Goth}+$/u, + nonMatchSymbols, + "\\P{scx=Goth}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Grantha.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Grantha.js new file mode 100644 index 0000000000..79e55a0cbe --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Grantha.js @@ -0,0 +1,123 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Grantha` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001CD0, + 0x0020F0, + 0x011350, + 0x011357, + 0x011FD3 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000BE6, 0x000BF3], + [0x001CD2, 0x001CD3], + [0x001CF2, 0x001CF4], + [0x001CF8, 0x001CF9], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133B, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011FD0, 0x011FD1] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Grantha}+$/u, + matchSymbols, + "\\p{Script_Extensions=Grantha}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Gran}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gran}" +); +testPropertyEscapes( + /^\p{scx=Grantha}+$/u, + matchSymbols, + "\\p{scx=Grantha}" +); +testPropertyEscapes( + /^\p{scx=Gran}+$/u, + matchSymbols, + "\\p{scx=Gran}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001CD1, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133A, + 0x011FD2 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000BE5], + [0x000BF4, 0x001CCF], + [0x001CD4, 0x001CF1], + [0x001CF5, 0x001CF7], + [0x001CFA, 0x0020EF], + [0x0020F1, 0x00DBFF], + [0x00E000, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x011FCF], + [0x011FD4, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Grantha}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Grantha}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Gran}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gran}" +); +testPropertyEscapes( + /^\P{scx=Grantha}+$/u, + nonMatchSymbols, + "\\P{scx=Grantha}" +); +testPropertyEscapes( + /^\P{scx=Gran}+$/u, + nonMatchSymbols, + "\\P{scx=Gran}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js new file mode 100644 index 0000000000..8ff0406bc1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js @@ -0,0 +1,149 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Greek` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000342, + 0x000345, + 0x00037F, + 0x000384, + 0x000386, + 0x00038C, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x002126, + 0x00AB65, + 0x0101A0 + ], + ranges: [ + [0x000370, 0x000373], + [0x000375, 0x000377], + [0x00037A, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003E1], + [0x0003F0, 0x0003FF], + [0x001D26, 0x001D2A], + [0x001D5D, 0x001D61], + [0x001D66, 0x001D6A], + [0x001DBF, 0x001DC1], + [0x001F00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FC4], + [0x001FC6, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FDD, 0x001FEF], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFE], + [0x010140, 0x01018E], + [0x01D200, 0x01D245] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Greek}+$/u, + matchSymbols, + "\\p{Script_Extensions=Greek}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Grek}+$/u, + matchSymbols, + "\\p{Script_Extensions=Grek}" +); +testPropertyEscapes( + /^\p{scx=Greek}+$/u, + matchSymbols, + "\\p{scx=Greek}" +); +testPropertyEscapes( + /^\p{scx=Grek}+$/u, + matchSymbols, + "\\p{scx=Grek}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000374, + 0x00037E, + 0x000385, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FC5, + 0x001FDC, + 0x001FF5 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000341], + [0x000343, 0x000344], + [0x000346, 0x00036F], + [0x000378, 0x000379], + [0x000380, 0x000383], + [0x0003E2, 0x0003EF], + [0x000400, 0x001D25], + [0x001D2B, 0x001D5C], + [0x001D62, 0x001D65], + [0x001D6B, 0x001DBE], + [0x001DC2, 0x001EFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FD4, 0x001FD5], + [0x001FF0, 0x001FF1], + [0x001FFF, 0x002125], + [0x002127, 0x00AB64], + [0x00AB66, 0x00DBFF], + [0x00E000, 0x01013F], + [0x01018F, 0x01019F], + [0x0101A1, 0x01D1FF], + [0x01D246, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Greek}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Greek}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Grek}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Grek}" +); +testPropertyEscapes( + /^\P{scx=Greek}+$/u, + nonMatchSymbols, + "\\P{scx=Greek}" +); +testPropertyEscapes( + /^\P{scx=Grek}+$/u, + nonMatchSymbols, + "\\P{scx=Grek}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gujarati.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gujarati.js new file mode 100644 index 0000000000..6e3f99d9c8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gujarati.js @@ -0,0 +1,107 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Gujarati` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000AD0 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AF1], + [0x000AF9, 0x000AFF], + [0x00A830, 0x00A839] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Gujarati}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gujarati}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Gujr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gujr}" +); +testPropertyEscapes( + /^\p{scx=Gujarati}+$/u, + matchSymbols, + "\\p{scx=Gujarati}" +); +testPropertyEscapes( + /^\p{scx=Gujr}+$/u, + matchSymbols, + "\\p{scx=Gujr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF2, 0x000AF8], + [0x000B00, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Gujarati}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gujarati}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Gujr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gujr}" +); +testPropertyEscapes( + /^\P{scx=Gujarati}+$/u, + nonMatchSymbols, + "\\P{scx=Gujarati}" +); +testPropertyEscapes( + /^\P{scx=Gujr}+$/u, + nonMatchSymbols, + "\\P{scx=Gujr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js new file mode 100644 index 0000000000..2ed0acb154 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Gunjala_Gondi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000964, 0x000965], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Gunjala_Gondi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Gong}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gong}" +); +testPropertyEscapes( + /^\p{scx=Gunjala_Gondi}+$/u, + matchSymbols, + "\\p{scx=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\p{scx=Gong}+$/u, + matchSymbols, + "\\p{scx=Gong}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x00DBFF], + [0x00E000, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Gunjala_Gondi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Gong}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gong}" +); +testPropertyEscapes( + /^\P{scx=Gunjala_Gondi}+$/u, + nonMatchSymbols, + "\\P{scx=Gunjala_Gondi}" +); +testPropertyEscapes( + /^\P{scx=Gong}+$/u, + nonMatchSymbols, + "\\P{scx=Gong}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gurmukhi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gurmukhi.js new file mode 100644 index 0000000000..ce7547b095 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gurmukhi.js @@ -0,0 +1,111 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Gurmukhi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000A3C, + 0x000A51, + 0x000A5E + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A76], + [0x00A830, 0x00A839] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Gurmukhi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gurmukhi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Guru}+$/u, + matchSymbols, + "\\p{Script_Extensions=Guru}" +); +testPropertyEscapes( + /^\p{scx=Gurmukhi}+$/u, + matchSymbols, + "\\p{scx=Gurmukhi}" +); +testPropertyEscapes( + /^\p{scx=Guru}+$/u, + matchSymbols, + "\\p{scx=Guru}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A77, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Gurmukhi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gurmukhi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Guru}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Guru}" +); +testPropertyEscapes( + /^\P{scx=Gurmukhi}+$/u, + nonMatchSymbols, + "\\P{scx=Gurmukhi}" +); +testPropertyEscapes( + /^\P{scx=Guru}+$/u, + nonMatchSymbols, + "\\P{scx=Guru}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js new file mode 100644 index 0000000000..5cc68a9b2c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js @@ -0,0 +1,145 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Han` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003030, + 0x0030FB, + 0x0032FF + ], + ranges: [ + [0x002E80, 0x002E99], + [0x002E9B, 0x002EF3], + [0x002F00, 0x002FD5], + [0x003001, 0x003003], + [0x003005, 0x003011], + [0x003013, 0x00301F], + [0x003021, 0x00302D], + [0x003037, 0x00303F], + [0x003190, 0x00319F], + [0x0031C0, 0x0031E3], + [0x003220, 0x003247], + [0x003280, 0x0032B0], + [0x0032C0, 0x0032CB], + [0x003358, 0x003370], + [0x00337B, 0x00337F], + [0x0033E0, 0x0033FE], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A700, 0x00A707], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FE45, 0x00FE46], + [0x00FF61, 0x00FF65], + [0x016FF0, 0x016FF1], + [0x01D360, 0x01D371], + [0x01F250, 0x01F251], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Han}+$/u, + matchSymbols, + "\\p{Script_Extensions=Han}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hani}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hani}" +); +testPropertyEscapes( + /^\p{scx=Han}+$/u, + matchSymbols, + "\\p{scx=Han}" +); +testPropertyEscapes( + /^\p{scx=Hani}+$/u, + matchSymbols, + "\\p{scx=Hani}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x002E9A, + 0x003004, + 0x003012, + 0x003020, + 0x0033FF + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002E7F], + [0x002EF4, 0x002EFF], + [0x002FD6, 0x003000], + [0x00302E, 0x00302F], + [0x003031, 0x003036], + [0x003040, 0x0030FA], + [0x0030FC, 0x00318F], + [0x0031A0, 0x0031BF], + [0x0031E4, 0x00321F], + [0x003248, 0x00327F], + [0x0032B1, 0x0032BF], + [0x0032CC, 0x0032FE], + [0x003300, 0x003357], + [0x003371, 0x00337A], + [0x003380, 0x0033DF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x00A6FF], + [0x00A708, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FE44], + [0x00FE47, 0x00FF60], + [0x00FF66, 0x016FEF], + [0x016FF2, 0x01D35F], + [0x01D372, 0x01F24F], + [0x01F252, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Han}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Han}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hani}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hani}" +); +testPropertyEscapes( + /^\P{scx=Han}+$/u, + nonMatchSymbols, + "\\P{scx=Han}" +); +testPropertyEscapes( + /^\P{scx=Hani}+$/u, + nonMatchSymbols, + "\\P{scx=Hani}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hangul.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hangul.js new file mode 100644 index 0000000000..b3365de3d4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hangul.js @@ -0,0 +1,115 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Hangul` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003037, + 0x0030FB + ], + ranges: [ + [0x001100, 0x0011FF], + [0x003001, 0x003003], + [0x003008, 0x003011], + [0x003013, 0x00301F], + [0x00302E, 0x003030], + [0x003131, 0x00318E], + [0x003200, 0x00321E], + [0x003260, 0x00327E], + [0x00A960, 0x00A97C], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00FE45, 0x00FE46], + [0x00FF61, 0x00FF65], + [0x00FFA0, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Hangul}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hangul}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hang}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hang}" +); +testPropertyEscapes( + /^\p{scx=Hangul}+$/u, + matchSymbols, + "\\p{scx=Hangul}" +); +testPropertyEscapes( + /^\p{scx=Hang}+$/u, + matchSymbols, + "\\p{scx=Hang}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x003012 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0010FF], + [0x001200, 0x003000], + [0x003004, 0x003007], + [0x003020, 0x00302D], + [0x003031, 0x003036], + [0x003038, 0x0030FA], + [0x0030FC, 0x003130], + [0x00318F, 0x0031FF], + [0x00321F, 0x00325F], + [0x00327F, 0x00A95F], + [0x00A97D, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00FE44], + [0x00FE47, 0x00FF60], + [0x00FF66, 0x00FF9F], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Hangul}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hangul}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hang}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hang}" +); +testPropertyEscapes( + /^\P{scx=Hangul}+$/u, + nonMatchSymbols, + "\\P{scx=Hangul}" +); +testPropertyEscapes( + /^\P{scx=Hang}+$/u, + nonMatchSymbols, + "\\P{scx=Hang}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanifi_Rohingya.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanifi_Rohingya.js new file mode 100644 index 0000000000..0afa9c3c0c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanifi_Rohingya.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Hanifi_Rohingya` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00060C, + 0x00061B, + 0x00061F, + 0x000640, + 0x0006D4 + ], + ranges: [ + [0x010D00, 0x010D27], + [0x010D30, 0x010D39] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Hanifi_Rohingya}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Rohg}+$/u, + matchSymbols, + "\\p{Script_Extensions=Rohg}" +); +testPropertyEscapes( + /^\p{scx=Hanifi_Rohingya}+$/u, + matchSymbols, + "\\p{scx=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\p{scx=Rohg}+$/u, + matchSymbols, + "\\p{scx=Rohg}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00060B], + [0x00060D, 0x00061A], + [0x00061C, 0x00061E], + [0x000620, 0x00063F], + [0x000641, 0x0006D3], + [0x0006D5, 0x00DBFF], + [0x00E000, 0x010CFF], + [0x010D28, 0x010D2F], + [0x010D3A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Hanifi_Rohingya}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Rohg}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Rohg}" +); +testPropertyEscapes( + /^\P{scx=Hanifi_Rohingya}+$/u, + nonMatchSymbols, + "\\P{scx=Hanifi_Rohingya}" +); +testPropertyEscapes( + /^\P{scx=Rohg}+$/u, + nonMatchSymbols, + "\\P{scx=Rohg}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanunoo.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanunoo.js new file mode 100644 index 0000000000..d89a00d3b2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanunoo.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Hanunoo` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001720, 0x001736] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Hanunoo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hanunoo}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hano}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hano}" +); +testPropertyEscapes( + /^\p{scx=Hanunoo}+$/u, + matchSymbols, + "\\p{scx=Hanunoo}" +); +testPropertyEscapes( + /^\p{scx=Hano}+$/u, + matchSymbols, + "\\p{scx=Hano}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00171F], + [0x001737, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Hanunoo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hanunoo}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hano}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hano}" +); +testPropertyEscapes( + /^\P{scx=Hanunoo}+$/u, + nonMatchSymbols, + "\\P{scx=Hanunoo}" +); +testPropertyEscapes( + /^\P{scx=Hano}+$/u, + nonMatchSymbols, + "\\P{scx=Hano}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hatran.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hatran.js new file mode 100644 index 0000000000..285884da7f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hatran.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Hatran` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x0108FB, 0x0108FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Hatran}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hatran}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hatr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hatr}" +); +testPropertyEscapes( + /^\p{scx=Hatran}+$/u, + matchSymbols, + "\\p{scx=Hatran}" +); +testPropertyEscapes( + /^\p{scx=Hatr}+$/u, + matchSymbols, + "\\p{scx=Hatr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0108F3 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0108DF], + [0x0108F6, 0x0108FA], + [0x010900, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Hatran}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hatran}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hatr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hatr}" +); +testPropertyEscapes( + /^\P{scx=Hatran}+$/u, + nonMatchSymbols, + "\\P{scx=Hatran}" +); +testPropertyEscapes( + /^\P{scx=Hatr}+$/u, + nonMatchSymbols, + "\\P{scx=Hatr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js new file mode 100644 index 0000000000..d5b9657086 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js @@ -0,0 +1,91 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Hebrew` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00FB3E + ], + ranges: [ + [0x000591, 0x0005C7], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F4], + [0x00FB1D, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FB4F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Hebrew}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hebrew}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hebr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hebr}" +); +testPropertyEscapes( + /^\p{scx=Hebrew}+$/u, + matchSymbols, + "\\p{scx=Hebrew}" +); +testPropertyEscapes( + /^\p{scx=Hebr}+$/u, + matchSymbols, + "\\p{scx=Hebr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000590], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F5, 0x00DBFF], + [0x00E000, 0x00FB1C], + [0x00FB50, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Hebrew}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hebrew}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hebr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hebr}" +); +testPropertyEscapes( + /^\P{scx=Hebrew}+$/u, + nonMatchSymbols, + "\\P{scx=Hebrew}" +); +testPropertyEscapes( + /^\P{scx=Hebr}+$/u, + nonMatchSymbols, + "\\P{scx=Hebr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js new file mode 100644 index 0000000000..deca5f2c88 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js @@ -0,0 +1,105 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Hiragana` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003037, + 0x00FF70, + 0x01F200 + ], + ranges: [ + [0x003001, 0x003003], + [0x003008, 0x003011], + [0x003013, 0x00301F], + [0x003030, 0x003035], + [0x00303C, 0x00303D], + [0x003041, 0x003096], + [0x003099, 0x0030A0], + [0x0030FB, 0x0030FC], + [0x00FE45, 0x00FE46], + [0x00FF61, 0x00FF65], + [0x00FF9E, 0x00FF9F], + [0x01B001, 0x01B11E], + [0x01B150, 0x01B152] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Hiragana}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hiragana}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hira}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hira}" +); +testPropertyEscapes( + /^\p{scx=Hiragana}+$/u, + matchSymbols, + "\\p{scx=Hiragana}" +); +testPropertyEscapes( + /^\p{scx=Hira}+$/u, + matchSymbols, + "\\p{scx=Hira}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x003012, + 0x003036 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x003000], + [0x003004, 0x003007], + [0x003020, 0x00302F], + [0x003038, 0x00303B], + [0x00303E, 0x003040], + [0x003097, 0x003098], + [0x0030A1, 0x0030FA], + [0x0030FD, 0x00DBFF], + [0x00E000, 0x00FE44], + [0x00FE47, 0x00FF60], + [0x00FF66, 0x00FF6F], + [0x00FF71, 0x00FF9D], + [0x00FFA0, 0x01B000], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01F1FF], + [0x01F201, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Hiragana}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hiragana}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hira}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hira}" +); +testPropertyEscapes( + /^\P{scx=Hiragana}+$/u, + nonMatchSymbols, + "\\P{scx=Hiragana}" +); +testPropertyEscapes( + /^\P{scx=Hira}+$/u, + nonMatchSymbols, + "\\P{scx=Hira}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Imperial_Aramaic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Imperial_Aramaic.js new file mode 100644 index 0000000000..d4e901fbf9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Imperial_Aramaic.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Imperial_Aramaic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010840, 0x010855], + [0x010857, 0x01085F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Imperial_Aramaic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Armi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Armi}" +); +testPropertyEscapes( + /^\p{scx=Imperial_Aramaic}+$/u, + matchSymbols, + "\\p{scx=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\p{scx=Armi}+$/u, + matchSymbols, + "\\p{scx=Armi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010856 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01083F], + [0x010860, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Imperial_Aramaic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Armi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Armi}" +); +testPropertyEscapes( + /^\P{scx=Imperial_Aramaic}+$/u, + nonMatchSymbols, + "\\P{scx=Imperial_Aramaic}" +); +testPropertyEscapes( + /^\P{scx=Armi}+$/u, + nonMatchSymbols, + "\\P{scx=Armi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js new file mode 100644 index 0000000000..4bd64b43a7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js @@ -0,0 +1,129 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Inherited` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001DF9, + 0x0101FD + ], + ranges: [ + [0x000300, 0x000341], + [0x000343, 0x000344], + [0x000346, 0x000362], + [0x000953, 0x000954], + [0x001AB0, 0x001AC0], + [0x001DC2, 0x001DF7], + [0x001DFB, 0x001DFF], + [0x00200C, 0x00200D], + [0x0020D0, 0x0020EF], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2D], + [0x01D167, 0x01D169], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Inherited}+$/u, + matchSymbols, + "\\p{Script_Extensions=Inherited}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Zinh}+$/u, + matchSymbols, + "\\p{Script_Extensions=Zinh}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Qaai}+$/u, + matchSymbols, + "\\p{Script_Extensions=Qaai}" +); +testPropertyEscapes( + /^\p{scx=Inherited}+$/u, + matchSymbols, + "\\p{scx=Inherited}" +); +testPropertyEscapes( + /^\p{scx=Zinh}+$/u, + matchSymbols, + "\\p{scx=Zinh}" +); +testPropertyEscapes( + /^\p{scx=Qaai}+$/u, + matchSymbols, + "\\p{scx=Qaai}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000342, + 0x000345, + 0x001DF8, + 0x001DFA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0002FF], + [0x000363, 0x000952], + [0x000955, 0x001AAF], + [0x001AC1, 0x001DC1], + [0x001E00, 0x00200B], + [0x00200E, 0x0020CF], + [0x0020F0, 0x00DBFF], + [0x00E000, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE2E, 0x0101FC], + [0x0101FE, 0x01D166], + [0x01D16A, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Inherited}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Inherited}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Zinh}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Zinh}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Qaai}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Qaai}" +); +testPropertyEscapes( + /^\P{scx=Inherited}+$/u, + nonMatchSymbols, + "\\P{scx=Inherited}" +); +testPropertyEscapes( + /^\P{scx=Zinh}+$/u, + nonMatchSymbols, + "\\P{scx=Zinh}" +); +testPropertyEscapes( + /^\P{scx=Qaai}+$/u, + nonMatchSymbols, + "\\P{scx=Qaai}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Pahlavi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Pahlavi.js new file mode 100644 index 0000000000..bb79ec3571 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Pahlavi.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Inscriptional_Pahlavi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B60, 0x010B72], + [0x010B78, 0x010B7F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Inscriptional_Pahlavi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Phli}+$/u, + matchSymbols, + "\\p{Script_Extensions=Phli}" +); +testPropertyEscapes( + /^\p{scx=Inscriptional_Pahlavi}+$/u, + matchSymbols, + "\\p{scx=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\p{scx=Phli}+$/u, + matchSymbols, + "\\p{scx=Phli}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010B5F], + [0x010B73, 0x010B77], + [0x010B80, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Inscriptional_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Phli}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Phli}" +); +testPropertyEscapes( + /^\P{scx=Inscriptional_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{scx=Inscriptional_Pahlavi}" +); +testPropertyEscapes( + /^\P{scx=Phli}+$/u, + nonMatchSymbols, + "\\P{scx=Phli}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Parthian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Parthian.js new file mode 100644 index 0000000000..87ea02a188 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Parthian.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Inscriptional_Parthian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010B40, 0x010B55], + [0x010B58, 0x010B5F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Inscriptional_Parthian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Prti}+$/u, + matchSymbols, + "\\p{Script_Extensions=Prti}" +); +testPropertyEscapes( + /^\p{scx=Inscriptional_Parthian}+$/u, + matchSymbols, + "\\p{scx=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\p{scx=Prti}+$/u, + matchSymbols, + "\\p{scx=Prti}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010B3F], + [0x010B56, 0x010B57], + [0x010B60, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Inscriptional_Parthian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Prti}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Prti}" +); +testPropertyEscapes( + /^\P{scx=Inscriptional_Parthian}+$/u, + nonMatchSymbols, + "\\P{scx=Inscriptional_Parthian}" +); +testPropertyEscapes( + /^\P{scx=Prti}+$/u, + nonMatchSymbols, + "\\P{scx=Prti}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Javanese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Javanese.js new file mode 100644 index 0000000000..0325360c9a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Javanese.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Javanese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A980, 0x00A9CD], + [0x00A9CF, 0x00A9D9], + [0x00A9DE, 0x00A9DF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Javanese}+$/u, + matchSymbols, + "\\p{Script_Extensions=Javanese}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Java}+$/u, + matchSymbols, + "\\p{Script_Extensions=Java}" +); +testPropertyEscapes( + /^\p{scx=Javanese}+$/u, + matchSymbols, + "\\p{scx=Javanese}" +); +testPropertyEscapes( + /^\p{scx=Java}+$/u, + matchSymbols, + "\\p{scx=Java}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00A9CE + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A97F], + [0x00A9DA, 0x00A9DD], + [0x00A9E0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Javanese}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Javanese}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Java}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Java}" +); +testPropertyEscapes( + /^\P{scx=Javanese}+$/u, + nonMatchSymbols, + "\\P{scx=Javanese}" +); +testPropertyEscapes( + /^\P{scx=Java}+$/u, + nonMatchSymbols, + "\\P{scx=Java}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js new file mode 100644 index 0000000000..6ed47e4b70 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Kaithi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0110CD + ], + ranges: [ + [0x000966, 0x00096F], + [0x00A830, 0x00A839], + [0x011080, 0x0110C1] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Kaithi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kaithi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Kthi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kthi}" +); +testPropertyEscapes( + /^\p{scx=Kaithi}+$/u, + matchSymbols, + "\\p{scx=Kaithi}" +); +testPropertyEscapes( + /^\p{scx=Kthi}+$/u, + matchSymbols, + "\\p{scx=Kthi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000965], + [0x000970, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x01107F], + [0x0110C2, 0x0110CC], + [0x0110CE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Kaithi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kaithi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Kthi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kthi}" +); +testPropertyEscapes( + /^\P{scx=Kaithi}+$/u, + nonMatchSymbols, + "\\P{scx=Kaithi}" +); +testPropertyEscapes( + /^\P{scx=Kthi}+$/u, + nonMatchSymbols, + "\\P{scx=Kthi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js new file mode 100644 index 0000000000..8088bd05f5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js @@ -0,0 +1,115 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Kannada` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000CDE, + 0x001CD0, + 0x001CD2, + 0x001CDA, + 0x001CF2, + 0x001CF4 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000C80, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x00A830, 0x00A835] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Kannada}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kannada}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Knda}+$/u, + matchSymbols, + "\\p{Script_Extensions=Knda}" +); +testPropertyEscapes( + /^\p{scx=Kannada}+$/u, + matchSymbols, + "\\p{scx=Kannada}" +); +testPropertyEscapes( + /^\p{scx=Knda}+$/u, + matchSymbols, + "\\p{scx=Knda}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x001CD1, + 0x001CF3 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000C7F], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x001CCF], + [0x001CD3, 0x001CD9], + [0x001CDB, 0x001CF1], + [0x001CF5, 0x00A82F], + [0x00A836, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Kannada}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kannada}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Knda}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Knda}" +); +testPropertyEscapes( + /^\P{scx=Kannada}+$/u, + nonMatchSymbols, + "\\P{scx=Kannada}" +); +testPropertyEscapes( + /^\P{scx=Knda}+$/u, + nonMatchSymbols, + "\\P{scx=Knda}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js new file mode 100644 index 0000000000..591116531b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js @@ -0,0 +1,103 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Katakana` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x003037, + 0x01B000 + ], + ranges: [ + [0x003001, 0x003003], + [0x003008, 0x003011], + [0x003013, 0x00301F], + [0x003030, 0x003035], + [0x00303C, 0x00303D], + [0x003099, 0x00309C], + [0x0030A0, 0x0030FF], + [0x0031F0, 0x0031FF], + [0x0032D0, 0x0032FE], + [0x003300, 0x003357], + [0x00FE45, 0x00FE46], + [0x00FF61, 0x00FF9F], + [0x01B164, 0x01B167] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Katakana}+$/u, + matchSymbols, + "\\p{Script_Extensions=Katakana}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Kana}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kana}" +); +testPropertyEscapes( + /^\p{scx=Katakana}+$/u, + matchSymbols, + "\\p{scx=Katakana}" +); +testPropertyEscapes( + /^\p{scx=Kana}+$/u, + matchSymbols, + "\\p{scx=Kana}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x003012, + 0x003036, + 0x0032FF + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x003000], + [0x003004, 0x003007], + [0x003020, 0x00302F], + [0x003038, 0x00303B], + [0x00303E, 0x003098], + [0x00309D, 0x00309F], + [0x003100, 0x0031EF], + [0x003200, 0x0032CF], + [0x003358, 0x00DBFF], + [0x00E000, 0x00FE44], + [0x00FE47, 0x00FF60], + [0x00FFA0, 0x01AFFF], + [0x01B001, 0x01B163], + [0x01B168, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Katakana}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Katakana}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Kana}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kana}" +); +testPropertyEscapes( + /^\P{scx=Katakana}+$/u, + nonMatchSymbols, + "\\P{scx=Katakana}" +); +testPropertyEscapes( + /^\P{scx=Kana}+$/u, + nonMatchSymbols, + "\\P{scx=Kana}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kayah_Li.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kayah_Li.js new file mode 100644 index 0000000000..db6cb5aa4e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kayah_Li.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Kayah_Li` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A900, 0x00A92F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Kayah_Li}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kayah_Li}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Kali}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kali}" +); +testPropertyEscapes( + /^\p{scx=Kayah_Li}+$/u, + matchSymbols, + "\\p{scx=Kayah_Li}" +); +testPropertyEscapes( + /^\p{scx=Kali}+$/u, + matchSymbols, + "\\p{scx=Kali}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A8FF], + [0x00A930, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Kayah_Li}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kayah_Li}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Kali}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kali}" +); +testPropertyEscapes( + /^\P{scx=Kayah_Li}+$/u, + nonMatchSymbols, + "\\P{scx=Kayah_Li}" +); +testPropertyEscapes( + /^\P{scx=Kali}+$/u, + nonMatchSymbols, + "\\P{scx=Kali}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kharoshthi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kharoshthi.js new file mode 100644 index 0000000000..de70cde2bc --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kharoshthi.js @@ -0,0 +1,88 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Kharoshthi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010A00, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A3F, 0x010A48], + [0x010A50, 0x010A58] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Kharoshthi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kharoshthi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Khar}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khar}" +); +testPropertyEscapes( + /^\p{scx=Kharoshthi}+$/u, + matchSymbols, + "\\p{scx=Kharoshthi}" +); +testPropertyEscapes( + /^\p{scx=Khar}+$/u, + matchSymbols, + "\\p{scx=Khar}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010A04, + 0x010A14, + 0x010A18 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0109FF], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A49, 0x010A4F], + [0x010A59, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Kharoshthi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kharoshthi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Khar}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khar}" +); +testPropertyEscapes( + /^\P{scx=Kharoshthi}+$/u, + nonMatchSymbols, + "\\P{scx=Kharoshthi}" +); +testPropertyEscapes( + /^\P{scx=Khar}+$/u, + nonMatchSymbols, + "\\P{scx=Khar}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js new file mode 100644 index 0000000000..5a2ebfcc30 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Khitan_Small_Script` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE4 + ], + ranges: [ + [0x018B00, 0x018CD5] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Khitan_Small_Script}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Kits}+$/u, + matchSymbols, + "\\p{Script_Extensions=Kits}" +); +testPropertyEscapes( + /^\p{scx=Khitan_Small_Script}+$/u, + matchSymbols, + "\\p{scx=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\p{scx=Kits}+$/u, + matchSymbols, + "\\p{scx=Kits}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016FE3], + [0x016FE5, 0x018AFF], + [0x018CD6, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Khitan_Small_Script}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Kits}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Kits}" +); +testPropertyEscapes( + /^\P{scx=Khitan_Small_Script}+$/u, + nonMatchSymbols, + "\\P{scx=Khitan_Small_Script}" +); +testPropertyEscapes( + /^\P{scx=Kits}+$/u, + nonMatchSymbols, + "\\P{scx=Kits}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khmer.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khmer.js new file mode 100644 index 0000000000..64c4e98b23 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khmer.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Khmer` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001780, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x0017F0, 0x0017F9], + [0x0019E0, 0x0019FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Khmer}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khmer}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Khmr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khmr}" +); +testPropertyEscapes( + /^\p{scx=Khmer}+$/u, + matchSymbols, + "\\p{scx=Khmer}" +); +testPropertyEscapes( + /^\p{scx=Khmr}+$/u, + matchSymbols, + "\\p{scx=Khmr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00177F], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x0017EF], + [0x0017FA, 0x0019DF], + [0x001A00, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Khmer}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khmer}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Khmr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khmr}" +); +testPropertyEscapes( + /^\P{scx=Khmer}+$/u, + nonMatchSymbols, + "\\P{scx=Khmer}" +); +testPropertyEscapes( + /^\P{scx=Khmr}+$/u, + nonMatchSymbols, + "\\P{scx=Khmr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js new file mode 100644 index 0000000000..4b5a87598b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Khojki` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000AE6, 0x000AEF], + [0x00A830, 0x00A839], + [0x011200, 0x011211], + [0x011213, 0x01123E] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Khojki}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khojki}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Khoj}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khoj}" +); +testPropertyEscapes( + /^\p{scx=Khojki}+$/u, + matchSymbols, + "\\p{scx=Khojki}" +); +testPropertyEscapes( + /^\p{scx=Khoj}+$/u, + matchSymbols, + "\\p{scx=Khoj}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011212 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000AE5], + [0x000AF0, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x0111FF], + [0x01123F, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Khojki}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khojki}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Khoj}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khoj}" +); +testPropertyEscapes( + /^\P{scx=Khojki}+$/u, + nonMatchSymbols, + "\\P{scx=Khojki}" +); +testPropertyEscapes( + /^\P{scx=Khoj}+$/u, + nonMatchSymbols, + "\\P{scx=Khoj}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khudawadi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khudawadi.js new file mode 100644 index 0000000000..b200453b11 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khudawadi.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Khudawadi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000964, 0x000965], + [0x00A830, 0x00A839], + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Khudawadi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Khudawadi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sind}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sind}" +); +testPropertyEscapes( + /^\p{scx=Khudawadi}+$/u, + matchSymbols, + "\\p{scx=Khudawadi}" +); +testPropertyEscapes( + /^\p{scx=Sind}+$/u, + matchSymbols, + "\\p{scx=Sind}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Khudawadi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Khudawadi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sind}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sind}" +); +testPropertyEscapes( + /^\P{scx=Khudawadi}+$/u, + nonMatchSymbols, + "\\P{scx=Khudawadi}" +); +testPropertyEscapes( + /^\P{scx=Sind}+$/u, + nonMatchSymbols, + "\\P{scx=Sind}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js new file mode 100644 index 0000000000..7f38c1f7fa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js @@ -0,0 +1,95 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Lao` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000E84, + 0x000EA5, + 0x000EC6 + ], + ranges: [ + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Lao}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lao}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Laoo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Laoo}" +); +testPropertyEscapes( + /^\p{scx=Lao}+$/u, + matchSymbols, + "\\p{scx=Lao}" +); +testPropertyEscapes( + /^\p{scx=Laoo}+$/u, + matchSymbols, + "\\p{scx=Laoo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Lao}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lao}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Laoo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Laoo}" +); +testPropertyEscapes( + /^\P{scx=Lao}+$/u, + nonMatchSymbols, + "\\P{scx=Lao}" +); +testPropertyEscapes( + /^\P{scx=Laoo}+$/u, + nonMatchSymbols, + "\\P{scx=Laoo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js new file mode 100644 index 0000000000..9c0bd2e1c9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js @@ -0,0 +1,153 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Latin` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000BA, + 0x0010FB, + 0x00202F, + 0x002071, + 0x00207F, + 0x0020F0, + 0x002132, + 0x00214E, + 0x00A92E + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002B8], + [0x0002E0, 0x0002E4], + [0x000363, 0x00036F], + [0x000485, 0x000486], + [0x000951, 0x000952], + [0x001D00, 0x001D25], + [0x001D2C, 0x001D5C], + [0x001D62, 0x001D65], + [0x001D6B, 0x001D77], + [0x001D79, 0x001DBE], + [0x001E00, 0x001EFF], + [0x002090, 0x00209C], + [0x00212A, 0x00212B], + [0x002160, 0x002188], + [0x002C60, 0x002C7F], + [0x00A700, 0x00A707], + [0x00A722, 0x00A787], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A7FF], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB64], + [0x00AB66, 0x00AB69], + [0x00FB00, 0x00FB06], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Latin}+$/u, + matchSymbols, + "\\p{Script_Extensions=Latin}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Latn}+$/u, + matchSymbols, + "\\p{Script_Extensions=Latn}" +); +testPropertyEscapes( + /^\p{scx=Latin}+$/u, + matchSymbols, + "\\p{scx=Latin}" +); +testPropertyEscapes( + /^\p{scx=Latn}+$/u, + matchSymbols, + "\\p{scx=Latn}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x001D78, + 0x00AB5B, + 0x00AB65 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002B9, 0x0002DF], + [0x0002E5, 0x000362], + [0x000370, 0x000484], + [0x000487, 0x000950], + [0x000953, 0x0010FA], + [0x0010FC, 0x001CFF], + [0x001D26, 0x001D2B], + [0x001D5D, 0x001D61], + [0x001D66, 0x001D6A], + [0x001DBF, 0x001DFF], + [0x001F00, 0x00202E], + [0x002030, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x0020EF], + [0x0020F1, 0x002129], + [0x00212C, 0x002131], + [0x002133, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x002C5F], + [0x002C80, 0x00A6FF], + [0x00A708, 0x00A721], + [0x00A788, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A800, 0x00A92D], + [0x00A92F, 0x00AB2F], + [0x00AB6A, 0x00DBFF], + [0x00E000, 0x00FAFF], + [0x00FB07, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Latin}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Latin}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Latn}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Latn}" +); +testPropertyEscapes( + /^\P{scx=Latin}+$/u, + nonMatchSymbols, + "\\P{scx=Latin}" +); +testPropertyEscapes( + /^\P{scx=Latn}+$/u, + nonMatchSymbols, + "\\P{scx=Latn}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lepcha.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lepcha.js new file mode 100644 index 0000000000..284659214a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lepcha.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Lepcha` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001C00, 0x001C37], + [0x001C3B, 0x001C49], + [0x001C4D, 0x001C4F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Lepcha}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lepcha}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Lepc}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lepc}" +); +testPropertyEscapes( + /^\p{scx=Lepcha}+$/u, + matchSymbols, + "\\p{scx=Lepcha}" +); +testPropertyEscapes( + /^\p{scx=Lepc}+$/u, + matchSymbols, + "\\p{scx=Lepc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001BFF], + [0x001C38, 0x001C3A], + [0x001C4A, 0x001C4C], + [0x001C50, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Lepcha}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lepcha}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Lepc}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lepc}" +); +testPropertyEscapes( + /^\P{scx=Lepcha}+$/u, + nonMatchSymbols, + "\\P{scx=Lepcha}" +); +testPropertyEscapes( + /^\P{scx=Lepc}+$/u, + nonMatchSymbols, + "\\P{scx=Lepc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Limbu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Limbu.js new file mode 100644 index 0000000000..4509fb07d6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Limbu.js @@ -0,0 +1,85 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Limbu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000965, + 0x001940 + ], + ranges: [ + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001944, 0x00194F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Limbu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Limbu}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Limb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Limb}" +); +testPropertyEscapes( + /^\p{scx=Limbu}+$/u, + matchSymbols, + "\\p{scx=Limbu}" +); +testPropertyEscapes( + /^\p{scx=Limb}+$/u, + matchSymbols, + "\\p{scx=Limb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00191F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000964], + [0x000966, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x00193F], + [0x001941, 0x001943], + [0x001950, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Limbu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Limbu}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Limb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Limb}" +); +testPropertyEscapes( + /^\P{scx=Limbu}+$/u, + nonMatchSymbols, + "\\P{scx=Limbu}" +); +testPropertyEscapes( + /^\P{scx=Limb}+$/u, + nonMatchSymbols, + "\\P{scx=Limb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_A.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_A.js new file mode 100644 index 0000000000..bc1914c62c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_A.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Linear_A` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010107, 0x010133], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Linear_A}+$/u, + matchSymbols, + "\\p{Script_Extensions=Linear_A}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Lina}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lina}" +); +testPropertyEscapes( + /^\p{scx=Linear_A}+$/u, + matchSymbols, + "\\p{scx=Linear_A}" +); +testPropertyEscapes( + /^\p{scx=Lina}+$/u, + matchSymbols, + "\\p{scx=Lina}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010106], + [0x010134, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Linear_A}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Linear_A}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Lina}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lina}" +); +testPropertyEscapes( + /^\P{scx=Linear_A}+$/u, + nonMatchSymbols, + "\\P{scx=Linear_A}" +); +testPropertyEscapes( + /^\P{scx=Lina}+$/u, + nonMatchSymbols, + "\\P{scx=Lina}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_B.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_B.js new file mode 100644 index 0000000000..922057c7b5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_B.js @@ -0,0 +1,92 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Linear_B` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010100, 0x010102], + [0x010107, 0x010133], + [0x010137, 0x01013F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Linear_B}+$/u, + matchSymbols, + "\\p{Script_Extensions=Linear_B}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Linb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Linb}" +); +testPropertyEscapes( + /^\p{scx=Linear_B}+$/u, + matchSymbols, + "\\p{scx=Linear_B}" +); +testPropertyEscapes( + /^\p{scx=Linb}+$/u, + matchSymbols, + "\\p{scx=Linb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x0100FF], + [0x010103, 0x010106], + [0x010134, 0x010136], + [0x010140, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Linear_B}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Linear_B}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Linb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Linb}" +); +testPropertyEscapes( + /^\P{scx=Linear_B}+$/u, + nonMatchSymbols, + "\\P{scx=Linear_B}" +); +testPropertyEscapes( + /^\P{scx=Linb}+$/u, + nonMatchSymbols, + "\\P{scx=Linb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js new file mode 100644 index 0000000000..c3b34dd0f4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Lisu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011FB0 + ], + ranges: [ + [0x00A4D0, 0x00A4FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Lisu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lisu}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Lisu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lisu}" +); +testPropertyEscapes( + /^\p{scx=Lisu}+$/u, + matchSymbols, + "\\p{scx=Lisu}" +); +testPropertyEscapes( + /^\p{scx=Lisu}+$/u, + matchSymbols, + "\\p{scx=Lisu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A4CF], + [0x00A500, 0x00DBFF], + [0x00E000, 0x011FAF], + [0x011FB1, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Lisu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lisu}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Lisu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lisu}" +); +testPropertyEscapes( + /^\P{scx=Lisu}+$/u, + nonMatchSymbols, + "\\P{scx=Lisu}" +); +testPropertyEscapes( + /^\P{scx=Lisu}+$/u, + nonMatchSymbols, + "\\P{scx=Lisu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js new file mode 100644 index 0000000000..9838d6d645 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Lycian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010280, 0x01029C] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Lycian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lycian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Lyci}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lyci}" +); +testPropertyEscapes( + /^\p{scx=Lycian}+$/u, + matchSymbols, + "\\p{scx=Lycian}" +); +testPropertyEscapes( + /^\p{scx=Lyci}+$/u, + matchSymbols, + "\\p{scx=Lyci}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01027F], + [0x01029D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Lycian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lycian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Lyci}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lyci}" +); +testPropertyEscapes( + /^\P{scx=Lycian}+$/u, + nonMatchSymbols, + "\\P{scx=Lycian}" +); +testPropertyEscapes( + /^\P{scx=Lyci}+$/u, + nonMatchSymbols, + "\\P{scx=Lyci}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js new file mode 100644 index 0000000000..9a5226e249 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Lydian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01093F + ], + ranges: [ + [0x010920, 0x010939] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Lydian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lydian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Lydi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lydi}" +); +testPropertyEscapes( + /^\p{scx=Lydian}+$/u, + matchSymbols, + "\\p{scx=Lydian}" +); +testPropertyEscapes( + /^\p{scx=Lydi}+$/u, + matchSymbols, + "\\p{scx=Lydi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01091F], + [0x01093A, 0x01093E], + [0x010940, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Lydian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lydian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Lydi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lydi}" +); +testPropertyEscapes( + /^\P{scx=Lydian}+$/u, + nonMatchSymbols, + "\\P{scx=Lydian}" +); +testPropertyEscapes( + /^\P{scx=Lydi}+$/u, + nonMatchSymbols, + "\\P{scx=Lydi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js new file mode 100644 index 0000000000..c92c2a41a5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Mahajani` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000964, 0x00096F], + [0x00A830, 0x00A839], + [0x011150, 0x011176] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Mahajani}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mahajani}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mahj}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mahj}" +); +testPropertyEscapes( + /^\p{scx=Mahajani}+$/u, + matchSymbols, + "\\p{scx=Mahajani}" +); +testPropertyEscapes( + /^\p{scx=Mahj}+$/u, + matchSymbols, + "\\p{scx=Mahj}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000970, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x01114F], + [0x011177, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Mahajani}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mahajani}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mahj}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mahj}" +); +testPropertyEscapes( + /^\P{scx=Mahajani}+$/u, + nonMatchSymbols, + "\\P{scx=Mahajani}" +); +testPropertyEscapes( + /^\P{scx=Mahj}+$/u, + nonMatchSymbols, + "\\P{scx=Mahj}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Makasar.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Makasar.js new file mode 100644 index 0000000000..55acc125fe --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Makasar.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Makasar` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011EE0, 0x011EF8] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Makasar}+$/u, + matchSymbols, + "\\p{Script_Extensions=Makasar}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Maka}+$/u, + matchSymbols, + "\\p{Script_Extensions=Maka}" +); +testPropertyEscapes( + /^\p{scx=Makasar}+$/u, + matchSymbols, + "\\p{scx=Makasar}" +); +testPropertyEscapes( + /^\p{scx=Maka}+$/u, + matchSymbols, + "\\p{scx=Maka}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011EDF], + [0x011EF9, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Makasar}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Makasar}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Maka}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Maka}" +); +testPropertyEscapes( + /^\P{scx=Makasar}+$/u, + nonMatchSymbols, + "\\P{scx=Makasar}" +); +testPropertyEscapes( + /^\P{scx=Maka}+$/u, + nonMatchSymbols, + "\\P{scx=Maka}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js new file mode 100644 index 0000000000..4458c56c85 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js @@ -0,0 +1,95 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Malayalam` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001CDA + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4F], + [0x000D54, 0x000D63], + [0x000D66, 0x000D7F], + [0x00A830, 0x00A832] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Malayalam}+$/u, + matchSymbols, + "\\p{Script_Extensions=Malayalam}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mlym}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mlym}" +); +testPropertyEscapes( + /^\p{scx=Malayalam}+$/u, + matchSymbols, + "\\p{scx=Malayalam}" +); +testPropertyEscapes( + /^\p{scx=Mlym}+$/u, + matchSymbols, + "\\p{scx=Mlym}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000CFF], + [0x000D50, 0x000D53], + [0x000D64, 0x000D65], + [0x000D80, 0x001CD9], + [0x001CDB, 0x00A82F], + [0x00A833, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Malayalam}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Malayalam}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mlym}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mlym}" +); +testPropertyEscapes( + /^\P{scx=Malayalam}+$/u, + nonMatchSymbols, + "\\P{scx=Malayalam}" +); +testPropertyEscapes( + /^\P{scx=Mlym}+$/u, + nonMatchSymbols, + "\\P{scx=Mlym}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mandaic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mandaic.js new file mode 100644 index 0000000000..dec6256671 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mandaic.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Mandaic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000640, + 0x00085E + ], + ranges: [ + [0x000840, 0x00085B] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Mandaic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mandaic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mand}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mand}" +); +testPropertyEscapes( + /^\p{scx=Mandaic}+$/u, + matchSymbols, + "\\p{scx=Mandaic}" +); +testPropertyEscapes( + /^\p{scx=Mand}+$/u, + matchSymbols, + "\\p{scx=Mand}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00063F], + [0x000641, 0x00083F], + [0x00085C, 0x00085D], + [0x00085F, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Mandaic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mandaic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mand}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mand}" +); +testPropertyEscapes( + /^\P{scx=Mandaic}+$/u, + nonMatchSymbols, + "\\P{scx=Mandaic}" +); +testPropertyEscapes( + /^\P{scx=Mand}+$/u, + nonMatchSymbols, + "\\P{scx=Mand}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js new file mode 100644 index 0000000000..7eff2d0f11 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Manichaean` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000640 + ], + ranges: [ + [0x010AC0, 0x010AE6], + [0x010AEB, 0x010AF6] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Manichaean}+$/u, + matchSymbols, + "\\p{Script_Extensions=Manichaean}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mani}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mani}" +); +testPropertyEscapes( + /^\p{scx=Manichaean}+$/u, + matchSymbols, + "\\p{scx=Manichaean}" +); +testPropertyEscapes( + /^\p{scx=Mani}+$/u, + matchSymbols, + "\\p{scx=Mani}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00063F], + [0x000641, 0x00DBFF], + [0x00E000, 0x010ABF], + [0x010AE7, 0x010AEA], + [0x010AF7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Manichaean}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Manichaean}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mani}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mani}" +); +testPropertyEscapes( + /^\P{scx=Manichaean}+$/u, + nonMatchSymbols, + "\\P{scx=Manichaean}" +); +testPropertyEscapes( + /^\P{scx=Mani}+$/u, + nonMatchSymbols, + "\\P{scx=Mani}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Marchen.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Marchen.js new file mode 100644 index 0000000000..0c8ea08381 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Marchen.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Marchen` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011C70, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Marchen}+$/u, + matchSymbols, + "\\p{Script_Extensions=Marchen}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Marc}+$/u, + matchSymbols, + "\\p{Script_Extensions=Marc}" +); +testPropertyEscapes( + /^\p{scx=Marchen}+$/u, + matchSymbols, + "\\p{scx=Marchen}" +); +testPropertyEscapes( + /^\p{scx=Marc}+$/u, + matchSymbols, + "\\p{scx=Marc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011CA8 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011C6F], + [0x011C90, 0x011C91], + [0x011CB7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Marchen}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Marchen}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Marc}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Marc}" +); +testPropertyEscapes( + /^\P{scx=Marchen}+$/u, + nonMatchSymbols, + "\\P{scx=Marchen}" +); +testPropertyEscapes( + /^\P{scx=Marc}+$/u, + nonMatchSymbols, + "\\P{scx=Marc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Masaram_Gondi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Masaram_Gondi.js new file mode 100644 index 0000000000..f76a4403a1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Masaram_Gondi.js @@ -0,0 +1,89 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Masaram_Gondi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011D3A + ], + ranges: [ + [0x000964, 0x000965], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Masaram_Gondi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Masaram_Gondi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Gonm}+$/u, + matchSymbols, + "\\p{Script_Extensions=Gonm}" +); +testPropertyEscapes( + /^\p{scx=Masaram_Gondi}+$/u, + matchSymbols, + "\\p{scx=Masaram_Gondi}" +); +testPropertyEscapes( + /^\p{scx=Gonm}+$/u, + matchSymbols, + "\\p{scx=Gonm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x00DBFF], + [0x00E000, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Masaram_Gondi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Masaram_Gondi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Gonm}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Gonm}" +); +testPropertyEscapes( + /^\P{scx=Masaram_Gondi}+$/u, + nonMatchSymbols, + "\\P{scx=Masaram_Gondi}" +); +testPropertyEscapes( + /^\P{scx=Gonm}+$/u, + nonMatchSymbols, + "\\P{scx=Gonm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Medefaidrin.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Medefaidrin.js new file mode 100644 index 0000000000..1b5cead30f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Medefaidrin.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Medefaidrin` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016E40, 0x016E9A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Medefaidrin}+$/u, + matchSymbols, + "\\p{Script_Extensions=Medefaidrin}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Medf}+$/u, + matchSymbols, + "\\p{Script_Extensions=Medf}" +); +testPropertyEscapes( + /^\p{scx=Medefaidrin}+$/u, + matchSymbols, + "\\p{scx=Medefaidrin}" +); +testPropertyEscapes( + /^\p{scx=Medf}+$/u, + matchSymbols, + "\\p{scx=Medf}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016E3F], + [0x016E9B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Medefaidrin}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Medefaidrin}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Medf}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Medf}" +); +testPropertyEscapes( + /^\P{scx=Medefaidrin}+$/u, + nonMatchSymbols, + "\\P{scx=Medefaidrin}" +); +testPropertyEscapes( + /^\P{scx=Medf}+$/u, + nonMatchSymbols, + "\\P{scx=Medf}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meetei_Mayek.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meetei_Mayek.js new file mode 100644 index 0000000000..3a528a2201 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meetei_Mayek.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Meetei_Mayek` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00AAE0, 0x00AAF6], + [0x00ABC0, 0x00ABED], + [0x00ABF0, 0x00ABF9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Meetei_Mayek}+$/u, + matchSymbols, + "\\p{Script_Extensions=Meetei_Mayek}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mtei}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mtei}" +); +testPropertyEscapes( + /^\p{scx=Meetei_Mayek}+$/u, + matchSymbols, + "\\p{scx=Meetei_Mayek}" +); +testPropertyEscapes( + /^\p{scx=Mtei}+$/u, + matchSymbols, + "\\p{scx=Mtei}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00AADF], + [0x00AAF7, 0x00ABBF], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Meetei_Mayek}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Meetei_Mayek}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mtei}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mtei}" +); +testPropertyEscapes( + /^\P{scx=Meetei_Mayek}+$/u, + nonMatchSymbols, + "\\P{scx=Meetei_Mayek}" +); +testPropertyEscapes( + /^\P{scx=Mtei}+$/u, + nonMatchSymbols, + "\\P{scx=Mtei}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mende_Kikakui.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mende_Kikakui.js new file mode 100644 index 0000000000..1fbf8b0903 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mende_Kikakui.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Mende_Kikakui` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01E800, 0x01E8C4], + [0x01E8C7, 0x01E8D6] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Mende_Kikakui}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mende_Kikakui}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mend}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mend}" +); +testPropertyEscapes( + /^\p{scx=Mende_Kikakui}+$/u, + matchSymbols, + "\\p{scx=Mende_Kikakui}" +); +testPropertyEscapes( + /^\p{scx=Mend}+$/u, + matchSymbols, + "\\p{scx=Mend}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E7FF], + [0x01E8C5, 0x01E8C6], + [0x01E8D7, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Mende_Kikakui}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mende_Kikakui}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mend}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mend}" +); +testPropertyEscapes( + /^\P{scx=Mende_Kikakui}+$/u, + nonMatchSymbols, + "\\P{scx=Mende_Kikakui}" +); +testPropertyEscapes( + /^\P{scx=Mend}+$/u, + nonMatchSymbols, + "\\P{scx=Mend}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Cursive.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Cursive.js new file mode 100644 index 0000000000..1ce1f87223 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Cursive.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Meroitic_Cursive` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0109A0, 0x0109B7], + [0x0109BC, 0x0109CF], + [0x0109D2, 0x0109FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Meroitic_Cursive}+$/u, + matchSymbols, + "\\p{Script_Extensions=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Merc}+$/u, + matchSymbols, + "\\p{Script_Extensions=Merc}" +); +testPropertyEscapes( + /^\p{scx=Meroitic_Cursive}+$/u, + matchSymbols, + "\\p{scx=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\p{scx=Merc}+$/u, + matchSymbols, + "\\p{scx=Merc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01099F], + [0x0109B8, 0x0109BB], + [0x0109D0, 0x0109D1], + [0x010A00, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Meroitic_Cursive}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Merc}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Merc}" +); +testPropertyEscapes( + /^\P{scx=Meroitic_Cursive}+$/u, + nonMatchSymbols, + "\\P{scx=Meroitic_Cursive}" +); +testPropertyEscapes( + /^\P{scx=Merc}+$/u, + nonMatchSymbols, + "\\P{scx=Merc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js new file mode 100644 index 0000000000..f8aa14d326 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Meroitic_Hieroglyphs` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010980, 0x01099F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Meroitic_Hieroglyphs}+$/u, + matchSymbols, + "\\p{Script_Extensions=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mero}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mero}" +); +testPropertyEscapes( + /^\p{scx=Meroitic_Hieroglyphs}+$/u, + matchSymbols, + "\\p{scx=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\p{scx=Mero}+$/u, + matchSymbols, + "\\p{scx=Mero}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01097F], + [0x0109A0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Meroitic_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mero}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mero}" +); +testPropertyEscapes( + /^\P{scx=Meroitic_Hieroglyphs}+$/u, + nonMatchSymbols, + "\\P{scx=Meroitic_Hieroglyphs}" +); +testPropertyEscapes( + /^\P{scx=Mero}+$/u, + nonMatchSymbols, + "\\P{scx=Mero}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Miao.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Miao.js new file mode 100644 index 0000000000..e04a0efe6b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Miao.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Miao` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Miao}+$/u, + matchSymbols, + "\\p{Script_Extensions=Miao}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Plrd}+$/u, + matchSymbols, + "\\p{Script_Extensions=Plrd}" +); +testPropertyEscapes( + /^\p{scx=Miao}+$/u, + matchSymbols, + "\\p{scx=Miao}" +); +testPropertyEscapes( + /^\p{scx=Plrd}+$/u, + matchSymbols, + "\\p{scx=Plrd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Miao}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Miao}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Plrd}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Plrd}" +); +testPropertyEscapes( + /^\P{scx=Miao}+$/u, + nonMatchSymbols, + "\\P{scx=Miao}" +); +testPropertyEscapes( + /^\P{scx=Plrd}+$/u, + nonMatchSymbols, + "\\P{scx=Plrd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Modi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Modi.js new file mode 100644 index 0000000000..25a17a8aa8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Modi.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Modi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A830, 0x00A839], + [0x011600, 0x011644], + [0x011650, 0x011659] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Modi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Modi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Modi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Modi}" +); +testPropertyEscapes( + /^\p{scx=Modi}+$/u, + matchSymbols, + "\\p{scx=Modi}" +); +testPropertyEscapes( + /^\p{scx=Modi}+$/u, + matchSymbols, + "\\p{scx=Modi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x0115FF], + [0x011645, 0x01164F], + [0x01165A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Modi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Modi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Modi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Modi}" +); +testPropertyEscapes( + /^\P{scx=Modi}+$/u, + nonMatchSymbols, + "\\P{scx=Modi}" +); +testPropertyEscapes( + /^\P{scx=Modi}+$/u, + nonMatchSymbols, + "\\P{scx=Modi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js new file mode 100644 index 0000000000..40a5fa0db4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js @@ -0,0 +1,85 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Mongolian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00202F + ], + ranges: [ + [0x001800, 0x00180E], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x011660, 0x01166C] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Mongolian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mongolian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mong}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mong}" +); +testPropertyEscapes( + /^\p{scx=Mongolian}+$/u, + matchSymbols, + "\\p{scx=Mongolian}" +); +testPropertyEscapes( + /^\p{scx=Mong}+$/u, + matchSymbols, + "\\p{scx=Mong}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00180F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0017FF], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x00202E], + [0x002030, 0x00DBFF], + [0x00E000, 0x01165F], + [0x01166D, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Mongolian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mongolian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mong}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mong}" +); +testPropertyEscapes( + /^\P{scx=Mongolian}+$/u, + nonMatchSymbols, + "\\P{scx=Mongolian}" +); +testPropertyEscapes( + /^\P{scx=Mong}+$/u, + nonMatchSymbols, + "\\P{scx=Mong}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mro.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mro.js new file mode 100644 index 0000000000..88ee33669a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mro.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Mro` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016A6E, 0x016A6F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Mro}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mro}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mroo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mroo}" +); +testPropertyEscapes( + /^\p{scx=Mro}+$/u, + matchSymbols, + "\\p{scx=Mro}" +); +testPropertyEscapes( + /^\p{scx=Mroo}+$/u, + matchSymbols, + "\\p{scx=Mroo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x016A5F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016A3F], + [0x016A6A, 0x016A6D], + [0x016A70, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Mro}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mro}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mroo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mroo}" +); +testPropertyEscapes( + /^\P{scx=Mro}+$/u, + nonMatchSymbols, + "\\P{scx=Mro}" +); +testPropertyEscapes( + /^\P{scx=Mroo}+$/u, + nonMatchSymbols, + "\\P{scx=Mroo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Multani.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Multani.js new file mode 100644 index 0000000000..2a04de7c5d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Multani.js @@ -0,0 +1,85 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Multani` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x011288 + ], + ranges: [ + [0x000A66, 0x000A6F], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Multani}+$/u, + matchSymbols, + "\\p{Script_Extensions=Multani}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mult}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mult}" +); +testPropertyEscapes( + /^\p{scx=Multani}+$/u, + matchSymbols, + "\\p{scx=Multani}" +); +testPropertyEscapes( + /^\p{scx=Mult}+$/u, + matchSymbols, + "\\p{scx=Mult}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x011287, + 0x011289, + 0x01128E, + 0x01129E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000A65], + [0x000A70, 0x00DBFF], + [0x00E000, 0x01127F], + [0x0112AA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Multani}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Multani}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mult}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mult}" +); +testPropertyEscapes( + /^\P{scx=Multani}+$/u, + nonMatchSymbols, + "\\P{scx=Multani}" +); +testPropertyEscapes( + /^\P{scx=Mult}+$/u, + nonMatchSymbols, + "\\P{scx=Mult}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js new file mode 100644 index 0000000000..605e7ff95a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Myanmar` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00A92E + ], + ranges: [ + [0x001000, 0x00109F], + [0x00A9E0, 0x00A9FE], + [0x00AA60, 0x00AA7F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Myanmar}+$/u, + matchSymbols, + "\\p{Script_Extensions=Myanmar}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Mymr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Mymr}" +); +testPropertyEscapes( + /^\p{scx=Myanmar}+$/u, + matchSymbols, + "\\p{scx=Myanmar}" +); +testPropertyEscapes( + /^\p{scx=Mymr}+$/u, + matchSymbols, + "\\p{scx=Mymr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000FFF], + [0x0010A0, 0x00A92D], + [0x00A92F, 0x00A9DF], + [0x00A9FF, 0x00AA5F], + [0x00AA80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Myanmar}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Myanmar}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Mymr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Mymr}" +); +testPropertyEscapes( + /^\P{scx=Myanmar}+$/u, + nonMatchSymbols, + "\\P{scx=Myanmar}" +); +testPropertyEscapes( + /^\P{scx=Mymr}+$/u, + nonMatchSymbols, + "\\P{scx=Mymr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nabataean.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nabataean.js new file mode 100644 index 0000000000..732279e439 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nabataean.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Nabataean` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010880, 0x01089E], + [0x0108A7, 0x0108AF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Nabataean}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nabataean}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Nbat}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nbat}" +); +testPropertyEscapes( + /^\p{scx=Nabataean}+$/u, + matchSymbols, + "\\p{scx=Nabataean}" +); +testPropertyEscapes( + /^\p{scx=Nbat}+$/u, + matchSymbols, + "\\p{scx=Nbat}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01087F], + [0x01089F, 0x0108A6], + [0x0108B0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Nabataean}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nabataean}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Nbat}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nbat}" +); +testPropertyEscapes( + /^\P{scx=Nabataean}+$/u, + nonMatchSymbols, + "\\P{scx=Nabataean}" +); +testPropertyEscapes( + /^\P{scx=Nbat}+$/u, + nonMatchSymbols, + "\\P{scx=Nbat}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nandinagari.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nandinagari.js new file mode 100644 index 0000000000..8ce415d3c4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nandinagari.js @@ -0,0 +1,90 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Nandinagari` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001CE9, + 0x001CF2, + 0x001CFA + ], + ranges: [ + [0x000964, 0x000965], + [0x000CE6, 0x000CEF], + [0x00A830, 0x00A835], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E4] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Nandinagari}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nandinagari}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Nand}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nand}" +); +testPropertyEscapes( + /^\p{scx=Nandinagari}+$/u, + matchSymbols, + "\\p{scx=Nandinagari}" +); +testPropertyEscapes( + /^\p{scx=Nand}+$/u, + matchSymbols, + "\\p{scx=Nand}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x000CE5], + [0x000CF0, 0x001CE8], + [0x001CEA, 0x001CF1], + [0x001CF3, 0x001CF9], + [0x001CFB, 0x00A82F], + [0x00A836, 0x00DBFF], + [0x00E000, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Nandinagari}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nandinagari}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Nand}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nand}" +); +testPropertyEscapes( + /^\P{scx=Nandinagari}+$/u, + nonMatchSymbols, + "\\P{scx=Nandinagari}" +); +testPropertyEscapes( + /^\P{scx=Nand}+$/u, + nonMatchSymbols, + "\\P{scx=Nand}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_New_Tai_Lue.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_New_Tai_Lue.js new file mode 100644 index 0000000000..157094969e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_New_Tai_Lue.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=New_Tai_Lue` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x0019DE, 0x0019DF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=New_Tai_Lue}+$/u, + matchSymbols, + "\\p{Script_Extensions=New_Tai_Lue}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Talu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Talu}" +); +testPropertyEscapes( + /^\p{scx=New_Tai_Lue}+$/u, + matchSymbols, + "\\p{scx=New_Tai_Lue}" +); +testPropertyEscapes( + /^\p{scx=Talu}+$/u, + matchSymbols, + "\\p{scx=Talu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019DD], + [0x0019E0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=New_Tai_Lue}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=New_Tai_Lue}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Talu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Talu}" +); +testPropertyEscapes( + /^\P{scx=New_Tai_Lue}+$/u, + nonMatchSymbols, + "\\P{scx=New_Tai_Lue}" +); +testPropertyEscapes( + /^\P{scx=Talu}+$/u, + nonMatchSymbols, + "\\P{scx=Talu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Newa.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Newa.js new file mode 100644 index 0000000000..6298afe766 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Newa.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Newa` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011400, 0x01145B], + [0x01145D, 0x011461] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Newa}+$/u, + matchSymbols, + "\\p{Script_Extensions=Newa}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Newa}+$/u, + matchSymbols, + "\\p{Script_Extensions=Newa}" +); +testPropertyEscapes( + /^\p{scx=Newa}+$/u, + matchSymbols, + "\\p{scx=Newa}" +); +testPropertyEscapes( + /^\p{scx=Newa}+$/u, + matchSymbols, + "\\p{scx=Newa}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01145C + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0113FF], + [0x011462, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Newa}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Newa}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Newa}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Newa}" +); +testPropertyEscapes( + /^\P{scx=Newa}+$/u, + nonMatchSymbols, + "\\P{scx=Newa}" +); +testPropertyEscapes( + /^\P{scx=Newa}+$/u, + nonMatchSymbols, + "\\P{scx=Newa}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js new file mode 100644 index 0000000000..4c714c9585 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Nko` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0007C0, 0x0007FA], + [0x0007FD, 0x0007FF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Nko}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nko}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Nkoo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nkoo}" +); +testPropertyEscapes( + /^\p{scx=Nko}+$/u, + matchSymbols, + "\\p{scx=Nko}" +); +testPropertyEscapes( + /^\p{scx=Nkoo}+$/u, + matchSymbols, + "\\p{scx=Nkoo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0007BF], + [0x0007FB, 0x0007FC], + [0x000800, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Nko}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nko}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Nkoo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nkoo}" +); +testPropertyEscapes( + /^\P{scx=Nko}+$/u, + nonMatchSymbols, + "\\P{scx=Nko}" +); +testPropertyEscapes( + /^\P{scx=Nkoo}+$/u, + nonMatchSymbols, + "\\P{scx=Nkoo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nushu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nushu.js new file mode 100644 index 0000000000..ac616433c2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nushu.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Nushu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE1 + ], + ranges: [ + [0x01B170, 0x01B2FB] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Nushu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nushu}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Nshu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nshu}" +); +testPropertyEscapes( + /^\p{scx=Nushu}+$/u, + matchSymbols, + "\\p{scx=Nushu}" +); +testPropertyEscapes( + /^\p{scx=Nshu}+$/u, + matchSymbols, + "\\p{scx=Nshu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016FE0], + [0x016FE2, 0x01B16F], + [0x01B2FC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Nushu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nushu}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Nshu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nshu}" +); +testPropertyEscapes( + /^\P{scx=Nushu}+$/u, + nonMatchSymbols, + "\\P{scx=Nushu}" +); +testPropertyEscapes( + /^\P{scx=Nshu}+$/u, + nonMatchSymbols, + "\\P{scx=Nshu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nyiakeng_Puachue_Hmong.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nyiakeng_Puachue_Hmong.js new file mode 100644 index 0000000000..68a15272ce --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nyiakeng_Puachue_Hmong.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Nyiakeng_Puachue_Hmong` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E14E, 0x01E14F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Nyiakeng_Puachue_Hmong}+$/u, + matchSymbols, + "\\p{Script_Extensions=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hmnp}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hmnp}" +); +testPropertyEscapes( + /^\p{scx=Nyiakeng_Puachue_Hmong}+$/u, + matchSymbols, + "\\p{scx=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\p{scx=Hmnp}+$/u, + matchSymbols, + "\\p{scx=Hmnp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E150, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Nyiakeng_Puachue_Hmong}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hmnp}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hmnp}" +); +testPropertyEscapes( + /^\P{scx=Nyiakeng_Puachue_Hmong}+$/u, + nonMatchSymbols, + "\\P{scx=Nyiakeng_Puachue_Hmong}" +); +testPropertyEscapes( + /^\P{scx=Hmnp}+$/u, + nonMatchSymbols, + "\\P{scx=Hmnp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ogham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ogham.js new file mode 100644 index 0000000000..88dc975a57 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ogham.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Ogham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001680, 0x00169C] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Ogham}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ogham}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Ogam}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ogam}" +); +testPropertyEscapes( + /^\p{scx=Ogham}+$/u, + matchSymbols, + "\\p{scx=Ogham}" +); +testPropertyEscapes( + /^\p{scx=Ogam}+$/u, + matchSymbols, + "\\p{scx=Ogam}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00167F], + [0x00169D, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Ogham}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ogham}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Ogam}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ogam}" +); +testPropertyEscapes( + /^\P{scx=Ogham}+$/u, + nonMatchSymbols, + "\\P{scx=Ogham}" +); +testPropertyEscapes( + /^\P{scx=Ogam}+$/u, + nonMatchSymbols, + "\\P{scx=Ogam}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ol_Chiki.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ol_Chiki.js new file mode 100644 index 0000000000..e09320d48b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ol_Chiki.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Ol_Chiki` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001C50, 0x001C7F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Ol_Chiki}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ol_Chiki}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Olck}+$/u, + matchSymbols, + "\\p{Script_Extensions=Olck}" +); +testPropertyEscapes( + /^\p{scx=Ol_Chiki}+$/u, + matchSymbols, + "\\p{scx=Ol_Chiki}" +); +testPropertyEscapes( + /^\p{scx=Olck}+$/u, + matchSymbols, + "\\p{scx=Olck}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001C4F], + [0x001C80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Ol_Chiki}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ol_Chiki}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Olck}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Olck}" +); +testPropertyEscapes( + /^\P{scx=Ol_Chiki}+$/u, + nonMatchSymbols, + "\\P{scx=Ol_Chiki}" +); +testPropertyEscapes( + /^\P{scx=Olck}+$/u, + nonMatchSymbols, + "\\P{scx=Olck}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js new file mode 100644 index 0000000000..f739b0f35c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_Hungarian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010CFA, 0x010CFF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_Hungarian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_Hungarian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hung}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hung}" +); +testPropertyEscapes( + /^\p{scx=Old_Hungarian}+$/u, + matchSymbols, + "\\p{scx=Old_Hungarian}" +); +testPropertyEscapes( + /^\p{scx=Hung}+$/u, + matchSymbols, + "\\p{scx=Hung}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CF9], + [0x010D00, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_Hungarian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_Hungarian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hung}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hung}" +); +testPropertyEscapes( + /^\P{scx=Old_Hungarian}+$/u, + nonMatchSymbols, + "\\P{scx=Old_Hungarian}" +); +testPropertyEscapes( + /^\P{scx=Hung}+$/u, + nonMatchSymbols, + "\\P{scx=Hung}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Italic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Italic.js new file mode 100644 index 0000000000..21daff9906 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Italic.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_Italic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010300, 0x010323], + [0x01032D, 0x01032F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_Italic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_Italic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Ital}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ital}" +); +testPropertyEscapes( + /^\p{scx=Old_Italic}+$/u, + matchSymbols, + "\\p{scx=Old_Italic}" +); +testPropertyEscapes( + /^\p{scx=Ital}+$/u, + matchSymbols, + "\\p{scx=Ital}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0102FF], + [0x010324, 0x01032C], + [0x010330, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_Italic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_Italic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Ital}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ital}" +); +testPropertyEscapes( + /^\P{scx=Old_Italic}+$/u, + nonMatchSymbols, + "\\P{scx=Old_Italic}" +); +testPropertyEscapes( + /^\P{scx=Ital}+$/u, + nonMatchSymbols, + "\\P{scx=Ital}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_North_Arabian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_North_Arabian.js new file mode 100644 index 0000000000..c6bb0ab77e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_North_Arabian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_North_Arabian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010A80, 0x010A9F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_North_Arabian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_North_Arabian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Narb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Narb}" +); +testPropertyEscapes( + /^\p{scx=Old_North_Arabian}+$/u, + matchSymbols, + "\\p{scx=Old_North_Arabian}" +); +testPropertyEscapes( + /^\p{scx=Narb}+$/u, + matchSymbols, + "\\p{scx=Narb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010A7F], + [0x010AA0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_North_Arabian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_North_Arabian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Narb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Narb}" +); +testPropertyEscapes( + /^\P{scx=Old_North_Arabian}+$/u, + nonMatchSymbols, + "\\P{scx=Old_North_Arabian}" +); +testPropertyEscapes( + /^\P{scx=Narb}+$/u, + nonMatchSymbols, + "\\P{scx=Narb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js new file mode 100644 index 0000000000..031329af4c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_Permic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000483 + ], + ranges: [ + [0x010350, 0x01037A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_Permic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_Permic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Perm}+$/u, + matchSymbols, + "\\p{Script_Extensions=Perm}" +); +testPropertyEscapes( + /^\p{scx=Old_Permic}+$/u, + matchSymbols, + "\\p{scx=Old_Permic}" +); +testPropertyEscapes( + /^\p{scx=Perm}+$/u, + matchSymbols, + "\\p{scx=Perm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000482], + [0x000484, 0x00DBFF], + [0x00E000, 0x01034F], + [0x01037B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_Permic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_Permic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Perm}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Perm}" +); +testPropertyEscapes( + /^\P{scx=Old_Permic}+$/u, + nonMatchSymbols, + "\\P{scx=Old_Permic}" +); +testPropertyEscapes( + /^\P{scx=Perm}+$/u, + nonMatchSymbols, + "\\P{scx=Perm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Persian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Persian.js new file mode 100644 index 0000000000..c3fe605867 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Persian.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_Persian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103D5] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_Persian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_Persian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Xpeo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Xpeo}" +); +testPropertyEscapes( + /^\p{scx=Old_Persian}+$/u, + matchSymbols, + "\\p{scx=Old_Persian}" +); +testPropertyEscapes( + /^\p{scx=Xpeo}+$/u, + matchSymbols, + "\\p{scx=Xpeo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_Persian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_Persian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Xpeo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Xpeo}" +); +testPropertyEscapes( + /^\P{scx=Old_Persian}+$/u, + nonMatchSymbols, + "\\P{scx=Old_Persian}" +); +testPropertyEscapes( + /^\P{scx=Xpeo}+$/u, + nonMatchSymbols, + "\\P{scx=Xpeo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Sogdian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Sogdian.js new file mode 100644 index 0000000000..03cc401bc2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Sogdian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_Sogdian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010F00, 0x010F27] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_Sogdian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_Sogdian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sogo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sogo}" +); +testPropertyEscapes( + /^\p{scx=Old_Sogdian}+$/u, + matchSymbols, + "\\p{scx=Old_Sogdian}" +); +testPropertyEscapes( + /^\p{scx=Sogo}+$/u, + matchSymbols, + "\\p{scx=Sogo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010EFF], + [0x010F28, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_Sogdian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_Sogdian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sogo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sogo}" +); +testPropertyEscapes( + /^\P{scx=Old_Sogdian}+$/u, + nonMatchSymbols, + "\\P{scx=Old_Sogdian}" +); +testPropertyEscapes( + /^\P{scx=Sogo}+$/u, + nonMatchSymbols, + "\\P{scx=Sogo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_South_Arabian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_South_Arabian.js new file mode 100644 index 0000000000..b9b4ac4e81 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_South_Arabian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_South_Arabian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010A60, 0x010A7F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_South_Arabian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_South_Arabian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sarb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sarb}" +); +testPropertyEscapes( + /^\p{scx=Old_South_Arabian}+$/u, + matchSymbols, + "\\p{scx=Old_South_Arabian}" +); +testPropertyEscapes( + /^\p{scx=Sarb}+$/u, + matchSymbols, + "\\p{scx=Sarb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010A5F], + [0x010A80, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_South_Arabian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_South_Arabian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sarb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sarb}" +); +testPropertyEscapes( + /^\P{scx=Old_South_Arabian}+$/u, + nonMatchSymbols, + "\\P{scx=Old_South_Arabian}" +); +testPropertyEscapes( + /^\P{scx=Sarb}+$/u, + nonMatchSymbols, + "\\P{scx=Sarb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js new file mode 100644 index 0000000000..e139582fef --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Old_Turkic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010C00, 0x010C48] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Old_Turkic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Old_Turkic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Orkh}+$/u, + matchSymbols, + "\\p{Script_Extensions=Orkh}" +); +testPropertyEscapes( + /^\p{scx=Old_Turkic}+$/u, + matchSymbols, + "\\p{scx=Old_Turkic}" +); +testPropertyEscapes( + /^\p{scx=Orkh}+$/u, + matchSymbols, + "\\p{scx=Orkh}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x010BFF], + [0x010C49, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Old_Turkic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Old_Turkic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Orkh}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Orkh}" +); +testPropertyEscapes( + /^\P{scx=Old_Turkic}+$/u, + nonMatchSymbols, + "\\P{scx=Old_Turkic}" +); +testPropertyEscapes( + /^\P{scx=Orkh}+$/u, + nonMatchSymbols, + "\\P{scx=Orkh}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Oriya.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Oriya.js new file mode 100644 index 0000000000..25d964c010 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Oriya.js @@ -0,0 +1,109 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Oriya` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001CDA, + 0x001CF2 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B77] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Oriya}+$/u, + matchSymbols, + "\\p{Script_Extensions=Oriya}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Orya}+$/u, + matchSymbols, + "\\p{Script_Extensions=Orya}" +); +testPropertyEscapes( + /^\p{scx=Oriya}+$/u, + matchSymbols, + "\\p{scx=Oriya}" +); +testPropertyEscapes( + /^\p{scx=Orya}+$/u, + matchSymbols, + "\\p{scx=Orya}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000B00], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B78, 0x001CD9], + [0x001CDB, 0x001CF1], + [0x001CF3, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Oriya}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Oriya}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Orya}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Orya}" +); +testPropertyEscapes( + /^\P{scx=Oriya}+$/u, + nonMatchSymbols, + "\\P{scx=Oriya}" +); +testPropertyEscapes( + /^\P{scx=Orya}+$/u, + nonMatchSymbols, + "\\P{scx=Orya}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js new file mode 100644 index 0000000000..10ca7a2f60 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Osage` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Osage}+$/u, + matchSymbols, + "\\p{Script_Extensions=Osage}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Osge}+$/u, + matchSymbols, + "\\p{Script_Extensions=Osge}" +); +testPropertyEscapes( + /^\p{scx=Osage}+$/u, + matchSymbols, + "\\p{scx=Osage}" +); +testPropertyEscapes( + /^\p{scx=Osge}+$/u, + matchSymbols, + "\\p{scx=Osge}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Osage}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Osage}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Osge}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Osge}" +); +testPropertyEscapes( + /^\P{scx=Osage}+$/u, + nonMatchSymbols, + "\\P{scx=Osage}" +); +testPropertyEscapes( + /^\P{scx=Osge}+$/u, + nonMatchSymbols, + "\\P{scx=Osge}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osmanya.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osmanya.js new file mode 100644 index 0000000000..575f884fa1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osmanya.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Osmanya` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010480, 0x01049D], + [0x0104A0, 0x0104A9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Osmanya}+$/u, + matchSymbols, + "\\p{Script_Extensions=Osmanya}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Osma}+$/u, + matchSymbols, + "\\p{Script_Extensions=Osma}" +); +testPropertyEscapes( + /^\p{scx=Osmanya}+$/u, + matchSymbols, + "\\p{scx=Osmanya}" +); +testPropertyEscapes( + /^\p{scx=Osma}+$/u, + matchSymbols, + "\\p{scx=Osma}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01047F], + [0x01049E, 0x01049F], + [0x0104AA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Osmanya}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Osmanya}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Osma}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Osma}" +); +testPropertyEscapes( + /^\P{scx=Osmanya}+$/u, + nonMatchSymbols, + "\\P{scx=Osmanya}" +); +testPropertyEscapes( + /^\P{scx=Osma}+$/u, + nonMatchSymbols, + "\\P{scx=Osma}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pahawh_Hmong.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pahawh_Hmong.js new file mode 100644 index 0000000000..45eb4f4a61 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pahawh_Hmong.js @@ -0,0 +1,82 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Pahawh_Hmong` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x016B00, 0x016B45], + [0x016B50, 0x016B59], + [0x016B5B, 0x016B61], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Pahawh_Hmong}+$/u, + matchSymbols, + "\\p{Script_Extensions=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Hmng}+$/u, + matchSymbols, + "\\p{Script_Extensions=Hmng}" +); +testPropertyEscapes( + /^\p{scx=Pahawh_Hmong}+$/u, + matchSymbols, + "\\p{scx=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\p{scx=Hmng}+$/u, + matchSymbols, + "\\p{scx=Hmng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x016B5A, + 0x016B62 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016AFF], + [0x016B46, 0x016B4F], + [0x016B78, 0x016B7C], + [0x016B90, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Pahawh_Hmong}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Hmng}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Hmng}" +); +testPropertyEscapes( + /^\P{scx=Pahawh_Hmong}+$/u, + nonMatchSymbols, + "\\P{scx=Pahawh_Hmong}" +); +testPropertyEscapes( + /^\P{scx=Hmng}+$/u, + nonMatchSymbols, + "\\P{scx=Hmng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Palmyrene.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Palmyrene.js new file mode 100644 index 0000000000..0a77f46de6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Palmyrene.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Palmyrene` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010860, 0x01087F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Palmyrene}+$/u, + matchSymbols, + "\\p{Script_Extensions=Palmyrene}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Palm}+$/u, + matchSymbols, + "\\p{Script_Extensions=Palm}" +); +testPropertyEscapes( + /^\p{scx=Palmyrene}+$/u, + matchSymbols, + "\\p{scx=Palmyrene}" +); +testPropertyEscapes( + /^\p{scx=Palm}+$/u, + matchSymbols, + "\\p{scx=Palm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01085F], + [0x010880, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Palmyrene}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Palmyrene}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Palm}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Palm}" +); +testPropertyEscapes( + /^\P{scx=Palmyrene}+$/u, + nonMatchSymbols, + "\\P{scx=Palmyrene}" +); +testPropertyEscapes( + /^\P{scx=Palm}+$/u, + nonMatchSymbols, + "\\P{scx=Palm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pau_Cin_Hau.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pau_Cin_Hau.js new file mode 100644 index 0000000000..1c12f45e28 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pau_Cin_Hau.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Pau_Cin_Hau` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011AC0, 0x011AF8] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Pau_Cin_Hau}+$/u, + matchSymbols, + "\\p{Script_Extensions=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Pauc}+$/u, + matchSymbols, + "\\p{Script_Extensions=Pauc}" +); +testPropertyEscapes( + /^\p{scx=Pau_Cin_Hau}+$/u, + matchSymbols, + "\\p{scx=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\p{scx=Pauc}+$/u, + matchSymbols, + "\\p{scx=Pauc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011ABF], + [0x011AF9, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Pau_Cin_Hau}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Pauc}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Pauc}" +); +testPropertyEscapes( + /^\P{scx=Pau_Cin_Hau}+$/u, + nonMatchSymbols, + "\\P{scx=Pau_Cin_Hau}" +); +testPropertyEscapes( + /^\P{scx=Pauc}+$/u, + nonMatchSymbols, + "\\P{scx=Pauc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js new file mode 100644 index 0000000000..138468144b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Phags_Pa` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001805 + ], + ranges: [ + [0x001802, 0x001803], + [0x00A840, 0x00A877] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Phags_Pa}+$/u, + matchSymbols, + "\\p{Script_Extensions=Phags_Pa}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Phag}+$/u, + matchSymbols, + "\\p{Script_Extensions=Phag}" +); +testPropertyEscapes( + /^\p{scx=Phags_Pa}+$/u, + matchSymbols, + "\\p{scx=Phags_Pa}" +); +testPropertyEscapes( + /^\p{scx=Phag}+$/u, + matchSymbols, + "\\p{scx=Phag}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001804 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001801], + [0x001806, 0x00A83F], + [0x00A878, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Phags_Pa}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Phags_Pa}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Phag}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Phag}" +); +testPropertyEscapes( + /^\P{scx=Phags_Pa}+$/u, + nonMatchSymbols, + "\\P{scx=Phags_Pa}" +); +testPropertyEscapes( + /^\P{scx=Phag}+$/u, + nonMatchSymbols, + "\\P{scx=Phag}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phoenician.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phoenician.js new file mode 100644 index 0000000000..4a22acfa50 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phoenician.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Phoenician` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01091F + ], + ranges: [ + [0x010900, 0x01091B] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Phoenician}+$/u, + matchSymbols, + "\\p{Script_Extensions=Phoenician}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Phnx}+$/u, + matchSymbols, + "\\p{Script_Extensions=Phnx}" +); +testPropertyEscapes( + /^\p{scx=Phoenician}+$/u, + matchSymbols, + "\\p{scx=Phoenician}" +); +testPropertyEscapes( + /^\p{scx=Phnx}+$/u, + matchSymbols, + "\\p{scx=Phnx}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0108FF], + [0x01091C, 0x01091E], + [0x010920, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Phoenician}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Phoenician}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Phnx}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Phnx}" +); +testPropertyEscapes( + /^\P{scx=Phoenician}+$/u, + nonMatchSymbols, + "\\P{scx=Phoenician}" +); +testPropertyEscapes( + /^\P{scx=Phnx}+$/u, + nonMatchSymbols, + "\\P{scx=Phnx}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Psalter_Pahlavi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Psalter_Pahlavi.js new file mode 100644 index 0000000000..53dade8ba3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Psalter_Pahlavi.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Psalter_Pahlavi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000640 + ], + ranges: [ + [0x010B80, 0x010B91], + [0x010B99, 0x010B9C], + [0x010BA9, 0x010BAF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Psalter_Pahlavi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Phlp}+$/u, + matchSymbols, + "\\p{Script_Extensions=Phlp}" +); +testPropertyEscapes( + /^\p{scx=Psalter_Pahlavi}+$/u, + matchSymbols, + "\\p{scx=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\p{scx=Phlp}+$/u, + matchSymbols, + "\\p{scx=Phlp}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00063F], + [0x000641, 0x00DBFF], + [0x00E000, 0x010B7F], + [0x010B92, 0x010B98], + [0x010B9D, 0x010BA8], + [0x010BB0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Psalter_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Phlp}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Phlp}" +); +testPropertyEscapes( + /^\P{scx=Psalter_Pahlavi}+$/u, + nonMatchSymbols, + "\\P{scx=Psalter_Pahlavi}" +); +testPropertyEscapes( + /^\P{scx=Phlp}+$/u, + nonMatchSymbols, + "\\P{scx=Phlp}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Rejang.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Rejang.js new file mode 100644 index 0000000000..c7924c31a7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Rejang.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Rejang` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00A95F + ], + ranges: [ + [0x00A930, 0x00A953] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Rejang}+$/u, + matchSymbols, + "\\p{Script_Extensions=Rejang}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Rjng}+$/u, + matchSymbols, + "\\p{Script_Extensions=Rjng}" +); +testPropertyEscapes( + /^\p{scx=Rejang}+$/u, + matchSymbols, + "\\p{scx=Rejang}" +); +testPropertyEscapes( + /^\p{scx=Rjng}+$/u, + matchSymbols, + "\\p{scx=Rjng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A92F], + [0x00A954, 0x00A95E], + [0x00A960, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Rejang}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Rejang}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Rjng}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Rjng}" +); +testPropertyEscapes( + /^\P{scx=Rejang}+$/u, + nonMatchSymbols, + "\\P{scx=Rejang}" +); +testPropertyEscapes( + /^\P{scx=Rjng}+$/u, + nonMatchSymbols, + "\\P{scx=Rjng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js new file mode 100644 index 0000000000..4979521e3c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Runic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Runic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Runic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Runr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Runr}" +); +testPropertyEscapes( + /^\p{scx=Runic}+$/u, + matchSymbols, + "\\p{scx=Runic}" +); +testPropertyEscapes( + /^\p{scx=Runr}+$/u, + matchSymbols, + "\\p{scx=Runr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Runic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Runic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Runr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Runr}" +); +testPropertyEscapes( + /^\P{scx=Runic}+$/u, + nonMatchSymbols, + "\\P{scx=Runic}" +); +testPropertyEscapes( + /^\P{scx=Runr}+$/u, + nonMatchSymbols, + "\\P{scx=Runr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js new file mode 100644 index 0000000000..b95ed2deff --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Samaritan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000800, 0x00082D], + [0x000830, 0x00083E] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Samaritan}+$/u, + matchSymbols, + "\\p{Script_Extensions=Samaritan}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Samr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Samr}" +); +testPropertyEscapes( + /^\p{scx=Samaritan}+$/u, + matchSymbols, + "\\p{scx=Samaritan}" +); +testPropertyEscapes( + /^\p{scx=Samr}+$/u, + matchSymbols, + "\\p{scx=Samr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0007FF], + [0x00082E, 0x00082F], + [0x00083F, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Samaritan}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Samaritan}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Samr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Samr}" +); +testPropertyEscapes( + /^\P{scx=Samaritan}+$/u, + nonMatchSymbols, + "\\P{scx=Samaritan}" +); +testPropertyEscapes( + /^\P{scx=Samr}+$/u, + nonMatchSymbols, + "\\P{scx=Samr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Saurashtra.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Saurashtra.js new file mode 100644 index 0000000000..89ae6a56c8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Saurashtra.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Saurashtra` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A880, 0x00A8C5], + [0x00A8CE, 0x00A8D9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Saurashtra}+$/u, + matchSymbols, + "\\p{Script_Extensions=Saurashtra}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Saur}+$/u, + matchSymbols, + "\\p{Script_Extensions=Saur}" +); +testPropertyEscapes( + /^\p{scx=Saurashtra}+$/u, + matchSymbols, + "\\p{scx=Saurashtra}" +); +testPropertyEscapes( + /^\p{scx=Saur}+$/u, + matchSymbols, + "\\p{scx=Saur}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A87F], + [0x00A8C6, 0x00A8CD], + [0x00A8DA, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Saurashtra}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Saurashtra}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Saur}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Saur}" +); +testPropertyEscapes( + /^\P{scx=Saurashtra}+$/u, + nonMatchSymbols, + "\\P{scx=Saurashtra}" +); +testPropertyEscapes( + /^\P{scx=Saur}+$/u, + nonMatchSymbols, + "\\P{scx=Saur}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js new file mode 100644 index 0000000000..8ad6bc9da0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js @@ -0,0 +1,85 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Sharada` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000951, + 0x001CD7, + 0x001CD9, + 0x001CE0 + ], + ranges: [ + [0x001CDC, 0x001CDD], + [0x011180, 0x0111DF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Sharada}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sharada}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Shrd}+$/u, + matchSymbols, + "\\p{Script_Extensions=Shrd}" +); +testPropertyEscapes( + /^\p{scx=Sharada}+$/u, + matchSymbols, + "\\p{scx=Sharada}" +); +testPropertyEscapes( + /^\p{scx=Shrd}+$/u, + matchSymbols, + "\\p{scx=Shrd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001CD8 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000952, 0x001CD6], + [0x001CDA, 0x001CDB], + [0x001CDE, 0x001CDF], + [0x001CE1, 0x00DBFF], + [0x00E000, 0x01117F], + [0x0111E0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Sharada}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sharada}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Shrd}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Shrd}" +); +testPropertyEscapes( + /^\P{scx=Sharada}+$/u, + nonMatchSymbols, + "\\P{scx=Sharada}" +); +testPropertyEscapes( + /^\P{scx=Shrd}+$/u, + nonMatchSymbols, + "\\P{scx=Shrd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js new file mode 100644 index 0000000000..09b9181e38 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Shavian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x010450, 0x01047F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Shavian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Shavian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Shaw}+$/u, + matchSymbols, + "\\p{Script_Extensions=Shaw}" +); +testPropertyEscapes( + /^\p{scx=Shavian}+$/u, + matchSymbols, + "\\p{scx=Shavian}" +); +testPropertyEscapes( + /^\p{scx=Shaw}+$/u, + matchSymbols, + "\\p{scx=Shaw}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01044F], + [0x010480, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Shavian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Shavian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Shaw}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Shaw}" +); +testPropertyEscapes( + /^\P{scx=Shavian}+$/u, + nonMatchSymbols, + "\\P{scx=Shavian}" +); +testPropertyEscapes( + /^\P{scx=Shaw}+$/u, + nonMatchSymbols, + "\\P{scx=Shaw}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Siddham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Siddham.js new file mode 100644 index 0000000000..74297ac189 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Siddham.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Siddham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011580, 0x0115B5], + [0x0115B8, 0x0115DD] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Siddham}+$/u, + matchSymbols, + "\\p{Script_Extensions=Siddham}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sidd}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sidd}" +); +testPropertyEscapes( + /^\p{scx=Siddham}+$/u, + matchSymbols, + "\\p{scx=Siddham}" +); +testPropertyEscapes( + /^\p{scx=Sidd}+$/u, + matchSymbols, + "\\p{scx=Sidd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115DE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Siddham}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Siddham}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sidd}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sidd}" +); +testPropertyEscapes( + /^\P{scx=Siddham}+$/u, + nonMatchSymbols, + "\\P{scx=Siddham}" +); +testPropertyEscapes( + /^\P{scx=Sidd}+$/u, + nonMatchSymbols, + "\\P{scx=Sidd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_SignWriting.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_SignWriting.js new file mode 100644 index 0000000000..8b26452fa8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_SignWriting.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=SignWriting` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x01D800, 0x01DA8B], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=SignWriting}+$/u, + matchSymbols, + "\\p{Script_Extensions=SignWriting}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sgnw}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sgnw}" +); +testPropertyEscapes( + /^\p{scx=SignWriting}+$/u, + matchSymbols, + "\\p{scx=SignWriting}" +); +testPropertyEscapes( + /^\p{scx=Sgnw}+$/u, + matchSymbols, + "\\p{scx=Sgnw}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01DAA0 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01D7FF], + [0x01DA8C, 0x01DA9A], + [0x01DAB0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=SignWriting}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=SignWriting}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sgnw}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sgnw}" +); +testPropertyEscapes( + /^\P{scx=SignWriting}+$/u, + nonMatchSymbols, + "\\P{scx=SignWriting}" +); +testPropertyEscapes( + /^\P{scx=Sgnw}+$/u, + nonMatchSymbols, + "\\P{scx=Sgnw}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js new file mode 100644 index 0000000000..90dc13c0e1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js @@ -0,0 +1,101 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Sinhala` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000DBD, + 0x000DCA, + 0x000DD6 + ], + ranges: [ + [0x000964, 0x000965], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF4], + [0x0111E1, 0x0111F4] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Sinhala}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sinhala}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sinh}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sinh}" +); +testPropertyEscapes( + /^\p{scx=Sinhala}+$/u, + matchSymbols, + "\\p{scx=Sinhala}" +); +testPropertyEscapes( + /^\p{scx=Sinh}+$/u, + matchSymbols, + "\\p{scx=Sinh}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x000D80], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF5, 0x00DBFF], + [0x00E000, 0x0111E0], + [0x0111F5, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Sinhala}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sinhala}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sinh}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sinh}" +); +testPropertyEscapes( + /^\P{scx=Sinhala}+$/u, + nonMatchSymbols, + "\\P{scx=Sinhala}" +); +testPropertyEscapes( + /^\P{scx=Sinh}+$/u, + nonMatchSymbols, + "\\P{scx=Sinh}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sogdian.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sogdian.js new file mode 100644 index 0000000000..bac638bcad --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sogdian.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Sogdian` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000640 + ], + ranges: [ + [0x010F30, 0x010F59] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Sogdian}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sogdian}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sogd}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sogd}" +); +testPropertyEscapes( + /^\p{scx=Sogdian}+$/u, + matchSymbols, + "\\p{scx=Sogdian}" +); +testPropertyEscapes( + /^\p{scx=Sogd}+$/u, + matchSymbols, + "\\p{scx=Sogd}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00063F], + [0x000641, 0x00DBFF], + [0x00E000, 0x010F2F], + [0x010F5A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Sogdian}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sogdian}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sogd}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sogd}" +); +testPropertyEscapes( + /^\P{scx=Sogdian}+$/u, + nonMatchSymbols, + "\\P{scx=Sogdian}" +); +testPropertyEscapes( + /^\P{scx=Sogd}+$/u, + nonMatchSymbols, + "\\P{scx=Sogd}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sora_Sompeng.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sora_Sompeng.js new file mode 100644 index 0000000000..df95e89c43 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sora_Sompeng.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Sora_Sompeng` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Sora_Sompeng}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sora_Sompeng}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sora}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sora}" +); +testPropertyEscapes( + /^\p{scx=Sora_Sompeng}+$/u, + matchSymbols, + "\\p{scx=Sora_Sompeng}" +); +testPropertyEscapes( + /^\p{scx=Sora}+$/u, + matchSymbols, + "\\p{scx=Sora}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Sora_Sompeng}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sora_Sompeng}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sora}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sora}" +); +testPropertyEscapes( + /^\P{scx=Sora_Sompeng}+$/u, + nonMatchSymbols, + "\\P{scx=Sora_Sompeng}" +); +testPropertyEscapes( + /^\P{scx=Sora}+$/u, + nonMatchSymbols, + "\\P{scx=Sora}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Soyombo.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Soyombo.js new file mode 100644 index 0000000000..9fa5167036 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Soyombo.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Soyombo` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011A50, 0x011AA2] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Soyombo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Soyombo}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Soyo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Soyo}" +); +testPropertyEscapes( + /^\p{scx=Soyombo}+$/u, + matchSymbols, + "\\p{scx=Soyombo}" +); +testPropertyEscapes( + /^\p{scx=Soyo}+$/u, + matchSymbols, + "\\p{scx=Soyo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x011A4F], + [0x011AA3, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Soyombo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Soyombo}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Soyo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Soyo}" +); +testPropertyEscapes( + /^\P{scx=Soyombo}+$/u, + nonMatchSymbols, + "\\P{scx=Soyombo}" +); +testPropertyEscapes( + /^\P{scx=Soyo}+$/u, + nonMatchSymbols, + "\\P{scx=Soyo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sundanese.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sundanese.js new file mode 100644 index 0000000000..011bd301ac --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sundanese.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Sundanese` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001B80, 0x001BBF], + [0x001CC0, 0x001CC7] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Sundanese}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sundanese}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sund}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sund}" +); +testPropertyEscapes( + /^\p{scx=Sundanese}+$/u, + matchSymbols, + "\\p{scx=Sundanese}" +); +testPropertyEscapes( + /^\p{scx=Sund}+$/u, + matchSymbols, + "\\p{scx=Sund}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001B7F], + [0x001BC0, 0x001CBF], + [0x001CC8, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Sundanese}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sundanese}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sund}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sund}" +); +testPropertyEscapes( + /^\P{scx=Sundanese}+$/u, + nonMatchSymbols, + "\\P{scx=Sundanese}" +); +testPropertyEscapes( + /^\P{scx=Sund}+$/u, + nonMatchSymbols, + "\\P{scx=Sund}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syloti_Nagri.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syloti_Nagri.js new file mode 100644 index 0000000000..1173bc04fe --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syloti_Nagri.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Syloti_Nagri` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000964, 0x000965], + [0x0009E6, 0x0009EF], + [0x00A800, 0x00A82C] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Syloti_Nagri}+$/u, + matchSymbols, + "\\p{Script_Extensions=Syloti_Nagri}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Sylo}+$/u, + matchSymbols, + "\\p{Script_Extensions=Sylo}" +); +testPropertyEscapes( + /^\p{scx=Syloti_Nagri}+$/u, + matchSymbols, + "\\p{scx=Syloti_Nagri}" +); +testPropertyEscapes( + /^\p{scx=Sylo}+$/u, + matchSymbols, + "\\p{scx=Sylo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x0009E5], + [0x0009F0, 0x00A7FF], + [0x00A82D, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Syloti_Nagri}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Syloti_Nagri}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Sylo}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Sylo}" +); +testPropertyEscapes( + /^\P{scx=Syloti_Nagri}+$/u, + nonMatchSymbols, + "\\P{scx=Syloti_Nagri}" +); +testPropertyEscapes( + /^\P{scx=Sylo}+$/u, + nonMatchSymbols, + "\\P{scx=Sylo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js new file mode 100644 index 0000000000..97e2bf8439 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js @@ -0,0 +1,95 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Syriac` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00060C, + 0x00061F, + 0x000640, + 0x000670, + 0x001DF8 + ], + ranges: [ + [0x00061B, 0x00061C], + [0x00064B, 0x000655], + [0x000700, 0x00070D], + [0x00070F, 0x00074A], + [0x00074D, 0x00074F], + [0x000860, 0x00086A] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Syriac}+$/u, + matchSymbols, + "\\p{Script_Extensions=Syriac}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Syrc}+$/u, + matchSymbols, + "\\p{Script_Extensions=Syrc}" +); +testPropertyEscapes( + /^\p{scx=Syriac}+$/u, + matchSymbols, + "\\p{scx=Syriac}" +); +testPropertyEscapes( + /^\p{scx=Syrc}+$/u, + matchSymbols, + "\\p{scx=Syrc}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00070E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00060B], + [0x00060D, 0x00061A], + [0x00061D, 0x00061E], + [0x000620, 0x00063F], + [0x000641, 0x00064A], + [0x000656, 0x00066F], + [0x000671, 0x0006FF], + [0x00074B, 0x00074C], + [0x000750, 0x00085F], + [0x00086B, 0x001DF7], + [0x001DF9, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Syriac}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Syriac}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Syrc}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Syrc}" +); +testPropertyEscapes( + /^\P{scx=Syriac}+$/u, + nonMatchSymbols, + "\\P{scx=Syriac}" +); +testPropertyEscapes( + /^\P{scx=Syrc}+$/u, + nonMatchSymbols, + "\\P{scx=Syrc}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js new file mode 100644 index 0000000000..8a72ece38e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tagalog` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001700, 0x00170C], + [0x00170E, 0x001714], + [0x001735, 0x001736] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tagalog}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tagalog}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tglg}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tglg}" +); +testPropertyEscapes( + /^\p{scx=Tagalog}+$/u, + matchSymbols, + "\\p{scx=Tagalog}" +); +testPropertyEscapes( + /^\p{scx=Tglg}+$/u, + matchSymbols, + "\\p{scx=Tglg}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00170D + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0016FF], + [0x001715, 0x001734], + [0x001737, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tagalog}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tagalog}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tglg}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tglg}" +); +testPropertyEscapes( + /^\P{scx=Tagalog}+$/u, + nonMatchSymbols, + "\\P{scx=Tagalog}" +); +testPropertyEscapes( + /^\P{scx=Tglg}+$/u, + nonMatchSymbols, + "\\P{scx=Tglg}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagbanwa.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagbanwa.js new file mode 100644 index 0000000000..da2932b8e2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagbanwa.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tagbanwa` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001735, 0x001736], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tagbanwa}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tagbanwa}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tagb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tagb}" +); +testPropertyEscapes( + /^\p{scx=Tagbanwa}+$/u, + matchSymbols, + "\\p{scx=Tagbanwa}" +); +testPropertyEscapes( + /^\p{scx=Tagb}+$/u, + matchSymbols, + "\\p{scx=Tagb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00176D, + 0x001771 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001734], + [0x001737, 0x00175F], + [0x001774, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tagbanwa}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tagbanwa}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tagb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tagb}" +); +testPropertyEscapes( + /^\P{scx=Tagbanwa}+$/u, + nonMatchSymbols, + "\\P{scx=Tagbanwa}" +); +testPropertyEscapes( + /^\P{scx=Tagb}+$/u, + nonMatchSymbols, + "\\P{scx=Tagb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js new file mode 100644 index 0000000000..211b621d30 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tai_Le` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001040, 0x001049], + [0x001950, 0x00196D], + [0x001970, 0x001974] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tai_Le}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tai_Le}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tale}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tale}" +); +testPropertyEscapes( + /^\p{scx=Tai_Le}+$/u, + matchSymbols, + "\\p{scx=Tai_Le}" +); +testPropertyEscapes( + /^\p{scx=Tale}+$/u, + matchSymbols, + "\\p{scx=Tale}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00103F], + [0x00104A, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tai_Le}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tai_Le}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tale}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tale}" +); +testPropertyEscapes( + /^\P{scx=Tai_Le}+$/u, + nonMatchSymbols, + "\\P{scx=Tai_Le}" +); +testPropertyEscapes( + /^\P{scx=Tale}+$/u, + nonMatchSymbols, + "\\P{scx=Tale}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Tham.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Tham.js new file mode 100644 index 0000000000..05677b4514 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Tham.js @@ -0,0 +1,82 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tai_Tham` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x001A20, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AA0, 0x001AAD] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tai_Tham}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tai_Tham}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Lana}+$/u, + matchSymbols, + "\\p{Script_Extensions=Lana}" +); +testPropertyEscapes( + /^\p{scx=Tai_Tham}+$/u, + matchSymbols, + "\\p{scx=Tai_Tham}" +); +testPropertyEscapes( + /^\p{scx=Lana}+$/u, + matchSymbols, + "\\p{scx=Lana}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x001A5F + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x001A1F], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001A9F], + [0x001AAE, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tai_Tham}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tai_Tham}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Lana}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Lana}" +); +testPropertyEscapes( + /^\P{scx=Tai_Tham}+$/u, + nonMatchSymbols, + "\\P{scx=Tai_Tham}" +); +testPropertyEscapes( + /^\P{scx=Lana}+$/u, + nonMatchSymbols, + "\\P{scx=Lana}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Viet.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Viet.js new file mode 100644 index 0000000000..a102d6d38e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Viet.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tai_Viet` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00AA80, 0x00AAC2], + [0x00AADB, 0x00AADF] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tai_Viet}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tai_Viet}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tavt}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tavt}" +); +testPropertyEscapes( + /^\p{scx=Tai_Viet}+$/u, + matchSymbols, + "\\p{scx=Tai_Viet}" +); +testPropertyEscapes( + /^\p{scx=Tavt}+$/u, + matchSymbols, + "\\p{scx=Tavt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00AA7F], + [0x00AAC3, 0x00AADA], + [0x00AAE0, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tai_Viet}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tai_Viet}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tavt}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tavt}" +); +testPropertyEscapes( + /^\P{scx=Tai_Viet}+$/u, + nonMatchSymbols, + "\\P{scx=Tai_Viet}" +); +testPropertyEscapes( + /^\P{scx=Tavt}+$/u, + nonMatchSymbols, + "\\P{scx=Tavt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js new file mode 100644 index 0000000000..701cea27e7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js @@ -0,0 +1,79 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Takri` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000964, 0x000965], + [0x00A830, 0x00A839], + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Takri}+$/u, + matchSymbols, + "\\p{Script_Extensions=Takri}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Takr}+$/u, + matchSymbols, + "\\p{Script_Extensions=Takr}" +); +testPropertyEscapes( + /^\p{scx=Takri}+$/u, + matchSymbols, + "\\p{scx=Takri}" +); +testPropertyEscapes( + /^\p{scx=Takr}+$/u, + matchSymbols, + "\\p{scx=Takr}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000963], + [0x000966, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Takri}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Takri}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Takr}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Takr}" +); +testPropertyEscapes( + /^\P{scx=Takri}+$/u, + nonMatchSymbols, + "\\P{scx=Takri}" +); +testPropertyEscapes( + /^\P{scx=Takr}+$/u, + nonMatchSymbols, + "\\P{scx=Takr}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tamil.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tamil.js new file mode 100644 index 0000000000..d1a7023a3a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tamil.js @@ -0,0 +1,123 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tamil` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x001CDA, + 0x00A8F3, + 0x011301, + 0x011303, + 0x011FFF + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BFA], + [0x01133B, 0x01133C], + [0x011FC0, 0x011FF1] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tamil}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tamil}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Taml}+$/u, + matchSymbols, + "\\p{Script_Extensions=Taml}" +); +testPropertyEscapes( + /^\p{scx=Tamil}+$/u, + matchSymbols, + "\\p{scx=Tamil}" +); +testPropertyEscapes( + /^\p{scx=Taml}+$/u, + matchSymbols, + "\\p{scx=Taml}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x011302 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BFB, 0x001CD9], + [0x001CDB, 0x00A8F2], + [0x00A8F4, 0x00DBFF], + [0x00E000, 0x011300], + [0x011304, 0x01133A], + [0x01133D, 0x011FBF], + [0x011FF2, 0x011FFE], + [0x012000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tamil}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tamil}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Taml}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Taml}" +); +testPropertyEscapes( + /^\P{scx=Tamil}+$/u, + nonMatchSymbols, + "\\P{scx=Tamil}" +); +testPropertyEscapes( + /^\P{scx=Taml}+$/u, + nonMatchSymbols, + "\\P{scx=Taml}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js new file mode 100644 index 0000000000..b75c092336 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js @@ -0,0 +1,80 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tangut` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x016FE0 + ], + ranges: [ + [0x017000, 0x0187F7], + [0x018800, 0x018AFF], + [0x018D00, 0x018D08] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tangut}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tangut}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tang}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tang}" +); +testPropertyEscapes( + /^\p{scx=Tangut}+$/u, + matchSymbols, + "\\p{scx=Tangut}" +); +testPropertyEscapes( + /^\p{scx=Tang}+$/u, + matchSymbols, + "\\p{scx=Tang}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x016FDF], + [0x016FE1, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018B00, 0x018CFF], + [0x018D09, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tangut}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tangut}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tang}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tang}" +); +testPropertyEscapes( + /^\P{scx=Tangut}+$/u, + nonMatchSymbols, + "\\P{scx=Tangut}" +); +testPropertyEscapes( + /^\P{scx=Tang}+$/u, + nonMatchSymbols, + "\\P{scx=Tang}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js new file mode 100644 index 0000000000..f3c1988a96 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js @@ -0,0 +1,105 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Telugu` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001CDA, + 0x001CF2 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C77, 0x000C7F] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Telugu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Telugu}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Telu}+$/u, + matchSymbols, + "\\p{Script_Extensions=Telu}" +); +testPropertyEscapes( + /^\p{scx=Telugu}+$/u, + matchSymbols, + "\\p{scx=Telugu}" +); +testPropertyEscapes( + /^\p{scx=Telu}+$/u, + matchSymbols, + "\\p{scx=Telu}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C76], + [0x000C80, 0x001CD9], + [0x001CDB, 0x001CF1], + [0x001CF3, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Telugu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Telugu}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Telu}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Telu}" +); +testPropertyEscapes( + /^\P{scx=Telugu}+$/u, + nonMatchSymbols, + "\\P{scx=Telugu}" +); +testPropertyEscapes( + /^\P{scx=Telu}+$/u, + nonMatchSymbols, + "\\P{scx=Telu}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thaana.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thaana.js new file mode 100644 index 0000000000..ad5f03e67d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thaana.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Thaana` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00060C, + 0x00061F, + 0x00FDF2, + 0x00FDFD + ], + ranges: [ + [0x00061B, 0x00061C], + [0x000660, 0x000669], + [0x000780, 0x0007B1] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Thaana}+$/u, + matchSymbols, + "\\p{Script_Extensions=Thaana}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Thaa}+$/u, + matchSymbols, + "\\p{Script_Extensions=Thaa}" +); +testPropertyEscapes( + /^\p{scx=Thaana}+$/u, + matchSymbols, + "\\p{scx=Thaana}" +); +testPropertyEscapes( + /^\p{scx=Thaa}+$/u, + matchSymbols, + "\\p{scx=Thaa}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00060B], + [0x00060D, 0x00061A], + [0x00061D, 0x00061E], + [0x000620, 0x00065F], + [0x00066A, 0x00077F], + [0x0007B2, 0x00DBFF], + [0x00E000, 0x00FDF1], + [0x00FDF3, 0x00FDFC], + [0x00FDFE, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Thaana}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Thaana}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Thaa}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Thaa}" +); +testPropertyEscapes( + /^\P{scx=Thaana}+$/u, + nonMatchSymbols, + "\\P{scx=Thaana}" +); +testPropertyEscapes( + /^\P{scx=Thaa}+$/u, + nonMatchSymbols, + "\\P{scx=Thaa}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js new file mode 100644 index 0000000000..b7acba181f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js @@ -0,0 +1,75 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Thai` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000E01, 0x000E3A], + [0x000E40, 0x000E5B] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Thai}+$/u, + matchSymbols, + "\\p{Script_Extensions=Thai}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Thai}+$/u, + matchSymbols, + "\\p{Script_Extensions=Thai}" +); +testPropertyEscapes( + /^\p{scx=Thai}+$/u, + matchSymbols, + "\\p{scx=Thai}" +); +testPropertyEscapes( + /^\p{scx=Thai}+$/u, + matchSymbols, + "\\p{scx=Thai}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000E00], + [0x000E3B, 0x000E3F], + [0x000E5C, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Thai}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Thai}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Thai}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Thai}" +); +testPropertyEscapes( + /^\P{scx=Thai}+$/u, + nonMatchSymbols, + "\\P{scx=Thai}" +); +testPropertyEscapes( + /^\P{scx=Thai}+$/u, + nonMatchSymbols, + "\\P{scx=Thai}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js new file mode 100644 index 0000000000..8eadc68206 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tibetan` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x000F00, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F97], + [0x000F99, 0x000FBC], + [0x000FBE, 0x000FCC], + [0x000FCE, 0x000FD4], + [0x000FD9, 0x000FDA] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tibetan}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tibetan}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tibt}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tibt}" +); +testPropertyEscapes( + /^\p{scx=Tibetan}+$/u, + matchSymbols, + "\\p{scx=Tibetan}" +); +testPropertyEscapes( + /^\p{scx=Tibt}+$/u, + matchSymbols, + "\\p{scx=Tibt}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000F48, + 0x000F98, + 0x000FBD, + 0x000FCD + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000EFF], + [0x000F6D, 0x000F70], + [0x000FD5, 0x000FD8], + [0x000FDB, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tibetan}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tibetan}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tibt}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tibt}" +); +testPropertyEscapes( + /^\P{scx=Tibetan}+$/u, + nonMatchSymbols, + "\\P{scx=Tibetan}" +); +testPropertyEscapes( + /^\P{scx=Tibt}+$/u, + nonMatchSymbols, + "\\P{scx=Tibt}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js new file mode 100644 index 0000000000..8c03e0b088 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js @@ -0,0 +1,78 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tifinagh` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x002D7F + ], + ranges: [ + [0x002D30, 0x002D67], + [0x002D6F, 0x002D70] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tifinagh}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tifinagh}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tfng}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tfng}" +); +testPropertyEscapes( + /^\p{scx=Tifinagh}+$/u, + matchSymbols, + "\\p{scx=Tifinagh}" +); +testPropertyEscapes( + /^\p{scx=Tfng}+$/u, + matchSymbols, + "\\p{scx=Tfng}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D71, 0x002D7E], + [0x002D80, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tifinagh}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tifinagh}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tfng}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tfng}" +); +testPropertyEscapes( + /^\P{scx=Tifinagh}+$/u, + nonMatchSymbols, + "\\P{scx=Tifinagh}" +); +testPropertyEscapes( + /^\P{scx=Tfng}+$/u, + nonMatchSymbols, + "\\P{scx=Tfng}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tirhuta.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tirhuta.js new file mode 100644 index 0000000000..712a8f5d4c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tirhuta.js @@ -0,0 +1,84 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Tirhuta` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x001CF2 + ], + ranges: [ + [0x000951, 0x000952], + [0x000964, 0x000965], + [0x00A830, 0x00A839], + [0x011480, 0x0114C7], + [0x0114D0, 0x0114D9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Tirhuta}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tirhuta}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Tirh}+$/u, + matchSymbols, + "\\p{Script_Extensions=Tirh}" +); +testPropertyEscapes( + /^\p{scx=Tirhuta}+$/u, + matchSymbols, + "\\p{scx=Tirhuta}" +); +testPropertyEscapes( + /^\p{scx=Tirh}+$/u, + matchSymbols, + "\\p{scx=Tirh}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000950], + [0x000953, 0x000963], + [0x000966, 0x001CF1], + [0x001CF3, 0x00A82F], + [0x00A83A, 0x00DBFF], + [0x00E000, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Tirhuta}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tirhuta}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Tirh}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Tirh}" +); +testPropertyEscapes( + /^\P{scx=Tirhuta}+$/u, + nonMatchSymbols, + "\\P{scx=Tirhuta}" +); +testPropertyEscapes( + /^\P{scx=Tirh}+$/u, + nonMatchSymbols, + "\\P{scx=Tirh}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ugaritic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ugaritic.js new file mode 100644 index 0000000000..e806a496d6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ugaritic.js @@ -0,0 +1,77 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Ugaritic` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01039F + ], + ranges: [ + [0x010380, 0x01039D] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Ugaritic}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ugaritic}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Ugar}+$/u, + matchSymbols, + "\\p{Script_Extensions=Ugar}" +); +testPropertyEscapes( + /^\p{scx=Ugaritic}+$/u, + matchSymbols, + "\\p{scx=Ugaritic}" +); +testPropertyEscapes( + /^\p{scx=Ugar}+$/u, + matchSymbols, + "\\p{scx=Ugar}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x01039E + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01037F], + [0x0103A0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Ugaritic}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ugaritic}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Ugar}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Ugar}" +); +testPropertyEscapes( + /^\P{scx=Ugaritic}+$/u, + nonMatchSymbols, + "\\P{scx=Ugaritic}" +); +testPropertyEscapes( + /^\P{scx=Ugar}+$/u, + nonMatchSymbols, + "\\P{scx=Ugar}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vai.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vai.js new file mode 100644 index 0000000000..6e29d0aff6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vai.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Vai` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00A500, 0x00A62B] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Vai}+$/u, + matchSymbols, + "\\p{Script_Extensions=Vai}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Vaii}+$/u, + matchSymbols, + "\\p{Script_Extensions=Vaii}" +); +testPropertyEscapes( + /^\p{scx=Vai}+$/u, + matchSymbols, + "\\p{scx=Vai}" +); +testPropertyEscapes( + /^\p{scx=Vaii}+$/u, + matchSymbols, + "\\p{scx=Vaii}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00A4FF], + [0x00A62C, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Vai}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Vai}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Vaii}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Vaii}" +); +testPropertyEscapes( + /^\P{scx=Vai}+$/u, + nonMatchSymbols, + "\\P{scx=Vai}" +); +testPropertyEscapes( + /^\P{scx=Vaii}+$/u, + nonMatchSymbols, + "\\P{scx=Vaii}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Wancho.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Wancho.js new file mode 100644 index 0000000000..0da28f375c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Wancho.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Wancho` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x01E2FF + ], + ranges: [ + [0x01E2C0, 0x01E2F9] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Wancho}+$/u, + matchSymbols, + "\\p{Script_Extensions=Wancho}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Wcho}+$/u, + matchSymbols, + "\\p{Script_Extensions=Wcho}" +); +testPropertyEscapes( + /^\p{scx=Wancho}+$/u, + matchSymbols, + "\\p{scx=Wancho}" +); +testPropertyEscapes( + /^\p{scx=Wcho}+$/u, + matchSymbols, + "\\p{scx=Wcho}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01E2BF], + [0x01E2FA, 0x01E2FE], + [0x01E300, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Wancho}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Wancho}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Wcho}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Wcho}" +); +testPropertyEscapes( + /^\P{scx=Wancho}+$/u, + nonMatchSymbols, + "\\P{scx=Wancho}" +); +testPropertyEscapes( + /^\P{scx=Wcho}+$/u, + nonMatchSymbols, + "\\P{scx=Wcho}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Warang_Citi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Warang_Citi.js new file mode 100644 index 0000000000..810273f882 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Warang_Citi.js @@ -0,0 +1,76 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Warang_Citi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0118FF + ], + ranges: [ + [0x0118A0, 0x0118F2] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Warang_Citi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Warang_Citi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Wara}+$/u, + matchSymbols, + "\\p{Script_Extensions=Wara}" +); +testPropertyEscapes( + /^\p{scx=Warang_Citi}+$/u, + matchSymbols, + "\\p{scx=Warang_Citi}" +); +testPropertyEscapes( + /^\p{scx=Wara}+$/u, + matchSymbols, + "\\p{scx=Wara}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x01189F], + [0x0118F3, 0x0118FE], + [0x011900, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Warang_Citi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Warang_Citi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Wara}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Wara}" +); +testPropertyEscapes( + /^\P{scx=Warang_Citi}+$/u, + nonMatchSymbols, + "\\P{scx=Warang_Citi}" +); +testPropertyEscapes( + /^\P{scx=Wara}+$/u, + nonMatchSymbols, + "\\P{scx=Wara}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yezidi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yezidi.js new file mode 100644 index 0000000000..48a7b3b5f0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yezidi.js @@ -0,0 +1,87 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Yezidi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00060C, + 0x00061B, + 0x00061F + ], + ranges: [ + [0x000660, 0x000669], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAD], + [0x010EB0, 0x010EB1] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Yezidi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Yezidi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Yezi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Yezi}" +); +testPropertyEscapes( + /^\p{scx=Yezidi}+$/u, + matchSymbols, + "\\p{scx=Yezidi}" +); +testPropertyEscapes( + /^\p{scx=Yezi}+$/u, + matchSymbols, + "\\p{scx=Yezi}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x010EAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00060B], + [0x00060D, 0x00061A], + [0x00061C, 0x00061E], + [0x000620, 0x00065F], + [0x00066A, 0x00DBFF], + [0x00E000, 0x010E7F], + [0x010EAE, 0x010EAF], + [0x010EB2, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Yezidi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Yezidi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Yezi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Yezi}" +); +testPropertyEscapes( + /^\P{scx=Yezidi}+$/u, + nonMatchSymbols, + "\\P{scx=Yezidi}" +); +testPropertyEscapes( + /^\P{scx=Yezi}+$/u, + nonMatchSymbols, + "\\P{scx=Yezi}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yi.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yi.js new file mode 100644 index 0000000000..a8bcf9fbb6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yi.js @@ -0,0 +1,86 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Yi` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0030FB + ], + ranges: [ + [0x003001, 0x003002], + [0x003008, 0x003011], + [0x003014, 0x00301B], + [0x00A000, 0x00A48C], + [0x00A490, 0x00A4C6], + [0x00FF61, 0x00FF65] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Yi}+$/u, + matchSymbols, + "\\p{Script_Extensions=Yi}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Yiii}+$/u, + matchSymbols, + "\\p{Script_Extensions=Yiii}" +); +testPropertyEscapes( + /^\p{scx=Yi}+$/u, + matchSymbols, + "\\p{scx=Yi}" +); +testPropertyEscapes( + /^\p{scx=Yiii}+$/u, + matchSymbols, + "\\p{scx=Yiii}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x003000], + [0x003003, 0x003007], + [0x003012, 0x003013], + [0x00301C, 0x0030FA], + [0x0030FC, 0x009FFF], + [0x00A48D, 0x00A48F], + [0x00A4C7, 0x00DBFF], + [0x00E000, 0x00FF60], + [0x00FF66, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Yi}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Yi}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Yiii}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Yiii}" +); +testPropertyEscapes( + /^\P{scx=Yi}+$/u, + nonMatchSymbols, + "\\P{scx=Yi}" +); +testPropertyEscapes( + /^\P{scx=Yiii}+$/u, + nonMatchSymbols, + "\\P{scx=Yiii}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Zanabazar_Square.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Zanabazar_Square.js new file mode 100644 index 0000000000..872ed50d45 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Zanabazar_Square.js @@ -0,0 +1,73 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Script_Extensions=Zanabazar_Square` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x011A00, 0x011A47] + ] +}); +testPropertyEscapes( + /^\p{Script_Extensions=Zanabazar_Square}+$/u, + matchSymbols, + "\\p{Script_Extensions=Zanabazar_Square}" +); +testPropertyEscapes( + /^\p{Script_Extensions=Zanb}+$/u, + matchSymbols, + "\\p{Script_Extensions=Zanb}" +); +testPropertyEscapes( + /^\p{scx=Zanabazar_Square}+$/u, + matchSymbols, + "\\p{scx=Zanabazar_Square}" +); +testPropertyEscapes( + /^\p{scx=Zanb}+$/u, + matchSymbols, + "\\p{scx=Zanb}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00DBFF], + [0x00E000, 0x0119FF], + [0x011A48, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Script_Extensions=Zanabazar_Square}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Zanabazar_Square}" +); +testPropertyEscapes( + /^\P{Script_Extensions=Zanb}+$/u, + nonMatchSymbols, + "\\P{Script_Extensions=Zanb}" +); +testPropertyEscapes( + /^\P{scx=Zanabazar_Square}+$/u, + nonMatchSymbols, + "\\P{scx=Zanabazar_Square}" +); +testPropertyEscapes( + /^\P{scx=Zanb}+$/u, + nonMatchSymbols, + "\\P{scx=Zanb}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js new file mode 100644 index 0000000000..587b912b1b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js @@ -0,0 +1,205 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Sentence_Terminal` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000021, + 0x00002E, + 0x00003F, + 0x000589, + 0x0006D4, + 0x0007F9, + 0x000837, + 0x000839, + 0x001362, + 0x00166E, + 0x001803, + 0x001809, + 0x002E2E, + 0x002E3C, + 0x003002, + 0x00A4FF, + 0x00A6F3, + 0x00A6F7, + 0x00A92F, + 0x00ABEB, + 0x00FE52, + 0x00FF01, + 0x00FF0E, + 0x00FF1F, + 0x00FF61, + 0x0111CD, + 0x0112A9, + 0x011944, + 0x011946, + 0x016AF5, + 0x016B44, + 0x016E98, + 0x01BC9F, + 0x01DA88 + ], + ranges: [ + [0x00061E, 0x00061F], + [0x000700, 0x000702], + [0x00083D, 0x00083E], + [0x000964, 0x000965], + [0x00104A, 0x00104B], + [0x001367, 0x001368], + [0x001735, 0x001736], + [0x001944, 0x001945], + [0x001AA8, 0x001AAB], + [0x001B5A, 0x001B5B], + [0x001B5E, 0x001B5F], + [0x001C3B, 0x001C3C], + [0x001C7E, 0x001C7F], + [0x00203C, 0x00203D], + [0x002047, 0x002049], + [0x00A60E, 0x00A60F], + [0x00A876, 0x00A877], + [0x00A8CE, 0x00A8CF], + [0x00A9C8, 0x00A9C9], + [0x00AA5D, 0x00AA5F], + [0x00AAF0, 0x00AAF1], + [0x00FE56, 0x00FE57], + [0x010A56, 0x010A57], + [0x010F55, 0x010F59], + [0x011047, 0x011048], + [0x0110BE, 0x0110C1], + [0x011141, 0x011143], + [0x0111C5, 0x0111C6], + [0x0111DE, 0x0111DF], + [0x011238, 0x011239], + [0x01123B, 0x01123C], + [0x01144B, 0x01144C], + [0x0115C2, 0x0115C3], + [0x0115C9, 0x0115D7], + [0x011641, 0x011642], + [0x01173C, 0x01173E], + [0x011A42, 0x011A43], + [0x011A9B, 0x011A9C], + [0x011C41, 0x011C42], + [0x011EF7, 0x011EF8], + [0x016A6E, 0x016A6F], + [0x016B37, 0x016B38] + ] +}); +testPropertyEscapes( + /^\p{Sentence_Terminal}+$/u, + matchSymbols, + "\\p{Sentence_Terminal}" +); +testPropertyEscapes( + /^\p{STerm}+$/u, + matchSymbols, + "\\p{STerm}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000838, + 0x01123A, + 0x011945 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000020], + [0x000022, 0x00002D], + [0x00002F, 0x00003E], + [0x000040, 0x000588], + [0x00058A, 0x00061D], + [0x000620, 0x0006D3], + [0x0006D5, 0x0006FF], + [0x000703, 0x0007F8], + [0x0007FA, 0x000836], + [0x00083A, 0x00083C], + [0x00083F, 0x000963], + [0x000966, 0x001049], + [0x00104C, 0x001361], + [0x001363, 0x001366], + [0x001369, 0x00166D], + [0x00166F, 0x001734], + [0x001737, 0x001802], + [0x001804, 0x001808], + [0x00180A, 0x001943], + [0x001946, 0x001AA7], + [0x001AAC, 0x001B59], + [0x001B5C, 0x001B5D], + [0x001B60, 0x001C3A], + [0x001C3D, 0x001C7D], + [0x001C80, 0x00203B], + [0x00203E, 0x002046], + [0x00204A, 0x002E2D], + [0x002E2F, 0x002E3B], + [0x002E3D, 0x003001], + [0x003003, 0x00A4FE], + [0x00A500, 0x00A60D], + [0x00A610, 0x00A6F2], + [0x00A6F4, 0x00A6F6], + [0x00A6F8, 0x00A875], + [0x00A878, 0x00A8CD], + [0x00A8D0, 0x00A92E], + [0x00A930, 0x00A9C7], + [0x00A9CA, 0x00AA5C], + [0x00AA60, 0x00AAEF], + [0x00AAF2, 0x00ABEA], + [0x00ABEC, 0x00DBFF], + [0x00E000, 0x00FE51], + [0x00FE53, 0x00FE55], + [0x00FE58, 0x00FF00], + [0x00FF02, 0x00FF0D], + [0x00FF0F, 0x00FF1E], + [0x00FF20, 0x00FF60], + [0x00FF62, 0x010A55], + [0x010A58, 0x010F54], + [0x010F5A, 0x011046], + [0x011049, 0x0110BD], + [0x0110C2, 0x011140], + [0x011144, 0x0111C4], + [0x0111C7, 0x0111CC], + [0x0111CE, 0x0111DD], + [0x0111E0, 0x011237], + [0x01123D, 0x0112A8], + [0x0112AA, 0x01144A], + [0x01144D, 0x0115C1], + [0x0115C4, 0x0115C8], + [0x0115D8, 0x011640], + [0x011643, 0x01173B], + [0x01173F, 0x011943], + [0x011947, 0x011A41], + [0x011A44, 0x011A9A], + [0x011A9D, 0x011C40], + [0x011C43, 0x011EF6], + [0x011EF9, 0x016A6D], + [0x016A70, 0x016AF4], + [0x016AF6, 0x016B36], + [0x016B39, 0x016B43], + [0x016B45, 0x016E97], + [0x016E99, 0x01BC9E], + [0x01BCA0, 0x01DA87], + [0x01DA89, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Sentence_Terminal}+$/u, + nonMatchSymbols, + "\\P{Sentence_Terminal}" +); +testPropertyEscapes( + /^\P{STerm}+$/u, + nonMatchSymbols, + "\\P{STerm}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js new file mode 100644 index 0000000000..5b862fe5dd --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js @@ -0,0 +1,115 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Soft_Dotted` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00012F, + 0x000249, + 0x000268, + 0x00029D, + 0x0002B2, + 0x0003F3, + 0x000456, + 0x000458, + 0x001D62, + 0x001D96, + 0x001DA4, + 0x001DA8, + 0x001E2D, + 0x001ECB, + 0x002071, + 0x002C7C + ], + ranges: [ + [0x000069, 0x00006A], + [0x002148, 0x002149], + [0x01D422, 0x01D423], + [0x01D456, 0x01D457], + [0x01D48A, 0x01D48B], + [0x01D4BE, 0x01D4BF], + [0x01D4F2, 0x01D4F3], + [0x01D526, 0x01D527], + [0x01D55A, 0x01D55B], + [0x01D58E, 0x01D58F], + [0x01D5C2, 0x01D5C3], + [0x01D5F6, 0x01D5F7], + [0x01D62A, 0x01D62B], + [0x01D65E, 0x01D65F], + [0x01D692, 0x01D693] + ] +}); +testPropertyEscapes( + /^\p{Soft_Dotted}+$/u, + matchSymbols, + "\\p{Soft_Dotted}" +); +testPropertyEscapes( + /^\p{SD}+$/u, + matchSymbols, + "\\p{SD}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000457 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000068], + [0x00006B, 0x00012E], + [0x000130, 0x000248], + [0x00024A, 0x000267], + [0x000269, 0x00029C], + [0x00029E, 0x0002B1], + [0x0002B3, 0x0003F2], + [0x0003F4, 0x000455], + [0x000459, 0x001D61], + [0x001D63, 0x001D95], + [0x001D97, 0x001DA3], + [0x001DA5, 0x001DA7], + [0x001DA9, 0x001E2C], + [0x001E2E, 0x001ECA], + [0x001ECC, 0x002070], + [0x002072, 0x002147], + [0x00214A, 0x002C7B], + [0x002C7D, 0x00DBFF], + [0x00E000, 0x01D421], + [0x01D424, 0x01D455], + [0x01D458, 0x01D489], + [0x01D48C, 0x01D4BD], + [0x01D4C0, 0x01D4F1], + [0x01D4F4, 0x01D525], + [0x01D528, 0x01D559], + [0x01D55C, 0x01D58D], + [0x01D590, 0x01D5C1], + [0x01D5C4, 0x01D5F5], + [0x01D5F8, 0x01D629], + [0x01D62C, 0x01D65D], + [0x01D660, 0x01D691], + [0x01D694, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Soft_Dotted}+$/u, + nonMatchSymbols, + "\\P{Soft_Dotted}" +); +testPropertyEscapes( + /^\P{SD}+$/u, + nonMatchSymbols, + "\\P{SD}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js new file mode 100644 index 0000000000..7211e27795 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js @@ -0,0 +1,261 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Terminal_Punctuation` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000021, + 0x00002C, + 0x00002E, + 0x00003F, + 0x00037E, + 0x000387, + 0x000589, + 0x0005C3, + 0x00060C, + 0x00061B, + 0x0006D4, + 0x00070C, + 0x00085E, + 0x000F08, + 0x00166E, + 0x0017DA, + 0x002E2E, + 0x002E3C, + 0x002E41, + 0x002E4C, + 0x00A92F, + 0x00AADF, + 0x00ABEB, + 0x00FF01, + 0x00FF0C, + 0x00FF0E, + 0x00FF1F, + 0x00FF61, + 0x00FF64, + 0x01039F, + 0x0103D0, + 0x010857, + 0x01091F, + 0x0111CD, + 0x0112A9, + 0x011944, + 0x011946, + 0x011C71, + 0x016AF5, + 0x016B44, + 0x01BC9F + ], + ranges: [ + [0x00003A, 0x00003B], + [0x00061E, 0x00061F], + [0x000700, 0x00070A], + [0x0007F8, 0x0007F9], + [0x000830, 0x00083E], + [0x000964, 0x000965], + [0x000E5A, 0x000E5B], + [0x000F0D, 0x000F12], + [0x00104A, 0x00104B], + [0x001361, 0x001368], + [0x0016EB, 0x0016ED], + [0x001735, 0x001736], + [0x0017D4, 0x0017D6], + [0x001802, 0x001805], + [0x001808, 0x001809], + [0x001944, 0x001945], + [0x001AA8, 0x001AAB], + [0x001B5A, 0x001B5B], + [0x001B5D, 0x001B5F], + [0x001C3B, 0x001C3F], + [0x001C7E, 0x001C7F], + [0x00203C, 0x00203D], + [0x002047, 0x002049], + [0x002E4E, 0x002E4F], + [0x003001, 0x003002], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A6F3, 0x00A6F7], + [0x00A876, 0x00A877], + [0x00A8CE, 0x00A8CF], + [0x00A9C7, 0x00A9C9], + [0x00AA5D, 0x00AA5F], + [0x00AAF0, 0x00AAF1], + [0x00FE50, 0x00FE52], + [0x00FE54, 0x00FE57], + [0x00FF1A, 0x00FF1B], + [0x010A56, 0x010A57], + [0x010AF0, 0x010AF5], + [0x010B3A, 0x010B3F], + [0x010B99, 0x010B9C], + [0x010F55, 0x010F59], + [0x011047, 0x01104D], + [0x0110BE, 0x0110C1], + [0x011141, 0x011143], + [0x0111C5, 0x0111C6], + [0x0111DE, 0x0111DF], + [0x011238, 0x01123C], + [0x01144B, 0x01144D], + [0x01145A, 0x01145B], + [0x0115C2, 0x0115C5], + [0x0115C9, 0x0115D7], + [0x011641, 0x011642], + [0x01173C, 0x01173E], + [0x011A42, 0x011A43], + [0x011A9B, 0x011A9C], + [0x011AA1, 0x011AA2], + [0x011C41, 0x011C43], + [0x011EF7, 0x011EF8], + [0x012470, 0x012474], + [0x016A6E, 0x016A6F], + [0x016B37, 0x016B39], + [0x016E97, 0x016E98], + [0x01DA87, 0x01DA8A] + ] +}); +testPropertyEscapes( + /^\p{Terminal_Punctuation}+$/u, + matchSymbols, + "\\p{Terminal_Punctuation}" +); +testPropertyEscapes( + /^\p{Term}+$/u, + matchSymbols, + "\\p{Term}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00002D, + 0x00070B, + 0x001B5C, + 0x002E4D, + 0x00FE53, + 0x00FF0D, + 0x011945 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000020], + [0x000022, 0x00002B], + [0x00002F, 0x000039], + [0x00003C, 0x00003E], + [0x000040, 0x00037D], + [0x00037F, 0x000386], + [0x000388, 0x000588], + [0x00058A, 0x0005C2], + [0x0005C4, 0x00060B], + [0x00060D, 0x00061A], + [0x00061C, 0x00061D], + [0x000620, 0x0006D3], + [0x0006D5, 0x0006FF], + [0x00070D, 0x0007F7], + [0x0007FA, 0x00082F], + [0x00083F, 0x00085D], + [0x00085F, 0x000963], + [0x000966, 0x000E59], + [0x000E5C, 0x000F07], + [0x000F09, 0x000F0C], + [0x000F13, 0x001049], + [0x00104C, 0x001360], + [0x001369, 0x00166D], + [0x00166F, 0x0016EA], + [0x0016EE, 0x001734], + [0x001737, 0x0017D3], + [0x0017D7, 0x0017D9], + [0x0017DB, 0x001801], + [0x001806, 0x001807], + [0x00180A, 0x001943], + [0x001946, 0x001AA7], + [0x001AAC, 0x001B59], + [0x001B60, 0x001C3A], + [0x001C40, 0x001C7D], + [0x001C80, 0x00203B], + [0x00203E, 0x002046], + [0x00204A, 0x002E2D], + [0x002E2F, 0x002E3B], + [0x002E3D, 0x002E40], + [0x002E42, 0x002E4B], + [0x002E50, 0x003000], + [0x003003, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A6F2], + [0x00A6F8, 0x00A875], + [0x00A878, 0x00A8CD], + [0x00A8D0, 0x00A92E], + [0x00A930, 0x00A9C6], + [0x00A9CA, 0x00AA5C], + [0x00AA60, 0x00AADE], + [0x00AAE0, 0x00AAEF], + [0x00AAF2, 0x00ABEA], + [0x00ABEC, 0x00DBFF], + [0x00E000, 0x00FE4F], + [0x00FE58, 0x00FF00], + [0x00FF02, 0x00FF0B], + [0x00FF0F, 0x00FF19], + [0x00FF1C, 0x00FF1E], + [0x00FF20, 0x00FF60], + [0x00FF62, 0x00FF63], + [0x00FF65, 0x01039E], + [0x0103A0, 0x0103CF], + [0x0103D1, 0x010856], + [0x010858, 0x01091E], + [0x010920, 0x010A55], + [0x010A58, 0x010AEF], + [0x010AF6, 0x010B39], + [0x010B40, 0x010B98], + [0x010B9D, 0x010F54], + [0x010F5A, 0x011046], + [0x01104E, 0x0110BD], + [0x0110C2, 0x011140], + [0x011144, 0x0111C4], + [0x0111C7, 0x0111CC], + [0x0111CE, 0x0111DD], + [0x0111E0, 0x011237], + [0x01123D, 0x0112A8], + [0x0112AA, 0x01144A], + [0x01144E, 0x011459], + [0x01145C, 0x0115C1], + [0x0115C6, 0x0115C8], + [0x0115D8, 0x011640], + [0x011643, 0x01173B], + [0x01173F, 0x011943], + [0x011947, 0x011A41], + [0x011A44, 0x011A9A], + [0x011A9D, 0x011AA0], + [0x011AA3, 0x011C40], + [0x011C44, 0x011C70], + [0x011C72, 0x011EF6], + [0x011EF9, 0x01246F], + [0x012475, 0x016A6D], + [0x016A70, 0x016AF4], + [0x016AF6, 0x016B36], + [0x016B3A, 0x016B43], + [0x016B45, 0x016E96], + [0x016E99, 0x01BC9E], + [0x01BCA0, 0x01DA86], + [0x01DA8B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Terminal_Punctuation}+$/u, + nonMatchSymbols, + "\\P{Terminal_Punctuation}" +); +testPropertyEscapes( + /^\P{Term}+$/u, + nonMatchSymbols, + "\\P{Term}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js new file mode 100644 index 0000000000..6f1193788d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js @@ -0,0 +1,83 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Unified_Ideograph` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00FA11, + 0x00FA1F, + 0x00FA21 + ], + ranges: [ + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00FA0E, 0x00FA0F], + [0x00FA13, 0x00FA14], + [0x00FA23, 0x00FA24], + [0x00FA27, 0x00FA29], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{Unified_Ideograph}+$/u, + matchSymbols, + "\\p{Unified_Ideograph}" +); +testPropertyEscapes( + /^\p{UIdeo}+$/u, + matchSymbols, + "\\p{UIdeo}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x00FA10, + 0x00FA12, + 0x00FA20, + 0x00FA22 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x00DBFF], + [0x00E000, 0x00FA0D], + [0x00FA15, 0x00FA1E], + [0x00FA25, 0x00FA26], + [0x00FA2A, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Unified_Ideograph}+$/u, + nonMatchSymbols, + "\\P{Unified_Ideograph}" +); +testPropertyEscapes( + /^\P{UIdeo}+$/u, + nonMatchSymbols, + "\\P{UIdeo}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Uppercase.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Uppercase.js new file mode 100644 index 0000000000..ed182161c0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Uppercase.js @@ -0,0 +1,1339 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Uppercase` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000100, + 0x000102, + 0x000104, + 0x000106, + 0x000108, + 0x00010A, + 0x00010C, + 0x00010E, + 0x000110, + 0x000112, + 0x000114, + 0x000116, + 0x000118, + 0x00011A, + 0x00011C, + 0x00011E, + 0x000120, + 0x000122, + 0x000124, + 0x000126, + 0x000128, + 0x00012A, + 0x00012C, + 0x00012E, + 0x000130, + 0x000132, + 0x000134, + 0x000136, + 0x000139, + 0x00013B, + 0x00013D, + 0x00013F, + 0x000141, + 0x000143, + 0x000145, + 0x000147, + 0x00014A, + 0x00014C, + 0x00014E, + 0x000150, + 0x000152, + 0x000154, + 0x000156, + 0x000158, + 0x00015A, + 0x00015C, + 0x00015E, + 0x000160, + 0x000162, + 0x000164, + 0x000166, + 0x000168, + 0x00016A, + 0x00016C, + 0x00016E, + 0x000170, + 0x000172, + 0x000174, + 0x000176, + 0x00017B, + 0x00017D, + 0x000184, + 0x0001A2, + 0x0001A4, + 0x0001A9, + 0x0001AC, + 0x0001B5, + 0x0001BC, + 0x0001C4, + 0x0001C7, + 0x0001CA, + 0x0001CD, + 0x0001CF, + 0x0001D1, + 0x0001D3, + 0x0001D5, + 0x0001D7, + 0x0001D9, + 0x0001DB, + 0x0001DE, + 0x0001E0, + 0x0001E2, + 0x0001E4, + 0x0001E6, + 0x0001E8, + 0x0001EA, + 0x0001EC, + 0x0001EE, + 0x0001F1, + 0x0001F4, + 0x0001FA, + 0x0001FC, + 0x0001FE, + 0x000200, + 0x000202, + 0x000204, + 0x000206, + 0x000208, + 0x00020A, + 0x00020C, + 0x00020E, + 0x000210, + 0x000212, + 0x000214, + 0x000216, + 0x000218, + 0x00021A, + 0x00021C, + 0x00021E, + 0x000220, + 0x000222, + 0x000224, + 0x000226, + 0x000228, + 0x00022A, + 0x00022C, + 0x00022E, + 0x000230, + 0x000232, + 0x000241, + 0x000248, + 0x00024A, + 0x00024C, + 0x00024E, + 0x000370, + 0x000372, + 0x000376, + 0x00037F, + 0x000386, + 0x00038C, + 0x0003CF, + 0x0003D8, + 0x0003DA, + 0x0003DC, + 0x0003DE, + 0x0003E0, + 0x0003E2, + 0x0003E4, + 0x0003E6, + 0x0003E8, + 0x0003EA, + 0x0003EC, + 0x0003EE, + 0x0003F4, + 0x0003F7, + 0x000460, + 0x000462, + 0x000464, + 0x000466, + 0x000468, + 0x00046A, + 0x00046C, + 0x00046E, + 0x000470, + 0x000472, + 0x000474, + 0x000476, + 0x000478, + 0x00047A, + 0x00047C, + 0x00047E, + 0x000480, + 0x00048A, + 0x00048C, + 0x00048E, + 0x000490, + 0x000492, + 0x000494, + 0x000496, + 0x000498, + 0x00049A, + 0x00049C, + 0x00049E, + 0x0004A0, + 0x0004A2, + 0x0004A4, + 0x0004A6, + 0x0004A8, + 0x0004AA, + 0x0004AC, + 0x0004AE, + 0x0004B0, + 0x0004B2, + 0x0004B4, + 0x0004B6, + 0x0004B8, + 0x0004BA, + 0x0004BC, + 0x0004BE, + 0x0004C3, + 0x0004C5, + 0x0004C7, + 0x0004C9, + 0x0004CB, + 0x0004CD, + 0x0004D0, + 0x0004D2, + 0x0004D4, + 0x0004D6, + 0x0004D8, + 0x0004DA, + 0x0004DC, + 0x0004DE, + 0x0004E0, + 0x0004E2, + 0x0004E4, + 0x0004E6, + 0x0004E8, + 0x0004EA, + 0x0004EC, + 0x0004EE, + 0x0004F0, + 0x0004F2, + 0x0004F4, + 0x0004F6, + 0x0004F8, + 0x0004FA, + 0x0004FC, + 0x0004FE, + 0x000500, + 0x000502, + 0x000504, + 0x000506, + 0x000508, + 0x00050A, + 0x00050C, + 0x00050E, + 0x000510, + 0x000512, + 0x000514, + 0x000516, + 0x000518, + 0x00051A, + 0x00051C, + 0x00051E, + 0x000520, + 0x000522, + 0x000524, + 0x000526, + 0x000528, + 0x00052A, + 0x00052C, + 0x00052E, + 0x0010C7, + 0x0010CD, + 0x001E00, + 0x001E02, + 0x001E04, + 0x001E06, + 0x001E08, + 0x001E0A, + 0x001E0C, + 0x001E0E, + 0x001E10, + 0x001E12, + 0x001E14, + 0x001E16, + 0x001E18, + 0x001E1A, + 0x001E1C, + 0x001E1E, + 0x001E20, + 0x001E22, + 0x001E24, + 0x001E26, + 0x001E28, + 0x001E2A, + 0x001E2C, + 0x001E2E, + 0x001E30, + 0x001E32, + 0x001E34, + 0x001E36, + 0x001E38, + 0x001E3A, + 0x001E3C, + 0x001E3E, + 0x001E40, + 0x001E42, + 0x001E44, + 0x001E46, + 0x001E48, + 0x001E4A, + 0x001E4C, + 0x001E4E, + 0x001E50, + 0x001E52, + 0x001E54, + 0x001E56, + 0x001E58, + 0x001E5A, + 0x001E5C, + 0x001E5E, + 0x001E60, + 0x001E62, + 0x001E64, + 0x001E66, + 0x001E68, + 0x001E6A, + 0x001E6C, + 0x001E6E, + 0x001E70, + 0x001E72, + 0x001E74, + 0x001E76, + 0x001E78, + 0x001E7A, + 0x001E7C, + 0x001E7E, + 0x001E80, + 0x001E82, + 0x001E84, + 0x001E86, + 0x001E88, + 0x001E8A, + 0x001E8C, + 0x001E8E, + 0x001E90, + 0x001E92, + 0x001E94, + 0x001E9E, + 0x001EA0, + 0x001EA2, + 0x001EA4, + 0x001EA6, + 0x001EA8, + 0x001EAA, + 0x001EAC, + 0x001EAE, + 0x001EB0, + 0x001EB2, + 0x001EB4, + 0x001EB6, + 0x001EB8, + 0x001EBA, + 0x001EBC, + 0x001EBE, + 0x001EC0, + 0x001EC2, + 0x001EC4, + 0x001EC6, + 0x001EC8, + 0x001ECA, + 0x001ECC, + 0x001ECE, + 0x001ED0, + 0x001ED2, + 0x001ED4, + 0x001ED6, + 0x001ED8, + 0x001EDA, + 0x001EDC, + 0x001EDE, + 0x001EE0, + 0x001EE2, + 0x001EE4, + 0x001EE6, + 0x001EE8, + 0x001EEA, + 0x001EEC, + 0x001EEE, + 0x001EF0, + 0x001EF2, + 0x001EF4, + 0x001EF6, + 0x001EF8, + 0x001EFA, + 0x001EFC, + 0x001EFE, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001F5F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x002145, + 0x002183, + 0x002C60, + 0x002C67, + 0x002C69, + 0x002C6B, + 0x002C72, + 0x002C75, + 0x002C82, + 0x002C84, + 0x002C86, + 0x002C88, + 0x002C8A, + 0x002C8C, + 0x002C8E, + 0x002C90, + 0x002C92, + 0x002C94, + 0x002C96, + 0x002C98, + 0x002C9A, + 0x002C9C, + 0x002C9E, + 0x002CA0, + 0x002CA2, + 0x002CA4, + 0x002CA6, + 0x002CA8, + 0x002CAA, + 0x002CAC, + 0x002CAE, + 0x002CB0, + 0x002CB2, + 0x002CB4, + 0x002CB6, + 0x002CB8, + 0x002CBA, + 0x002CBC, + 0x002CBE, + 0x002CC0, + 0x002CC2, + 0x002CC4, + 0x002CC6, + 0x002CC8, + 0x002CCA, + 0x002CCC, + 0x002CCE, + 0x002CD0, + 0x002CD2, + 0x002CD4, + 0x002CD6, + 0x002CD8, + 0x002CDA, + 0x002CDC, + 0x002CDE, + 0x002CE0, + 0x002CE2, + 0x002CEB, + 0x002CED, + 0x002CF2, + 0x00A640, + 0x00A642, + 0x00A644, + 0x00A646, + 0x00A648, + 0x00A64A, + 0x00A64C, + 0x00A64E, + 0x00A650, + 0x00A652, + 0x00A654, + 0x00A656, + 0x00A658, + 0x00A65A, + 0x00A65C, + 0x00A65E, + 0x00A660, + 0x00A662, + 0x00A664, + 0x00A666, + 0x00A668, + 0x00A66A, + 0x00A66C, + 0x00A680, + 0x00A682, + 0x00A684, + 0x00A686, + 0x00A688, + 0x00A68A, + 0x00A68C, + 0x00A68E, + 0x00A690, + 0x00A692, + 0x00A694, + 0x00A696, + 0x00A698, + 0x00A69A, + 0x00A722, + 0x00A724, + 0x00A726, + 0x00A728, + 0x00A72A, + 0x00A72C, + 0x00A72E, + 0x00A732, + 0x00A734, + 0x00A736, + 0x00A738, + 0x00A73A, + 0x00A73C, + 0x00A73E, + 0x00A740, + 0x00A742, + 0x00A744, + 0x00A746, + 0x00A748, + 0x00A74A, + 0x00A74C, + 0x00A74E, + 0x00A750, + 0x00A752, + 0x00A754, + 0x00A756, + 0x00A758, + 0x00A75A, + 0x00A75C, + 0x00A75E, + 0x00A760, + 0x00A762, + 0x00A764, + 0x00A766, + 0x00A768, + 0x00A76A, + 0x00A76C, + 0x00A76E, + 0x00A779, + 0x00A77B, + 0x00A780, + 0x00A782, + 0x00A784, + 0x00A786, + 0x00A78B, + 0x00A78D, + 0x00A790, + 0x00A792, + 0x00A796, + 0x00A798, + 0x00A79A, + 0x00A79C, + 0x00A79E, + 0x00A7A0, + 0x00A7A2, + 0x00A7A4, + 0x00A7A6, + 0x00A7A8, + 0x00A7B6, + 0x00A7B8, + 0x00A7BA, + 0x00A7BC, + 0x00A7BE, + 0x00A7C2, + 0x00A7C9, + 0x00A7F5, + 0x01D49C, + 0x01D4A2, + 0x01D546, + 0x01D7CA + ], + ranges: [ + [0x000041, 0x00005A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000DE], + [0x000178, 0x000179], + [0x000181, 0x000182], + [0x000186, 0x000187], + [0x000189, 0x00018B], + [0x00018E, 0x000191], + [0x000193, 0x000194], + [0x000196, 0x000198], + [0x00019C, 0x00019D], + [0x00019F, 0x0001A0], + [0x0001A6, 0x0001A7], + [0x0001AE, 0x0001AF], + [0x0001B1, 0x0001B3], + [0x0001B7, 0x0001B8], + [0x0001F6, 0x0001F8], + [0x00023A, 0x00023B], + [0x00023D, 0x00023E], + [0x000243, 0x000246], + [0x000388, 0x00038A], + [0x00038E, 0x00038F], + [0x000391, 0x0003A1], + [0x0003A3, 0x0003AB], + [0x0003D2, 0x0003D4], + [0x0003F9, 0x0003FA], + [0x0003FD, 0x00042F], + [0x0004C0, 0x0004C1], + [0x000531, 0x000556], + [0x0010A0, 0x0010C5], + [0x0013A0, 0x0013F5], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001F08, 0x001F0F], + [0x001F18, 0x001F1D], + [0x001F28, 0x001F2F], + [0x001F38, 0x001F3F], + [0x001F48, 0x001F4D], + [0x001F68, 0x001F6F], + [0x001FB8, 0x001FBB], + [0x001FC8, 0x001FCB], + [0x001FD8, 0x001FDB], + [0x001FE8, 0x001FEC], + [0x001FF8, 0x001FFB], + [0x00210B, 0x00210D], + [0x002110, 0x002112], + [0x002119, 0x00211D], + [0x00212A, 0x00212D], + [0x002130, 0x002133], + [0x00213E, 0x00213F], + [0x002160, 0x00216F], + [0x0024B6, 0x0024CF], + [0x002C00, 0x002C2E], + [0x002C62, 0x002C64], + [0x002C6D, 0x002C70], + [0x002C7E, 0x002C80], + [0x00A77D, 0x00A77E], + [0x00A7AA, 0x00A7AE], + [0x00A7B0, 0x00A7B4], + [0x00A7C4, 0x00A7C7], + [0x00FF21, 0x00FF3A], + [0x010400, 0x010427], + [0x0104B0, 0x0104D3], + [0x010C80, 0x010CB2], + [0x0118A0, 0x0118BF], + [0x016E40, 0x016E5F], + [0x01D400, 0x01D419], + [0x01D434, 0x01D44D], + [0x01D468, 0x01D481], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B5], + [0x01D4D0, 0x01D4E9], + [0x01D504, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D538, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D56C, 0x01D585], + [0x01D5A0, 0x01D5B9], + [0x01D5D4, 0x01D5ED], + [0x01D608, 0x01D621], + [0x01D63C, 0x01D655], + [0x01D670, 0x01D689], + [0x01D6A8, 0x01D6C0], + [0x01D6E2, 0x01D6FA], + [0x01D71C, 0x01D734], + [0x01D756, 0x01D76E], + [0x01D790, 0x01D7A8], + [0x01E900, 0x01E921], + [0x01F130, 0x01F149], + [0x01F150, 0x01F169], + [0x01F170, 0x01F189] + ] +}); +testPropertyEscapes( + /^\p{Uppercase}+$/u, + matchSymbols, + "\\p{Uppercase}" +); +testPropertyEscapes( + /^\p{Upper}+$/u, + matchSymbols, + "\\p{Upper}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x000101, + 0x000103, + 0x000105, + 0x000107, + 0x000109, + 0x00010B, + 0x00010D, + 0x00010F, + 0x000111, + 0x000113, + 0x000115, + 0x000117, + 0x000119, + 0x00011B, + 0x00011D, + 0x00011F, + 0x000121, + 0x000123, + 0x000125, + 0x000127, + 0x000129, + 0x00012B, + 0x00012D, + 0x00012F, + 0x000131, + 0x000133, + 0x000135, + 0x00013A, + 0x00013C, + 0x00013E, + 0x000140, + 0x000142, + 0x000144, + 0x000146, + 0x00014B, + 0x00014D, + 0x00014F, + 0x000151, + 0x000153, + 0x000155, + 0x000157, + 0x000159, + 0x00015B, + 0x00015D, + 0x00015F, + 0x000161, + 0x000163, + 0x000165, + 0x000167, + 0x000169, + 0x00016B, + 0x00016D, + 0x00016F, + 0x000171, + 0x000173, + 0x000175, + 0x000177, + 0x00017A, + 0x00017C, + 0x000183, + 0x000185, + 0x000188, + 0x000192, + 0x000195, + 0x00019E, + 0x0001A1, + 0x0001A3, + 0x0001A5, + 0x0001A8, + 0x0001AD, + 0x0001B0, + 0x0001B4, + 0x0001B6, + 0x0001CE, + 0x0001D0, + 0x0001D2, + 0x0001D4, + 0x0001D6, + 0x0001D8, + 0x0001DA, + 0x0001DF, + 0x0001E1, + 0x0001E3, + 0x0001E5, + 0x0001E7, + 0x0001E9, + 0x0001EB, + 0x0001ED, + 0x0001F5, + 0x0001F9, + 0x0001FB, + 0x0001FD, + 0x0001FF, + 0x000201, + 0x000203, + 0x000205, + 0x000207, + 0x000209, + 0x00020B, + 0x00020D, + 0x00020F, + 0x000211, + 0x000213, + 0x000215, + 0x000217, + 0x000219, + 0x00021B, + 0x00021D, + 0x00021F, + 0x000221, + 0x000223, + 0x000225, + 0x000227, + 0x000229, + 0x00022B, + 0x00022D, + 0x00022F, + 0x000231, + 0x00023C, + 0x000242, + 0x000247, + 0x000249, + 0x00024B, + 0x00024D, + 0x000371, + 0x000387, + 0x00038B, + 0x00038D, + 0x000390, + 0x0003A2, + 0x0003D9, + 0x0003DB, + 0x0003DD, + 0x0003DF, + 0x0003E1, + 0x0003E3, + 0x0003E5, + 0x0003E7, + 0x0003E9, + 0x0003EB, + 0x0003ED, + 0x0003F8, + 0x000461, + 0x000463, + 0x000465, + 0x000467, + 0x000469, + 0x00046B, + 0x00046D, + 0x00046F, + 0x000471, + 0x000473, + 0x000475, + 0x000477, + 0x000479, + 0x00047B, + 0x00047D, + 0x00047F, + 0x00048B, + 0x00048D, + 0x00048F, + 0x000491, + 0x000493, + 0x000495, + 0x000497, + 0x000499, + 0x00049B, + 0x00049D, + 0x00049F, + 0x0004A1, + 0x0004A3, + 0x0004A5, + 0x0004A7, + 0x0004A9, + 0x0004AB, + 0x0004AD, + 0x0004AF, + 0x0004B1, + 0x0004B3, + 0x0004B5, + 0x0004B7, + 0x0004B9, + 0x0004BB, + 0x0004BD, + 0x0004BF, + 0x0004C2, + 0x0004C4, + 0x0004C6, + 0x0004C8, + 0x0004CA, + 0x0004CC, + 0x0004D1, + 0x0004D3, + 0x0004D5, + 0x0004D7, + 0x0004D9, + 0x0004DB, + 0x0004DD, + 0x0004DF, + 0x0004E1, + 0x0004E3, + 0x0004E5, + 0x0004E7, + 0x0004E9, + 0x0004EB, + 0x0004ED, + 0x0004EF, + 0x0004F1, + 0x0004F3, + 0x0004F5, + 0x0004F7, + 0x0004F9, + 0x0004FB, + 0x0004FD, + 0x0004FF, + 0x000501, + 0x000503, + 0x000505, + 0x000507, + 0x000509, + 0x00050B, + 0x00050D, + 0x00050F, + 0x000511, + 0x000513, + 0x000515, + 0x000517, + 0x000519, + 0x00051B, + 0x00051D, + 0x00051F, + 0x000521, + 0x000523, + 0x000525, + 0x000527, + 0x000529, + 0x00052B, + 0x00052D, + 0x0010C6, + 0x001E01, + 0x001E03, + 0x001E05, + 0x001E07, + 0x001E09, + 0x001E0B, + 0x001E0D, + 0x001E0F, + 0x001E11, + 0x001E13, + 0x001E15, + 0x001E17, + 0x001E19, + 0x001E1B, + 0x001E1D, + 0x001E1F, + 0x001E21, + 0x001E23, + 0x001E25, + 0x001E27, + 0x001E29, + 0x001E2B, + 0x001E2D, + 0x001E2F, + 0x001E31, + 0x001E33, + 0x001E35, + 0x001E37, + 0x001E39, + 0x001E3B, + 0x001E3D, + 0x001E3F, + 0x001E41, + 0x001E43, + 0x001E45, + 0x001E47, + 0x001E49, + 0x001E4B, + 0x001E4D, + 0x001E4F, + 0x001E51, + 0x001E53, + 0x001E55, + 0x001E57, + 0x001E59, + 0x001E5B, + 0x001E5D, + 0x001E5F, + 0x001E61, + 0x001E63, + 0x001E65, + 0x001E67, + 0x001E69, + 0x001E6B, + 0x001E6D, + 0x001E6F, + 0x001E71, + 0x001E73, + 0x001E75, + 0x001E77, + 0x001E79, + 0x001E7B, + 0x001E7D, + 0x001E7F, + 0x001E81, + 0x001E83, + 0x001E85, + 0x001E87, + 0x001E89, + 0x001E8B, + 0x001E8D, + 0x001E8F, + 0x001E91, + 0x001E93, + 0x001E9F, + 0x001EA1, + 0x001EA3, + 0x001EA5, + 0x001EA7, + 0x001EA9, + 0x001EAB, + 0x001EAD, + 0x001EAF, + 0x001EB1, + 0x001EB3, + 0x001EB5, + 0x001EB7, + 0x001EB9, + 0x001EBB, + 0x001EBD, + 0x001EBF, + 0x001EC1, + 0x001EC3, + 0x001EC5, + 0x001EC7, + 0x001EC9, + 0x001ECB, + 0x001ECD, + 0x001ECF, + 0x001ED1, + 0x001ED3, + 0x001ED5, + 0x001ED7, + 0x001ED9, + 0x001EDB, + 0x001EDD, + 0x001EDF, + 0x001EE1, + 0x001EE3, + 0x001EE5, + 0x001EE7, + 0x001EE9, + 0x001EEB, + 0x001EED, + 0x001EEF, + 0x001EF1, + 0x001EF3, + 0x001EF5, + 0x001EF7, + 0x001EF9, + 0x001EFB, + 0x001EFD, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x002125, + 0x002127, + 0x002129, + 0x002C61, + 0x002C68, + 0x002C6A, + 0x002C6C, + 0x002C71, + 0x002C81, + 0x002C83, + 0x002C85, + 0x002C87, + 0x002C89, + 0x002C8B, + 0x002C8D, + 0x002C8F, + 0x002C91, + 0x002C93, + 0x002C95, + 0x002C97, + 0x002C99, + 0x002C9B, + 0x002C9D, + 0x002C9F, + 0x002CA1, + 0x002CA3, + 0x002CA5, + 0x002CA7, + 0x002CA9, + 0x002CAB, + 0x002CAD, + 0x002CAF, + 0x002CB1, + 0x002CB3, + 0x002CB5, + 0x002CB7, + 0x002CB9, + 0x002CBB, + 0x002CBD, + 0x002CBF, + 0x002CC1, + 0x002CC3, + 0x002CC5, + 0x002CC7, + 0x002CC9, + 0x002CCB, + 0x002CCD, + 0x002CCF, + 0x002CD1, + 0x002CD3, + 0x002CD5, + 0x002CD7, + 0x002CD9, + 0x002CDB, + 0x002CDD, + 0x002CDF, + 0x002CE1, + 0x002CEC, + 0x00A641, + 0x00A643, + 0x00A645, + 0x00A647, + 0x00A649, + 0x00A64B, + 0x00A64D, + 0x00A64F, + 0x00A651, + 0x00A653, + 0x00A655, + 0x00A657, + 0x00A659, + 0x00A65B, + 0x00A65D, + 0x00A65F, + 0x00A661, + 0x00A663, + 0x00A665, + 0x00A667, + 0x00A669, + 0x00A66B, + 0x00A681, + 0x00A683, + 0x00A685, + 0x00A687, + 0x00A689, + 0x00A68B, + 0x00A68D, + 0x00A68F, + 0x00A691, + 0x00A693, + 0x00A695, + 0x00A697, + 0x00A699, + 0x00A723, + 0x00A725, + 0x00A727, + 0x00A729, + 0x00A72B, + 0x00A72D, + 0x00A733, + 0x00A735, + 0x00A737, + 0x00A739, + 0x00A73B, + 0x00A73D, + 0x00A73F, + 0x00A741, + 0x00A743, + 0x00A745, + 0x00A747, + 0x00A749, + 0x00A74B, + 0x00A74D, + 0x00A74F, + 0x00A751, + 0x00A753, + 0x00A755, + 0x00A757, + 0x00A759, + 0x00A75B, + 0x00A75D, + 0x00A75F, + 0x00A761, + 0x00A763, + 0x00A765, + 0x00A767, + 0x00A769, + 0x00A76B, + 0x00A76D, + 0x00A77A, + 0x00A77C, + 0x00A77F, + 0x00A781, + 0x00A783, + 0x00A785, + 0x00A78C, + 0x00A791, + 0x00A797, + 0x00A799, + 0x00A79B, + 0x00A79D, + 0x00A79F, + 0x00A7A1, + 0x00A7A3, + 0x00A7A5, + 0x00A7A7, + 0x00A7A9, + 0x00A7AF, + 0x00A7B5, + 0x00A7B7, + 0x00A7B9, + 0x00A7BB, + 0x00A7BD, + 0x00A7C3, + 0x00A7C8, + 0x01D49D, + 0x01D4AD, + 0x01D506, + 0x01D515, + 0x01D53A, + 0x01D53F, + 0x01D545 + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x0000BF], + [0x0000DF, 0x0000FF], + [0x000137, 0x000138], + [0x000148, 0x000149], + [0x00017E, 0x000180], + [0x00018C, 0x00018D], + [0x000199, 0x00019B], + [0x0001AA, 0x0001AB], + [0x0001B9, 0x0001BB], + [0x0001BD, 0x0001C3], + [0x0001C5, 0x0001C6], + [0x0001C8, 0x0001C9], + [0x0001CB, 0x0001CC], + [0x0001DC, 0x0001DD], + [0x0001EF, 0x0001F0], + [0x0001F2, 0x0001F3], + [0x000233, 0x000239], + [0x00023F, 0x000240], + [0x00024F, 0x00036F], + [0x000373, 0x000375], + [0x000377, 0x00037E], + [0x000380, 0x000385], + [0x0003AC, 0x0003CE], + [0x0003D0, 0x0003D1], + [0x0003D5, 0x0003D7], + [0x0003EF, 0x0003F3], + [0x0003F5, 0x0003F6], + [0x0003FB, 0x0003FC], + [0x000430, 0x00045F], + [0x000481, 0x000489], + [0x0004CE, 0x0004CF], + [0x00052F, 0x000530], + [0x000557, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x00139F], + [0x0013F6, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001DFF], + [0x001E95, 0x001E9D], + [0x001EFF, 0x001F07], + [0x001F10, 0x001F17], + [0x001F1E, 0x001F27], + [0x001F30, 0x001F37], + [0x001F40, 0x001F47], + [0x001F4E, 0x001F58], + [0x001F60, 0x001F67], + [0x001F70, 0x001FB7], + [0x001FBC, 0x001FC7], + [0x001FCC, 0x001FD7], + [0x001FDC, 0x001FE7], + [0x001FED, 0x001FF7], + [0x001FFC, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x00210A], + [0x00210E, 0x00210F], + [0x002113, 0x002114], + [0x002116, 0x002118], + [0x00211E, 0x002123], + [0x00212E, 0x00212F], + [0x002134, 0x00213D], + [0x002140, 0x002144], + [0x002146, 0x00215F], + [0x002170, 0x002182], + [0x002184, 0x0024B5], + [0x0024D0, 0x002BFF], + [0x002C2F, 0x002C5F], + [0x002C65, 0x002C66], + [0x002C73, 0x002C74], + [0x002C76, 0x002C7D], + [0x002CE3, 0x002CEA], + [0x002CEE, 0x002CF1], + [0x002CF3, 0x00A63F], + [0x00A66D, 0x00A67F], + [0x00A69B, 0x00A721], + [0x00A72F, 0x00A731], + [0x00A76F, 0x00A778], + [0x00A787, 0x00A78A], + [0x00A78E, 0x00A78F], + [0x00A793, 0x00A795], + [0x00A7BF, 0x00A7C1], + [0x00A7CA, 0x00A7F4], + [0x00A7F6, 0x00DBFF], + [0x00E000, 0x00FF20], + [0x00FF3B, 0x0103FF], + [0x010428, 0x0104AF], + [0x0104D4, 0x010C7F], + [0x010CB3, 0x01189F], + [0x0118C0, 0x016E3F], + [0x016E60, 0x01D3FF], + [0x01D41A, 0x01D433], + [0x01D44E, 0x01D467], + [0x01D482, 0x01D49B], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D4B6, 0x01D4CF], + [0x01D4EA, 0x01D503], + [0x01D50B, 0x01D50C], + [0x01D51D, 0x01D537], + [0x01D547, 0x01D549], + [0x01D551, 0x01D56B], + [0x01D586, 0x01D59F], + [0x01D5BA, 0x01D5D3], + [0x01D5EE, 0x01D607], + [0x01D622, 0x01D63B], + [0x01D656, 0x01D66F], + [0x01D68A, 0x01D6A7], + [0x01D6C1, 0x01D6E1], + [0x01D6FB, 0x01D71B], + [0x01D735, 0x01D755], + [0x01D76F, 0x01D78F], + [0x01D7A9, 0x01D7C9], + [0x01D7CB, 0x01E8FF], + [0x01E922, 0x01F12F], + [0x01F14A, 0x01F14F], + [0x01F16A, 0x01F16F], + [0x01F18A, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Uppercase}+$/u, + nonMatchSymbols, + "\\P{Uppercase}" +); +testPropertyEscapes( + /^\P{Upper}+$/u, + nonMatchSymbols, + "\\P{Upper}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js new file mode 100644 index 0000000000..90f8ae63c4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js @@ -0,0 +1,57 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `Variation_Selector` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00180B, 0x00180D], + [0x00FE00, 0x00FE0F], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{Variation_Selector}+$/u, + matchSymbols, + "\\p{Variation_Selector}" +); +testPropertyEscapes( + /^\p{VS}+$/u, + matchSymbols, + "\\p{VS}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00180A], + [0x00180E, 0x00DBFF], + [0x00E000, 0x00FDFF], + [0x00FE10, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{Variation_Selector}+$/u, + nonMatchSymbols, + "\\P{Variation_Selector}" +); +testPropertyEscapes( + /^\P{VS}+$/u, + nonMatchSymbols, + "\\P{VS}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/White_Space.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/White_Space.js new file mode 100644 index 0000000000..c7e819cf1f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/White_Space.js @@ -0,0 +1,72 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `White_Space` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x000020, + 0x000085, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000 + ], + ranges: [ + [0x000009, 0x00000D], + [0x002000, 0x00200A], + [0x002028, 0x002029] + ] +}); +testPropertyEscapes( + /^\p{White_Space}+$/u, + matchSymbols, + "\\p{White_Space}" +); +testPropertyEscapes( + /^\p{space}+$/u, + matchSymbols, + "\\p{space}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000008], + [0x00000E, 0x00001F], + [0x000021, 0x000084], + [0x000086, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x002027], + [0x00202A, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{White_Space}+$/u, + nonMatchSymbols, + "\\P{White_Space}" +); +testPropertyEscapes( + /^\P{space}+$/u, + nonMatchSymbols, + "\\P{space}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js new file mode 100644 index 0000000000..3d09981cf8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js @@ -0,0 +1,1527 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `XID_Continue` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x00005F, + 0x0000AA, + 0x0000B5, + 0x0000B7, + 0x0000BA, + 0x0002EC, + 0x0002EE, + 0x00037F, + 0x00038C, + 0x000559, + 0x0005BF, + 0x0005C7, + 0x0006FF, + 0x0007FA, + 0x0007FD, + 0x0009B2, + 0x0009D7, + 0x0009FC, + 0x0009FE, + 0x000A3C, + 0x000A51, + 0x000A5E, + 0x000AD0, + 0x000B71, + 0x000B9C, + 0x000BD0, + 0x000BD7, + 0x000CDE, + 0x000DBD, + 0x000DCA, + 0x000DD6, + 0x000E84, + 0x000EA5, + 0x000EC6, + 0x000F00, + 0x000F35, + 0x000F37, + 0x000F39, + 0x000FC6, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017D7, + 0x001AA7, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002054, + 0x002071, + 0x00207F, + 0x0020E1, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x002D6F, + 0x00A82C, + 0x00A8FB, + 0x00FB3E, + 0x00FE71, + 0x00FE73, + 0x00FE77, + 0x00FE79, + 0x00FE7B, + 0x00FE7D, + 0x00FF3F, + 0x0101FD, + 0x0102E0, + 0x010808, + 0x01083C, + 0x010A3F, + 0x010F27, + 0x011176, + 0x0111DC, + 0x01123E, + 0x011288, + 0x011350, + 0x011357, + 0x0114C7, + 0x011644, + 0x011909, + 0x011A47, + 0x011A9D, + 0x011D3A, + 0x011FB0, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01DA75, + 0x01DA84, + 0x01E14E, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000300, 0x000374], + [0x000376, 0x000377], + [0x00037B, 0x00037D], + [0x000386, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x000483, 0x000487], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x000591, 0x0005BD], + [0x0005C1, 0x0005C2], + [0x0005C4, 0x0005C5], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000610, 0x00061A], + [0x000620, 0x000669], + [0x00066E, 0x0006D3], + [0x0006D5, 0x0006DC], + [0x0006DF, 0x0006E8], + [0x0006EA, 0x0006FC], + [0x000710, 0x00074A], + [0x00074D, 0x0007B1], + [0x0007C0, 0x0007F5], + [0x000800, 0x00082D], + [0x000840, 0x00085B], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x0008D3, 0x0008E1], + [0x0008E3, 0x000963], + [0x000966, 0x00096F], + [0x000971, 0x000983], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009BC, 0x0009C4], + [0x0009C7, 0x0009C8], + [0x0009CB, 0x0009CE], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E3], + [0x0009E6, 0x0009F1], + [0x000A01, 0x000A03], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A3E, 0x000A42], + [0x000A47, 0x000A48], + [0x000A4B, 0x000A4D], + [0x000A59, 0x000A5C], + [0x000A66, 0x000A75], + [0x000A81, 0x000A83], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000ABC, 0x000AC5], + [0x000AC7, 0x000AC9], + [0x000ACB, 0x000ACD], + [0x000AE0, 0x000AE3], + [0x000AE6, 0x000AEF], + [0x000AF9, 0x000AFF], + [0x000B01, 0x000B03], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B3C, 0x000B44], + [0x000B47, 0x000B48], + [0x000B4B, 0x000B4D], + [0x000B55, 0x000B57], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B63], + [0x000B66, 0x000B6F], + [0x000B82, 0x000B83], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000BBE, 0x000BC2], + [0x000BC6, 0x000BC8], + [0x000BCA, 0x000BCD], + [0x000BE6, 0x000BEF], + [0x000C00, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C3D, 0x000C44], + [0x000C46, 0x000C48], + [0x000C4A, 0x000C4D], + [0x000C55, 0x000C56], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C63], + [0x000C66, 0x000C6F], + [0x000C80, 0x000C83], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CBC, 0x000CC4], + [0x000CC6, 0x000CC8], + [0x000CCA, 0x000CCD], + [0x000CD5, 0x000CD6], + [0x000CE0, 0x000CE3], + [0x000CE6, 0x000CEF], + [0x000CF1, 0x000CF2], + [0x000D00, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D44], + [0x000D46, 0x000D48], + [0x000D4A, 0x000D4E], + [0x000D54, 0x000D57], + [0x000D5F, 0x000D63], + [0x000D66, 0x000D6F], + [0x000D7A, 0x000D7F], + [0x000D81, 0x000D83], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000DCF, 0x000DD4], + [0x000DD8, 0x000DDF], + [0x000DE6, 0x000DEF], + [0x000DF2, 0x000DF3], + [0x000E01, 0x000E3A], + [0x000E40, 0x000E4E], + [0x000E50, 0x000E59], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EBD], + [0x000EC0, 0x000EC4], + [0x000EC8, 0x000ECD], + [0x000ED0, 0x000ED9], + [0x000EDC, 0x000EDF], + [0x000F18, 0x000F19], + [0x000F20, 0x000F29], + [0x000F3E, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F71, 0x000F84], + [0x000F86, 0x000F97], + [0x000F99, 0x000FBC], + [0x001000, 0x001049], + [0x001050, 0x00109D], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x00135D, 0x00135F], + [0x001369, 0x001371], + [0x001380, 0x00138F], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001714], + [0x001720, 0x001734], + [0x001740, 0x001753], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001772, 0x001773], + [0x001780, 0x0017D3], + [0x0017DC, 0x0017DD], + [0x0017E0, 0x0017E9], + [0x00180B, 0x00180D], + [0x001810, 0x001819], + [0x001820, 0x001878], + [0x001880, 0x0018AA], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001920, 0x00192B], + [0x001930, 0x00193B], + [0x001946, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x0019D0, 0x0019DA], + [0x001A00, 0x001A1B], + [0x001A20, 0x001A5E], + [0x001A60, 0x001A7C], + [0x001A7F, 0x001A89], + [0x001A90, 0x001A99], + [0x001AB0, 0x001ABD], + [0x001ABF, 0x001AC0], + [0x001B00, 0x001B4B], + [0x001B50, 0x001B59], + [0x001B6B, 0x001B73], + [0x001B80, 0x001BF3], + [0x001C00, 0x001C37], + [0x001C40, 0x001C49], + [0x001C4D, 0x001C7D], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001CD0, 0x001CD2], + [0x001CD4, 0x001CFA], + [0x001D00, 0x001DF9], + [0x001DFB, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x00203F, 0x002040], + [0x002090, 0x00209C], + [0x0020D0, 0x0020DC], + [0x0020E5, 0x0020F0], + [0x00210A, 0x002113], + [0x002118, 0x00211D], + [0x00212A, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002160, 0x002188], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CF3], + [0x002D00, 0x002D25], + [0x002D30, 0x002D67], + [0x002D7F, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x002DE0, 0x002DFF], + [0x003005, 0x003007], + [0x003021, 0x00302F], + [0x003031, 0x003035], + [0x003038, 0x00303C], + [0x003041, 0x003096], + [0x003099, 0x00309A], + [0x00309D, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A4D0, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A62B], + [0x00A640, 0x00A66F], + [0x00A674, 0x00A67D], + [0x00A67F, 0x00A6F1], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A827], + [0x00A840, 0x00A873], + [0x00A880, 0x00A8C5], + [0x00A8D0, 0x00A8D9], + [0x00A8E0, 0x00A8F7], + [0x00A8FD, 0x00A92D], + [0x00A930, 0x00A953], + [0x00A960, 0x00A97C], + [0x00A980, 0x00A9C0], + [0x00A9CF, 0x00A9D9], + [0x00A9E0, 0x00A9FE], + [0x00AA00, 0x00AA36], + [0x00AA40, 0x00AA4D], + [0x00AA50, 0x00AA59], + [0x00AA60, 0x00AA76], + [0x00AA7A, 0x00AAC2], + [0x00AADB, 0x00AADD], + [0x00AAE0, 0x00AAEF], + [0x00AAF2, 0x00AAF6], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB70, 0x00ABEA], + [0x00ABEC, 0x00ABED], + [0x00ABF0, 0x00ABF9], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1D, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FC5D], + [0x00FC64, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDF9], + [0x00FE00, 0x00FE0F], + [0x00FE20, 0x00FE2F], + [0x00FE33, 0x00FE34], + [0x00FE4D, 0x00FE4F], + [0x00FE7F, 0x00FEFC], + [0x00FF10, 0x00FF19], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010140, 0x010174], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x01034A], + [0x010350, 0x01037A], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x0103D1, 0x0103D5], + [0x010400, 0x01049D], + [0x0104A0, 0x0104A9], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A00, 0x010A03], + [0x010A05, 0x010A06], + [0x010A0C, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A38, 0x010A3A], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE6], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010D00, 0x010D27], + [0x010D30, 0x010D39], + [0x010E80, 0x010EA9], + [0x010EAB, 0x010EAC], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F50], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011000, 0x011046], + [0x011066, 0x01106F], + [0x01107F, 0x0110BA], + [0x0110D0, 0x0110E8], + [0x0110F0, 0x0110F9], + [0x011100, 0x011134], + [0x011136, 0x01113F], + [0x011144, 0x011147], + [0x011150, 0x011173], + [0x011180, 0x0111C4], + [0x0111C9, 0x0111CC], + [0x0111CE, 0x0111DA], + [0x011200, 0x011211], + [0x011213, 0x011237], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112EA], + [0x0112F0, 0x0112F9], + [0x011300, 0x011303], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01133B, 0x011344], + [0x011347, 0x011348], + [0x01134B, 0x01134D], + [0x01135D, 0x011363], + [0x011366, 0x01136C], + [0x011370, 0x011374], + [0x011400, 0x01144A], + [0x011450, 0x011459], + [0x01145E, 0x011461], + [0x011480, 0x0114C5], + [0x0114D0, 0x0114D9], + [0x011580, 0x0115B5], + [0x0115B8, 0x0115C0], + [0x0115D8, 0x0115DD], + [0x011600, 0x011640], + [0x011650, 0x011659], + [0x011680, 0x0116B8], + [0x0116C0, 0x0116C9], + [0x011700, 0x01171A], + [0x01171D, 0x01172B], + [0x011730, 0x011739], + [0x011800, 0x01183A], + [0x0118A0, 0x0118E9], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x011935], + [0x011937, 0x011938], + [0x01193B, 0x011943], + [0x011950, 0x011959], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D7], + [0x0119DA, 0x0119E1], + [0x0119E3, 0x0119E4], + [0x011A00, 0x011A3E], + [0x011A50, 0x011A99], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C36], + [0x011C38, 0x011C40], + [0x011C50, 0x011C59], + [0x011C72, 0x011C8F], + [0x011C92, 0x011CA7], + [0x011CA9, 0x011CB6], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D36], + [0x011D3C, 0x011D3D], + [0x011D3F, 0x011D47], + [0x011D50, 0x011D59], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D8E], + [0x011D90, 0x011D91], + [0x011D93, 0x011D98], + [0x011DA0, 0x011DA9], + [0x011EE0, 0x011EF6], + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016A60, 0x016A69], + [0x016AD0, 0x016AED], + [0x016AF0, 0x016AF4], + [0x016B00, 0x016B36], + [0x016B40, 0x016B43], + [0x016B50, 0x016B59], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E7F], + [0x016F00, 0x016F4A], + [0x016F4F, 0x016F87], + [0x016F8F, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x016FE3, 0x016FE4], + [0x016FF0, 0x016FF1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01BC9D, 0x01BC9E], + [0x01D165, 0x01D169], + [0x01D16D, 0x01D172], + [0x01D17B, 0x01D182], + [0x01D185, 0x01D18B], + [0x01D1AA, 0x01D1AD], + [0x01D242, 0x01D244], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01D7CE, 0x01D7FF], + [0x01DA00, 0x01DA36], + [0x01DA3B, 0x01DA6C], + [0x01DA9B, 0x01DA9F], + [0x01DAA1, 0x01DAAF], + [0x01E000, 0x01E006], + [0x01E008, 0x01E018], + [0x01E01B, 0x01E021], + [0x01E023, 0x01E024], + [0x01E026, 0x01E02A], + [0x01E100, 0x01E12C], + [0x01E130, 0x01E13D], + [0x01E140, 0x01E149], + [0x01E2C0, 0x01E2F9], + [0x01E800, 0x01E8C4], + [0x01E8D0, 0x01E8D6], + [0x01E900, 0x01E94B], + [0x01E950, 0x01E959], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x01FBF0, 0x01FBF9], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A], + [0x0E0100, 0x0E01EF] + ] +}); +testPropertyEscapes( + /^\p{XID_Continue}+$/u, + matchSymbols, + "\\p{XID_Continue}" +); +testPropertyEscapes( + /^\p{XIDC}+$/u, + matchSymbols, + "\\p{XIDC}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x000060, + 0x0000B6, + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x00037E, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000482, + 0x000530, + 0x0005BE, + 0x0005C0, + 0x0005C3, + 0x0005C6, + 0x0006D4, + 0x0006E9, + 0x0008B5, + 0x0008E2, + 0x000970, + 0x000984, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x0009FD, + 0x000A04, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A3D, + 0x000A5D, + 0x000A84, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000AC6, + 0x000ACA, + 0x000B00, + 0x000B04, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B70, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000BC9, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C45, + 0x000C49, + 0x000C57, + 0x000C84, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CC5, + 0x000CC9, + 0x000CDF, + 0x000CF0, + 0x000D0D, + 0x000D11, + 0x000D45, + 0x000D49, + 0x000D80, + 0x000D84, + 0x000DB2, + 0x000DBC, + 0x000DD5, + 0x000DD7, + 0x000E4F, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EC5, + 0x000EC7, + 0x000F36, + 0x000F38, + 0x000F48, + 0x000F85, + 0x000F98, + 0x0010C6, + 0x0010FB, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x001771, + 0x00191F, + 0x001A5F, + 0x001ABE, + 0x001CD3, + 0x001DFA, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x002DDF, + 0x003030, + 0x0030A0, + 0x0030FB, + 0x003130, + 0x00A67E, + 0x00A8FC, + 0x00A9FF, + 0x00AB27, + 0x00AB2F, + 0x00AB5B, + 0x00ABEB, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE72, + 0x00FE78, + 0x00FE7A, + 0x00FE7C, + 0x00FE7E, + 0x00FF40, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x0103D0, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A04, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x010EAA, + 0x011135, + 0x0111CD, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011304, + 0x011329, + 0x011331, + 0x011334, + 0x01133A, + 0x0114C6, + 0x011914, + 0x011917, + 0x011936, + 0x0119E2, + 0x011C09, + 0x011C37, + 0x011CA8, + 0x011D07, + 0x011D0A, + 0x011D3B, + 0x011D3E, + 0x011D66, + 0x011D69, + 0x011D8F, + 0x011D92, + 0x016A5F, + 0x016FE2, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01DAA0, + 0x01E007, + 0x01E022, + 0x01E025, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B8, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x0002FF], + [0x000378, 0x00037A], + [0x000380, 0x000385], + [0x000488, 0x000489], + [0x000557, 0x000558], + [0x00055A, 0x00055F], + [0x000589, 0x000590], + [0x0005C8, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00060F], + [0x00061B, 0x00061F], + [0x00066A, 0x00066D], + [0x0006DD, 0x0006DE], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x00074B, 0x00074C], + [0x0007B2, 0x0007BF], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FC], + [0x0007FE, 0x0007FF], + [0x00082E, 0x00083F], + [0x00085C, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x0008D2], + [0x000964, 0x000965], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BB], + [0x0009C5, 0x0009C6], + [0x0009C9, 0x0009CA], + [0x0009CF, 0x0009D6], + [0x0009D8, 0x0009DB], + [0x0009E4, 0x0009E5], + [0x0009F2, 0x0009FB], + [0x0009FF, 0x000A00], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A3B], + [0x000A43, 0x000A46], + [0x000A49, 0x000A4A], + [0x000A4E, 0x000A50], + [0x000A52, 0x000A58], + [0x000A5F, 0x000A65], + [0x000A76, 0x000A80], + [0x000ABA, 0x000ABB], + [0x000ACE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE4, 0x000AE5], + [0x000AF0, 0x000AF8], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3B], + [0x000B45, 0x000B46], + [0x000B49, 0x000B4A], + [0x000B4E, 0x000B54], + [0x000B58, 0x000B5B], + [0x000B64, 0x000B65], + [0x000B72, 0x000B81], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BBD], + [0x000BC3, 0x000BC5], + [0x000BCE, 0x000BCF], + [0x000BD1, 0x000BD6], + [0x000BD8, 0x000BE5], + [0x000BF0, 0x000BFF], + [0x000C3A, 0x000C3C], + [0x000C4E, 0x000C54], + [0x000C5B, 0x000C5F], + [0x000C64, 0x000C65], + [0x000C70, 0x000C7F], + [0x000CBA, 0x000CBB], + [0x000CCE, 0x000CD4], + [0x000CD7, 0x000CDD], + [0x000CE4, 0x000CE5], + [0x000CF3, 0x000CFF], + [0x000D4F, 0x000D53], + [0x000D58, 0x000D5E], + [0x000D64, 0x000D65], + [0x000D70, 0x000D79], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000DC9], + [0x000DCB, 0x000DCE], + [0x000DE0, 0x000DE5], + [0x000DF0, 0x000DF1], + [0x000DF4, 0x000E00], + [0x000E3B, 0x000E3F], + [0x000E5A, 0x000E80], + [0x000EBE, 0x000EBF], + [0x000ECE, 0x000ECF], + [0x000EDA, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F17], + [0x000F1A, 0x000F1F], + [0x000F2A, 0x000F34], + [0x000F3A, 0x000F3D], + [0x000F6D, 0x000F70], + [0x000FBD, 0x000FC5], + [0x000FC7, 0x000FFF], + [0x00104A, 0x00104F], + [0x00109E, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00135C], + [0x001360, 0x001368], + [0x001372, 0x00137F], + [0x001390, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x0016FF], + [0x001715, 0x00171F], + [0x001735, 0x00173F], + [0x001754, 0x00175F], + [0x001774, 0x00177F], + [0x0017D4, 0x0017D6], + [0x0017D8, 0x0017DB], + [0x0017DE, 0x0017DF], + [0x0017EA, 0x00180A], + [0x00180E, 0x00180F], + [0x00181A, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00192C, 0x00192F], + [0x00193C, 0x001945], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019CF], + [0x0019DB, 0x0019FF], + [0x001A1C, 0x001A1F], + [0x001A7D, 0x001A7E], + [0x001A8A, 0x001A8F], + [0x001A9A, 0x001AA6], + [0x001AA8, 0x001AAF], + [0x001AC1, 0x001AFF], + [0x001B4C, 0x001B4F], + [0x001B5A, 0x001B6A], + [0x001B74, 0x001B7F], + [0x001BF4, 0x001BFF], + [0x001C38, 0x001C3F], + [0x001C4A, 0x001C4C], + [0x001C7E, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CCF], + [0x001CFB, 0x001CFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x00203E], + [0x002041, 0x002053], + [0x002055, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x0020CF], + [0x0020DD, 0x0020E0], + [0x0020E2, 0x0020E4], + [0x0020F1, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002117], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D70, 0x002D7E], + [0x002D97, 0x002D9F], + [0x002E00, 0x003004], + [0x003008, 0x003020], + [0x003036, 0x003037], + [0x00303D, 0x003040], + [0x003097, 0x003098], + [0x00309B, 0x00309C], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A62C, 0x00A63F], + [0x00A670, 0x00A673], + [0x00A6F2, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A828, 0x00A82B], + [0x00A82D, 0x00A83F], + [0x00A874, 0x00A87F], + [0x00A8C6, 0x00A8CF], + [0x00A8DA, 0x00A8DF], + [0x00A8F8, 0x00A8FA], + [0x00A92E, 0x00A92F], + [0x00A954, 0x00A95F], + [0x00A97D, 0x00A97F], + [0x00A9C1, 0x00A9CE], + [0x00A9DA, 0x00A9DF], + [0x00AA37, 0x00AA3F], + [0x00AA4E, 0x00AA4F], + [0x00AA5A, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AAC3, 0x00AADA], + [0x00AADE, 0x00AADF], + [0x00AAF0, 0x00AAF1], + [0x00AAF7, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6A, 0x00AB6F], + [0x00ABEE, 0x00ABEF], + [0x00ABFA, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FC5E, 0x00FC63], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFA, 0x00FDFF], + [0x00FE10, 0x00FE1F], + [0x00FE30, 0x00FE32], + [0x00FE35, 0x00FE4C], + [0x00FE50, 0x00FE70], + [0x00FE74, 0x00FE76], + [0x00FEFD, 0x00FF0F], + [0x00FF1A, 0x00FF20], + [0x00FF3B, 0x00FF3E], + [0x00FF5B, 0x00FF65], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01013F], + [0x010175, 0x0101FC], + [0x0101FE, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102DF], + [0x0102E1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034B, 0x01034F], + [0x01037B, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x01049F], + [0x0104AA, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A07, 0x010A0B], + [0x010A36, 0x010A37], + [0x010A3B, 0x010A3E], + [0x010A40, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE7, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CFF], + [0x010D28, 0x010D2F], + [0x010D3A, 0x010E7F], + [0x010EAD, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F51, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x010FFF], + [0x011047, 0x011065], + [0x011070, 0x01107E], + [0x0110BB, 0x0110CF], + [0x0110E9, 0x0110EF], + [0x0110FA, 0x0110FF], + [0x011140, 0x011143], + [0x011148, 0x01114F], + [0x011174, 0x011175], + [0x011177, 0x01117F], + [0x0111C5, 0x0111C8], + [0x0111DD, 0x0111FF], + [0x011238, 0x01123D], + [0x01123F, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112EB, 0x0112EF], + [0x0112FA, 0x0112FF], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x011345, 0x011346], + [0x011349, 0x01134A], + [0x01134E, 0x01134F], + [0x011351, 0x011356], + [0x011358, 0x01135C], + [0x011364, 0x011365], + [0x01136D, 0x01136F], + [0x011375, 0x0113FF], + [0x01144B, 0x01144F], + [0x01145A, 0x01145D], + [0x011462, 0x01147F], + [0x0114C8, 0x0114CF], + [0x0114DA, 0x01157F], + [0x0115B6, 0x0115B7], + [0x0115C1, 0x0115D7], + [0x0115DE, 0x0115FF], + [0x011641, 0x011643], + [0x011645, 0x01164F], + [0x01165A, 0x01167F], + [0x0116B9, 0x0116BF], + [0x0116CA, 0x0116FF], + [0x01171B, 0x01171C], + [0x01172C, 0x01172F], + [0x01173A, 0x0117FF], + [0x01183B, 0x01189F], + [0x0118EA, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011939, 0x01193A], + [0x011944, 0x01194F], + [0x01195A, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D8, 0x0119D9], + [0x0119E5, 0x0119FF], + [0x011A3F, 0x011A46], + [0x011A48, 0x011A4F], + [0x011A9A, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C41, 0x011C4F], + [0x011C5A, 0x011C71], + [0x011C90, 0x011C91], + [0x011CB7, 0x011CFF], + [0x011D37, 0x011D39], + [0x011D48, 0x011D4F], + [0x011D5A, 0x011D5F], + [0x011D99, 0x011D9F], + [0x011DAA, 0x011EDF], + [0x011EF7, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x0123FF], + [0x01246F, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A6A, 0x016ACF], + [0x016AEE, 0x016AEF], + [0x016AF5, 0x016AFF], + [0x016B37, 0x016B3F], + [0x016B44, 0x016B4F], + [0x016B5A, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E80, 0x016EFF], + [0x016F4B, 0x016F4E], + [0x016F88, 0x016F8E], + [0x016FA0, 0x016FDF], + [0x016FE5, 0x016FEF], + [0x016FF2, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01BC9C], + [0x01BC9F, 0x01D164], + [0x01D16A, 0x01D16C], + [0x01D173, 0x01D17A], + [0x01D183, 0x01D184], + [0x01D18C, 0x01D1A9], + [0x01D1AE, 0x01D241], + [0x01D245, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01D7CD], + [0x01D800, 0x01D9FF], + [0x01DA37, 0x01DA3A], + [0x01DA6D, 0x01DA74], + [0x01DA76, 0x01DA83], + [0x01DA85, 0x01DA9A], + [0x01DAB0, 0x01DFFF], + [0x01E019, 0x01E01A], + [0x01E02B, 0x01E0FF], + [0x01E12D, 0x01E12F], + [0x01E13E, 0x01E13F], + [0x01E14A, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2FA, 0x01E7FF], + [0x01E8C5, 0x01E8CF], + [0x01E8D7, 0x01E8FF], + [0x01E94C, 0x01E94F], + [0x01E95A, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01FBEF], + [0x01FBFA, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x0E00FF], + [0x0E01F0, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{XID_Continue}+$/u, + nonMatchSymbols, + "\\P{XID_Continue}" +); +testPropertyEscapes( + /^\P{XIDC}+$/u, + nonMatchSymbols, + "\\P{XIDC}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/XID_Start.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/XID_Start.js new file mode 100644 index 0000000000..c2b14834d2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/XID_Start.js @@ -0,0 +1,1311 @@ +// Copyright 2020 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Unicode property escapes for `XID_Start` +info: | + Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests + Unicode v13.0.0 +esid: sec-static-semantics-unicodematchproperty-p +features: [regexp-unicode-property-escapes] +includes: [regExpUtils.js] +---*/ + +const matchSymbols = buildString({ + loneCodePoints: [ + 0x0000AA, + 0x0000B5, + 0x0000BA, + 0x0002EC, + 0x0002EE, + 0x00037F, + 0x000386, + 0x00038C, + 0x000559, + 0x0006D5, + 0x0006FF, + 0x000710, + 0x0007B1, + 0x0007FA, + 0x00081A, + 0x000824, + 0x000828, + 0x00093D, + 0x000950, + 0x0009B2, + 0x0009BD, + 0x0009CE, + 0x0009FC, + 0x000A5E, + 0x000ABD, + 0x000AD0, + 0x000AF9, + 0x000B3D, + 0x000B71, + 0x000B83, + 0x000B9C, + 0x000BD0, + 0x000C3D, + 0x000C80, + 0x000CBD, + 0x000CDE, + 0x000D3D, + 0x000D4E, + 0x000DBD, + 0x000E32, + 0x000E84, + 0x000EA5, + 0x000EB2, + 0x000EBD, + 0x000EC6, + 0x000F00, + 0x00103F, + 0x001061, + 0x00108E, + 0x0010C7, + 0x0010CD, + 0x001258, + 0x0012C0, + 0x0017D7, + 0x0017DC, + 0x0018AA, + 0x001AA7, + 0x001CFA, + 0x001F59, + 0x001F5B, + 0x001F5D, + 0x001FBE, + 0x002071, + 0x00207F, + 0x002102, + 0x002107, + 0x002115, + 0x002124, + 0x002126, + 0x002128, + 0x00214E, + 0x002D27, + 0x002D2D, + 0x002D6F, + 0x00A8FB, + 0x00A9CF, + 0x00AA7A, + 0x00AAB1, + 0x00AAC0, + 0x00AAC2, + 0x00FB1D, + 0x00FB3E, + 0x00FE71, + 0x00FE73, + 0x00FE77, + 0x00FE79, + 0x00FE7B, + 0x00FE7D, + 0x010808, + 0x01083C, + 0x010A00, + 0x010F27, + 0x011144, + 0x011147, + 0x011176, + 0x0111DA, + 0x0111DC, + 0x011288, + 0x01133D, + 0x011350, + 0x0114C7, + 0x011644, + 0x0116B8, + 0x011909, + 0x01193F, + 0x011941, + 0x0119E1, + 0x0119E3, + 0x011A00, + 0x011A3A, + 0x011A50, + 0x011A9D, + 0x011C40, + 0x011D46, + 0x011D98, + 0x011FB0, + 0x016F50, + 0x016FE3, + 0x01D4A2, + 0x01D4BB, + 0x01D546, + 0x01E14E, + 0x01E94B, + 0x01EE24, + 0x01EE27, + 0x01EE39, + 0x01EE3B, + 0x01EE42, + 0x01EE47, + 0x01EE49, + 0x01EE4B, + 0x01EE54, + 0x01EE57, + 0x01EE59, + 0x01EE5B, + 0x01EE5D, + 0x01EE5F, + 0x01EE64, + 0x01EE7E + ], + ranges: [ + [0x000041, 0x00005A], + [0x000061, 0x00007A], + [0x0000C0, 0x0000D6], + [0x0000D8, 0x0000F6], + [0x0000F8, 0x0002C1], + [0x0002C6, 0x0002D1], + [0x0002E0, 0x0002E4], + [0x000370, 0x000374], + [0x000376, 0x000377], + [0x00037B, 0x00037D], + [0x000388, 0x00038A], + [0x00038E, 0x0003A1], + [0x0003A3, 0x0003F5], + [0x0003F7, 0x000481], + [0x00048A, 0x00052F], + [0x000531, 0x000556], + [0x000560, 0x000588], + [0x0005D0, 0x0005EA], + [0x0005EF, 0x0005F2], + [0x000620, 0x00064A], + [0x00066E, 0x00066F], + [0x000671, 0x0006D3], + [0x0006E5, 0x0006E6], + [0x0006EE, 0x0006EF], + [0x0006FA, 0x0006FC], + [0x000712, 0x00072F], + [0x00074D, 0x0007A5], + [0x0007CA, 0x0007EA], + [0x0007F4, 0x0007F5], + [0x000800, 0x000815], + [0x000840, 0x000858], + [0x000860, 0x00086A], + [0x0008A0, 0x0008B4], + [0x0008B6, 0x0008C7], + [0x000904, 0x000939], + [0x000958, 0x000961], + [0x000971, 0x000980], + [0x000985, 0x00098C], + [0x00098F, 0x000990], + [0x000993, 0x0009A8], + [0x0009AA, 0x0009B0], + [0x0009B6, 0x0009B9], + [0x0009DC, 0x0009DD], + [0x0009DF, 0x0009E1], + [0x0009F0, 0x0009F1], + [0x000A05, 0x000A0A], + [0x000A0F, 0x000A10], + [0x000A13, 0x000A28], + [0x000A2A, 0x000A30], + [0x000A32, 0x000A33], + [0x000A35, 0x000A36], + [0x000A38, 0x000A39], + [0x000A59, 0x000A5C], + [0x000A72, 0x000A74], + [0x000A85, 0x000A8D], + [0x000A8F, 0x000A91], + [0x000A93, 0x000AA8], + [0x000AAA, 0x000AB0], + [0x000AB2, 0x000AB3], + [0x000AB5, 0x000AB9], + [0x000AE0, 0x000AE1], + [0x000B05, 0x000B0C], + [0x000B0F, 0x000B10], + [0x000B13, 0x000B28], + [0x000B2A, 0x000B30], + [0x000B32, 0x000B33], + [0x000B35, 0x000B39], + [0x000B5C, 0x000B5D], + [0x000B5F, 0x000B61], + [0x000B85, 0x000B8A], + [0x000B8E, 0x000B90], + [0x000B92, 0x000B95], + [0x000B99, 0x000B9A], + [0x000B9E, 0x000B9F], + [0x000BA3, 0x000BA4], + [0x000BA8, 0x000BAA], + [0x000BAE, 0x000BB9], + [0x000C05, 0x000C0C], + [0x000C0E, 0x000C10], + [0x000C12, 0x000C28], + [0x000C2A, 0x000C39], + [0x000C58, 0x000C5A], + [0x000C60, 0x000C61], + [0x000C85, 0x000C8C], + [0x000C8E, 0x000C90], + [0x000C92, 0x000CA8], + [0x000CAA, 0x000CB3], + [0x000CB5, 0x000CB9], + [0x000CE0, 0x000CE1], + [0x000CF1, 0x000CF2], + [0x000D04, 0x000D0C], + [0x000D0E, 0x000D10], + [0x000D12, 0x000D3A], + [0x000D54, 0x000D56], + [0x000D5F, 0x000D61], + [0x000D7A, 0x000D7F], + [0x000D85, 0x000D96], + [0x000D9A, 0x000DB1], + [0x000DB3, 0x000DBB], + [0x000DC0, 0x000DC6], + [0x000E01, 0x000E30], + [0x000E40, 0x000E46], + [0x000E81, 0x000E82], + [0x000E86, 0x000E8A], + [0x000E8C, 0x000EA3], + [0x000EA7, 0x000EB0], + [0x000EC0, 0x000EC4], + [0x000EDC, 0x000EDF], + [0x000F40, 0x000F47], + [0x000F49, 0x000F6C], + [0x000F88, 0x000F8C], + [0x001000, 0x00102A], + [0x001050, 0x001055], + [0x00105A, 0x00105D], + [0x001065, 0x001066], + [0x00106E, 0x001070], + [0x001075, 0x001081], + [0x0010A0, 0x0010C5], + [0x0010D0, 0x0010FA], + [0x0010FC, 0x001248], + [0x00124A, 0x00124D], + [0x001250, 0x001256], + [0x00125A, 0x00125D], + [0x001260, 0x001288], + [0x00128A, 0x00128D], + [0x001290, 0x0012B0], + [0x0012B2, 0x0012B5], + [0x0012B8, 0x0012BE], + [0x0012C2, 0x0012C5], + [0x0012C8, 0x0012D6], + [0x0012D8, 0x001310], + [0x001312, 0x001315], + [0x001318, 0x00135A], + [0x001380, 0x00138F], + [0x0013A0, 0x0013F5], + [0x0013F8, 0x0013FD], + [0x001401, 0x00166C], + [0x00166F, 0x00167F], + [0x001681, 0x00169A], + [0x0016A0, 0x0016EA], + [0x0016EE, 0x0016F8], + [0x001700, 0x00170C], + [0x00170E, 0x001711], + [0x001720, 0x001731], + [0x001740, 0x001751], + [0x001760, 0x00176C], + [0x00176E, 0x001770], + [0x001780, 0x0017B3], + [0x001820, 0x001878], + [0x001880, 0x0018A8], + [0x0018B0, 0x0018F5], + [0x001900, 0x00191E], + [0x001950, 0x00196D], + [0x001970, 0x001974], + [0x001980, 0x0019AB], + [0x0019B0, 0x0019C9], + [0x001A00, 0x001A16], + [0x001A20, 0x001A54], + [0x001B05, 0x001B33], + [0x001B45, 0x001B4B], + [0x001B83, 0x001BA0], + [0x001BAE, 0x001BAF], + [0x001BBA, 0x001BE5], + [0x001C00, 0x001C23], + [0x001C4D, 0x001C4F], + [0x001C5A, 0x001C7D], + [0x001C80, 0x001C88], + [0x001C90, 0x001CBA], + [0x001CBD, 0x001CBF], + [0x001CE9, 0x001CEC], + [0x001CEE, 0x001CF3], + [0x001CF5, 0x001CF6], + [0x001D00, 0x001DBF], + [0x001E00, 0x001F15], + [0x001F18, 0x001F1D], + [0x001F20, 0x001F45], + [0x001F48, 0x001F4D], + [0x001F50, 0x001F57], + [0x001F5F, 0x001F7D], + [0x001F80, 0x001FB4], + [0x001FB6, 0x001FBC], + [0x001FC2, 0x001FC4], + [0x001FC6, 0x001FCC], + [0x001FD0, 0x001FD3], + [0x001FD6, 0x001FDB], + [0x001FE0, 0x001FEC], + [0x001FF2, 0x001FF4], + [0x001FF6, 0x001FFC], + [0x002090, 0x00209C], + [0x00210A, 0x002113], + [0x002118, 0x00211D], + [0x00212A, 0x002139], + [0x00213C, 0x00213F], + [0x002145, 0x002149], + [0x002160, 0x002188], + [0x002C00, 0x002C2E], + [0x002C30, 0x002C5E], + [0x002C60, 0x002CE4], + [0x002CEB, 0x002CEE], + [0x002CF2, 0x002CF3], + [0x002D00, 0x002D25], + [0x002D30, 0x002D67], + [0x002D80, 0x002D96], + [0x002DA0, 0x002DA6], + [0x002DA8, 0x002DAE], + [0x002DB0, 0x002DB6], + [0x002DB8, 0x002DBE], + [0x002DC0, 0x002DC6], + [0x002DC8, 0x002DCE], + [0x002DD0, 0x002DD6], + [0x002DD8, 0x002DDE], + [0x003005, 0x003007], + [0x003021, 0x003029], + [0x003031, 0x003035], + [0x003038, 0x00303C], + [0x003041, 0x003096], + [0x00309D, 0x00309F], + [0x0030A1, 0x0030FA], + [0x0030FC, 0x0030FF], + [0x003105, 0x00312F], + [0x003131, 0x00318E], + [0x0031A0, 0x0031BF], + [0x0031F0, 0x0031FF], + [0x003400, 0x004DBF], + [0x004E00, 0x009FFC], + [0x00A000, 0x00A48C], + [0x00A4D0, 0x00A4FD], + [0x00A500, 0x00A60C], + [0x00A610, 0x00A61F], + [0x00A62A, 0x00A62B], + [0x00A640, 0x00A66E], + [0x00A67F, 0x00A69D], + [0x00A6A0, 0x00A6EF], + [0x00A717, 0x00A71F], + [0x00A722, 0x00A788], + [0x00A78B, 0x00A7BF], + [0x00A7C2, 0x00A7CA], + [0x00A7F5, 0x00A801], + [0x00A803, 0x00A805], + [0x00A807, 0x00A80A], + [0x00A80C, 0x00A822], + [0x00A840, 0x00A873], + [0x00A882, 0x00A8B3], + [0x00A8F2, 0x00A8F7], + [0x00A8FD, 0x00A8FE], + [0x00A90A, 0x00A925], + [0x00A930, 0x00A946], + [0x00A960, 0x00A97C], + [0x00A984, 0x00A9B2], + [0x00A9E0, 0x00A9E4], + [0x00A9E6, 0x00A9EF], + [0x00A9FA, 0x00A9FE], + [0x00AA00, 0x00AA28], + [0x00AA40, 0x00AA42], + [0x00AA44, 0x00AA4B], + [0x00AA60, 0x00AA76], + [0x00AA7E, 0x00AAAF], + [0x00AAB5, 0x00AAB6], + [0x00AAB9, 0x00AABD], + [0x00AADB, 0x00AADD], + [0x00AAE0, 0x00AAEA], + [0x00AAF2, 0x00AAF4], + [0x00AB01, 0x00AB06], + [0x00AB09, 0x00AB0E], + [0x00AB11, 0x00AB16], + [0x00AB20, 0x00AB26], + [0x00AB28, 0x00AB2E], + [0x00AB30, 0x00AB5A], + [0x00AB5C, 0x00AB69], + [0x00AB70, 0x00ABE2], + [0x00AC00, 0x00D7A3], + [0x00D7B0, 0x00D7C6], + [0x00D7CB, 0x00D7FB], + [0x00F900, 0x00FA6D], + [0x00FA70, 0x00FAD9], + [0x00FB00, 0x00FB06], + [0x00FB13, 0x00FB17], + [0x00FB1F, 0x00FB28], + [0x00FB2A, 0x00FB36], + [0x00FB38, 0x00FB3C], + [0x00FB40, 0x00FB41], + [0x00FB43, 0x00FB44], + [0x00FB46, 0x00FBB1], + [0x00FBD3, 0x00FC5D], + [0x00FC64, 0x00FD3D], + [0x00FD50, 0x00FD8F], + [0x00FD92, 0x00FDC7], + [0x00FDF0, 0x00FDF9], + [0x00FE7F, 0x00FEFC], + [0x00FF21, 0x00FF3A], + [0x00FF41, 0x00FF5A], + [0x00FF66, 0x00FF9D], + [0x00FFA0, 0x00FFBE], + [0x00FFC2, 0x00FFC7], + [0x00FFCA, 0x00FFCF], + [0x00FFD2, 0x00FFD7], + [0x00FFDA, 0x00FFDC], + [0x010000, 0x01000B], + [0x01000D, 0x010026], + [0x010028, 0x01003A], + [0x01003C, 0x01003D], + [0x01003F, 0x01004D], + [0x010050, 0x01005D], + [0x010080, 0x0100FA], + [0x010140, 0x010174], + [0x010280, 0x01029C], + [0x0102A0, 0x0102D0], + [0x010300, 0x01031F], + [0x01032D, 0x01034A], + [0x010350, 0x010375], + [0x010380, 0x01039D], + [0x0103A0, 0x0103C3], + [0x0103C8, 0x0103CF], + [0x0103D1, 0x0103D5], + [0x010400, 0x01049D], + [0x0104B0, 0x0104D3], + [0x0104D8, 0x0104FB], + [0x010500, 0x010527], + [0x010530, 0x010563], + [0x010600, 0x010736], + [0x010740, 0x010755], + [0x010760, 0x010767], + [0x010800, 0x010805], + [0x01080A, 0x010835], + [0x010837, 0x010838], + [0x01083F, 0x010855], + [0x010860, 0x010876], + [0x010880, 0x01089E], + [0x0108E0, 0x0108F2], + [0x0108F4, 0x0108F5], + [0x010900, 0x010915], + [0x010920, 0x010939], + [0x010980, 0x0109B7], + [0x0109BE, 0x0109BF], + [0x010A10, 0x010A13], + [0x010A15, 0x010A17], + [0x010A19, 0x010A35], + [0x010A60, 0x010A7C], + [0x010A80, 0x010A9C], + [0x010AC0, 0x010AC7], + [0x010AC9, 0x010AE4], + [0x010B00, 0x010B35], + [0x010B40, 0x010B55], + [0x010B60, 0x010B72], + [0x010B80, 0x010B91], + [0x010C00, 0x010C48], + [0x010C80, 0x010CB2], + [0x010CC0, 0x010CF2], + [0x010D00, 0x010D23], + [0x010E80, 0x010EA9], + [0x010EB0, 0x010EB1], + [0x010F00, 0x010F1C], + [0x010F30, 0x010F45], + [0x010FB0, 0x010FC4], + [0x010FE0, 0x010FF6], + [0x011003, 0x011037], + [0x011083, 0x0110AF], + [0x0110D0, 0x0110E8], + [0x011103, 0x011126], + [0x011150, 0x011172], + [0x011183, 0x0111B2], + [0x0111C1, 0x0111C4], + [0x011200, 0x011211], + [0x011213, 0x01122B], + [0x011280, 0x011286], + [0x01128A, 0x01128D], + [0x01128F, 0x01129D], + [0x01129F, 0x0112A8], + [0x0112B0, 0x0112DE], + [0x011305, 0x01130C], + [0x01130F, 0x011310], + [0x011313, 0x011328], + [0x01132A, 0x011330], + [0x011332, 0x011333], + [0x011335, 0x011339], + [0x01135D, 0x011361], + [0x011400, 0x011434], + [0x011447, 0x01144A], + [0x01145F, 0x011461], + [0x011480, 0x0114AF], + [0x0114C4, 0x0114C5], + [0x011580, 0x0115AE], + [0x0115D8, 0x0115DB], + [0x011600, 0x01162F], + [0x011680, 0x0116AA], + [0x011700, 0x01171A], + [0x011800, 0x01182B], + [0x0118A0, 0x0118DF], + [0x0118FF, 0x011906], + [0x01190C, 0x011913], + [0x011915, 0x011916], + [0x011918, 0x01192F], + [0x0119A0, 0x0119A7], + [0x0119AA, 0x0119D0], + [0x011A0B, 0x011A32], + [0x011A5C, 0x011A89], + [0x011AC0, 0x011AF8], + [0x011C00, 0x011C08], + [0x011C0A, 0x011C2E], + [0x011C72, 0x011C8F], + [0x011D00, 0x011D06], + [0x011D08, 0x011D09], + [0x011D0B, 0x011D30], + [0x011D60, 0x011D65], + [0x011D67, 0x011D68], + [0x011D6A, 0x011D89], + [0x011EE0, 0x011EF2], + [0x012000, 0x012399], + [0x012400, 0x01246E], + [0x012480, 0x012543], + [0x013000, 0x01342E], + [0x014400, 0x014646], + [0x016800, 0x016A38], + [0x016A40, 0x016A5E], + [0x016AD0, 0x016AED], + [0x016B00, 0x016B2F], + [0x016B40, 0x016B43], + [0x016B63, 0x016B77], + [0x016B7D, 0x016B8F], + [0x016E40, 0x016E7F], + [0x016F00, 0x016F4A], + [0x016F93, 0x016F9F], + [0x016FE0, 0x016FE1], + [0x017000, 0x0187F7], + [0x018800, 0x018CD5], + [0x018D00, 0x018D08], + [0x01B000, 0x01B11E], + [0x01B150, 0x01B152], + [0x01B164, 0x01B167], + [0x01B170, 0x01B2FB], + [0x01BC00, 0x01BC6A], + [0x01BC70, 0x01BC7C], + [0x01BC80, 0x01BC88], + [0x01BC90, 0x01BC99], + [0x01D400, 0x01D454], + [0x01D456, 0x01D49C], + [0x01D49E, 0x01D49F], + [0x01D4A5, 0x01D4A6], + [0x01D4A9, 0x01D4AC], + [0x01D4AE, 0x01D4B9], + [0x01D4BD, 0x01D4C3], + [0x01D4C5, 0x01D505], + [0x01D507, 0x01D50A], + [0x01D50D, 0x01D514], + [0x01D516, 0x01D51C], + [0x01D51E, 0x01D539], + [0x01D53B, 0x01D53E], + [0x01D540, 0x01D544], + [0x01D54A, 0x01D550], + [0x01D552, 0x01D6A5], + [0x01D6A8, 0x01D6C0], + [0x01D6C2, 0x01D6DA], + [0x01D6DC, 0x01D6FA], + [0x01D6FC, 0x01D714], + [0x01D716, 0x01D734], + [0x01D736, 0x01D74E], + [0x01D750, 0x01D76E], + [0x01D770, 0x01D788], + [0x01D78A, 0x01D7A8], + [0x01D7AA, 0x01D7C2], + [0x01D7C4, 0x01D7CB], + [0x01E100, 0x01E12C], + [0x01E137, 0x01E13D], + [0x01E2C0, 0x01E2EB], + [0x01E800, 0x01E8C4], + [0x01E900, 0x01E943], + [0x01EE00, 0x01EE03], + [0x01EE05, 0x01EE1F], + [0x01EE21, 0x01EE22], + [0x01EE29, 0x01EE32], + [0x01EE34, 0x01EE37], + [0x01EE4D, 0x01EE4F], + [0x01EE51, 0x01EE52], + [0x01EE61, 0x01EE62], + [0x01EE67, 0x01EE6A], + [0x01EE6C, 0x01EE72], + [0x01EE74, 0x01EE77], + [0x01EE79, 0x01EE7C], + [0x01EE80, 0x01EE89], + [0x01EE8B, 0x01EE9B], + [0x01EEA1, 0x01EEA3], + [0x01EEA5, 0x01EEA9], + [0x01EEAB, 0x01EEBB], + [0x020000, 0x02A6DD], + [0x02A700, 0x02B734], + [0x02B740, 0x02B81D], + [0x02B820, 0x02CEA1], + [0x02CEB0, 0x02EBE0], + [0x02F800, 0x02FA1D], + [0x030000, 0x03134A] + ] +}); +testPropertyEscapes( + /^\p{XID_Start}+$/u, + matchSymbols, + "\\p{XID_Start}" +); +testPropertyEscapes( + /^\p{XIDS}+$/u, + matchSymbols, + "\\p{XIDS}" +); + +const nonMatchSymbols = buildString({ + loneCodePoints: [ + 0x0000D7, + 0x0000F7, + 0x0002ED, + 0x000375, + 0x00037E, + 0x000387, + 0x00038B, + 0x00038D, + 0x0003A2, + 0x0003F6, + 0x000530, + 0x000670, + 0x0006D4, + 0x000711, + 0x0008B5, + 0x0009A9, + 0x0009B1, + 0x0009DE, + 0x000A29, + 0x000A31, + 0x000A34, + 0x000A37, + 0x000A5D, + 0x000A8E, + 0x000A92, + 0x000AA9, + 0x000AB1, + 0x000AB4, + 0x000B29, + 0x000B31, + 0x000B34, + 0x000B5E, + 0x000B84, + 0x000B91, + 0x000B9B, + 0x000B9D, + 0x000C0D, + 0x000C11, + 0x000C29, + 0x000C8D, + 0x000C91, + 0x000CA9, + 0x000CB4, + 0x000CDF, + 0x000D0D, + 0x000D11, + 0x000DB2, + 0x000DBC, + 0x000E31, + 0x000E83, + 0x000E85, + 0x000E8B, + 0x000EA4, + 0x000EA6, + 0x000EB1, + 0x000EC5, + 0x000F48, + 0x0010C6, + 0x0010FB, + 0x001249, + 0x001257, + 0x001259, + 0x001289, + 0x0012B1, + 0x0012BF, + 0x0012C1, + 0x0012D7, + 0x001311, + 0x001680, + 0x00170D, + 0x00176D, + 0x0018A9, + 0x001CED, + 0x001CF4, + 0x001F58, + 0x001F5A, + 0x001F5C, + 0x001F5E, + 0x001FB5, + 0x001FBD, + 0x001FC5, + 0x001FF5, + 0x002114, + 0x002125, + 0x002127, + 0x002129, + 0x002C2F, + 0x002C5F, + 0x002D26, + 0x002DA7, + 0x002DAF, + 0x002DB7, + 0x002DBF, + 0x002DC7, + 0x002DCF, + 0x002DD7, + 0x0030A0, + 0x0030FB, + 0x003130, + 0x00A802, + 0x00A806, + 0x00A80B, + 0x00A8FC, + 0x00A9E5, + 0x00A9FF, + 0x00AA43, + 0x00AAB0, + 0x00AAC1, + 0x00AB27, + 0x00AB2F, + 0x00AB5B, + 0x00FB1E, + 0x00FB29, + 0x00FB37, + 0x00FB3D, + 0x00FB3F, + 0x00FB42, + 0x00FB45, + 0x00FE72, + 0x00FE78, + 0x00FE7A, + 0x00FE7C, + 0x00FE7E, + 0x01000C, + 0x010027, + 0x01003B, + 0x01003E, + 0x0103D0, + 0x010809, + 0x010836, + 0x0108F3, + 0x010A14, + 0x010A18, + 0x010AC8, + 0x0111DB, + 0x011212, + 0x011287, + 0x011289, + 0x01128E, + 0x01129E, + 0x011329, + 0x011331, + 0x011334, + 0x0114C6, + 0x011914, + 0x011917, + 0x011940, + 0x0119E2, + 0x011C09, + 0x011D07, + 0x011D0A, + 0x011D66, + 0x011D69, + 0x016FE2, + 0x01D455, + 0x01D49D, + 0x01D4AD, + 0x01D4BA, + 0x01D4BC, + 0x01D4C4, + 0x01D506, + 0x01D515, + 0x01D51D, + 0x01D53A, + 0x01D53F, + 0x01D545, + 0x01D551, + 0x01D6C1, + 0x01D6DB, + 0x01D6FB, + 0x01D715, + 0x01D735, + 0x01D74F, + 0x01D76F, + 0x01D789, + 0x01D7A9, + 0x01D7C3, + 0x01EE04, + 0x01EE20, + 0x01EE23, + 0x01EE28, + 0x01EE33, + 0x01EE38, + 0x01EE3A, + 0x01EE48, + 0x01EE4A, + 0x01EE4C, + 0x01EE50, + 0x01EE53, + 0x01EE58, + 0x01EE5A, + 0x01EE5C, + 0x01EE5E, + 0x01EE60, + 0x01EE63, + 0x01EE6B, + 0x01EE73, + 0x01EE78, + 0x01EE7D, + 0x01EE7F, + 0x01EE8A, + 0x01EEA4, + 0x01EEAA + ], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000040], + [0x00005B, 0x000060], + [0x00007B, 0x0000A9], + [0x0000AB, 0x0000B4], + [0x0000B6, 0x0000B9], + [0x0000BB, 0x0000BF], + [0x0002C2, 0x0002C5], + [0x0002D2, 0x0002DF], + [0x0002E5, 0x0002EB], + [0x0002EF, 0x00036F], + [0x000378, 0x00037A], + [0x000380, 0x000385], + [0x000482, 0x000489], + [0x000557, 0x000558], + [0x00055A, 0x00055F], + [0x000589, 0x0005CF], + [0x0005EB, 0x0005EE], + [0x0005F3, 0x00061F], + [0x00064B, 0x00066D], + [0x0006D6, 0x0006E4], + [0x0006E7, 0x0006ED], + [0x0006F0, 0x0006F9], + [0x0006FD, 0x0006FE], + [0x000700, 0x00070F], + [0x000730, 0x00074C], + [0x0007A6, 0x0007B0], + [0x0007B2, 0x0007C9], + [0x0007EB, 0x0007F3], + [0x0007F6, 0x0007F9], + [0x0007FB, 0x0007FF], + [0x000816, 0x000819], + [0x00081B, 0x000823], + [0x000825, 0x000827], + [0x000829, 0x00083F], + [0x000859, 0x00085F], + [0x00086B, 0x00089F], + [0x0008C8, 0x000903], + [0x00093A, 0x00093C], + [0x00093E, 0x00094F], + [0x000951, 0x000957], + [0x000962, 0x000970], + [0x000981, 0x000984], + [0x00098D, 0x00098E], + [0x000991, 0x000992], + [0x0009B3, 0x0009B5], + [0x0009BA, 0x0009BC], + [0x0009BE, 0x0009CD], + [0x0009CF, 0x0009DB], + [0x0009E2, 0x0009EF], + [0x0009F2, 0x0009FB], + [0x0009FD, 0x000A04], + [0x000A0B, 0x000A0E], + [0x000A11, 0x000A12], + [0x000A3A, 0x000A58], + [0x000A5F, 0x000A71], + [0x000A75, 0x000A84], + [0x000ABA, 0x000ABC], + [0x000ABE, 0x000ACF], + [0x000AD1, 0x000ADF], + [0x000AE2, 0x000AF8], + [0x000AFA, 0x000B04], + [0x000B0D, 0x000B0E], + [0x000B11, 0x000B12], + [0x000B3A, 0x000B3C], + [0x000B3E, 0x000B5B], + [0x000B62, 0x000B70], + [0x000B72, 0x000B82], + [0x000B8B, 0x000B8D], + [0x000B96, 0x000B98], + [0x000BA0, 0x000BA2], + [0x000BA5, 0x000BA7], + [0x000BAB, 0x000BAD], + [0x000BBA, 0x000BCF], + [0x000BD1, 0x000C04], + [0x000C3A, 0x000C3C], + [0x000C3E, 0x000C57], + [0x000C5B, 0x000C5F], + [0x000C62, 0x000C7F], + [0x000C81, 0x000C84], + [0x000CBA, 0x000CBC], + [0x000CBE, 0x000CDD], + [0x000CE2, 0x000CF0], + [0x000CF3, 0x000D03], + [0x000D3B, 0x000D3C], + [0x000D3E, 0x000D4D], + [0x000D4F, 0x000D53], + [0x000D57, 0x000D5E], + [0x000D62, 0x000D79], + [0x000D80, 0x000D84], + [0x000D97, 0x000D99], + [0x000DBE, 0x000DBF], + [0x000DC7, 0x000E00], + [0x000E33, 0x000E3F], + [0x000E47, 0x000E80], + [0x000EB3, 0x000EBC], + [0x000EBE, 0x000EBF], + [0x000EC7, 0x000EDB], + [0x000EE0, 0x000EFF], + [0x000F01, 0x000F3F], + [0x000F6D, 0x000F87], + [0x000F8D, 0x000FFF], + [0x00102B, 0x00103E], + [0x001040, 0x00104F], + [0x001056, 0x001059], + [0x00105E, 0x001060], + [0x001062, 0x001064], + [0x001067, 0x00106D], + [0x001071, 0x001074], + [0x001082, 0x00108D], + [0x00108F, 0x00109F], + [0x0010C8, 0x0010CC], + [0x0010CE, 0x0010CF], + [0x00124E, 0x00124F], + [0x00125E, 0x00125F], + [0x00128E, 0x00128F], + [0x0012B6, 0x0012B7], + [0x0012C6, 0x0012C7], + [0x001316, 0x001317], + [0x00135B, 0x00137F], + [0x001390, 0x00139F], + [0x0013F6, 0x0013F7], + [0x0013FE, 0x001400], + [0x00166D, 0x00166E], + [0x00169B, 0x00169F], + [0x0016EB, 0x0016ED], + [0x0016F9, 0x0016FF], + [0x001712, 0x00171F], + [0x001732, 0x00173F], + [0x001752, 0x00175F], + [0x001771, 0x00177F], + [0x0017B4, 0x0017D6], + [0x0017D8, 0x0017DB], + [0x0017DD, 0x00181F], + [0x001879, 0x00187F], + [0x0018AB, 0x0018AF], + [0x0018F6, 0x0018FF], + [0x00191F, 0x00194F], + [0x00196E, 0x00196F], + [0x001975, 0x00197F], + [0x0019AC, 0x0019AF], + [0x0019CA, 0x0019FF], + [0x001A17, 0x001A1F], + [0x001A55, 0x001AA6], + [0x001AA8, 0x001B04], + [0x001B34, 0x001B44], + [0x001B4C, 0x001B82], + [0x001BA1, 0x001BAD], + [0x001BB0, 0x001BB9], + [0x001BE6, 0x001BFF], + [0x001C24, 0x001C4C], + [0x001C50, 0x001C59], + [0x001C7E, 0x001C7F], + [0x001C89, 0x001C8F], + [0x001CBB, 0x001CBC], + [0x001CC0, 0x001CE8], + [0x001CF7, 0x001CF9], + [0x001CFB, 0x001CFF], + [0x001DC0, 0x001DFF], + [0x001F16, 0x001F17], + [0x001F1E, 0x001F1F], + [0x001F46, 0x001F47], + [0x001F4E, 0x001F4F], + [0x001F7E, 0x001F7F], + [0x001FBF, 0x001FC1], + [0x001FCD, 0x001FCF], + [0x001FD4, 0x001FD5], + [0x001FDC, 0x001FDF], + [0x001FED, 0x001FF1], + [0x001FFD, 0x002070], + [0x002072, 0x00207E], + [0x002080, 0x00208F], + [0x00209D, 0x002101], + [0x002103, 0x002106], + [0x002108, 0x002109], + [0x002116, 0x002117], + [0x00211E, 0x002123], + [0x00213A, 0x00213B], + [0x002140, 0x002144], + [0x00214A, 0x00214D], + [0x00214F, 0x00215F], + [0x002189, 0x002BFF], + [0x002CE5, 0x002CEA], + [0x002CEF, 0x002CF1], + [0x002CF4, 0x002CFF], + [0x002D28, 0x002D2C], + [0x002D2E, 0x002D2F], + [0x002D68, 0x002D6E], + [0x002D70, 0x002D7F], + [0x002D97, 0x002D9F], + [0x002DDF, 0x003004], + [0x003008, 0x003020], + [0x00302A, 0x003030], + [0x003036, 0x003037], + [0x00303D, 0x003040], + [0x003097, 0x00309C], + [0x003100, 0x003104], + [0x00318F, 0x00319F], + [0x0031C0, 0x0031EF], + [0x003200, 0x0033FF], + [0x004DC0, 0x004DFF], + [0x009FFD, 0x009FFF], + [0x00A48D, 0x00A4CF], + [0x00A4FE, 0x00A4FF], + [0x00A60D, 0x00A60F], + [0x00A620, 0x00A629], + [0x00A62C, 0x00A63F], + [0x00A66F, 0x00A67E], + [0x00A69E, 0x00A69F], + [0x00A6F0, 0x00A716], + [0x00A720, 0x00A721], + [0x00A789, 0x00A78A], + [0x00A7C0, 0x00A7C1], + [0x00A7CB, 0x00A7F4], + [0x00A823, 0x00A83F], + [0x00A874, 0x00A881], + [0x00A8B4, 0x00A8F1], + [0x00A8F8, 0x00A8FA], + [0x00A8FF, 0x00A909], + [0x00A926, 0x00A92F], + [0x00A947, 0x00A95F], + [0x00A97D, 0x00A983], + [0x00A9B3, 0x00A9CE], + [0x00A9D0, 0x00A9DF], + [0x00A9F0, 0x00A9F9], + [0x00AA29, 0x00AA3F], + [0x00AA4C, 0x00AA5F], + [0x00AA77, 0x00AA79], + [0x00AA7B, 0x00AA7D], + [0x00AAB2, 0x00AAB4], + [0x00AAB7, 0x00AAB8], + [0x00AABE, 0x00AABF], + [0x00AAC3, 0x00AADA], + [0x00AADE, 0x00AADF], + [0x00AAEB, 0x00AAF1], + [0x00AAF5, 0x00AB00], + [0x00AB07, 0x00AB08], + [0x00AB0F, 0x00AB10], + [0x00AB17, 0x00AB1F], + [0x00AB6A, 0x00AB6F], + [0x00ABE3, 0x00ABFF], + [0x00D7A4, 0x00D7AF], + [0x00D7C7, 0x00D7CA], + [0x00D7FC, 0x00DBFF], + [0x00E000, 0x00F8FF], + [0x00FA6E, 0x00FA6F], + [0x00FADA, 0x00FAFF], + [0x00FB07, 0x00FB12], + [0x00FB18, 0x00FB1C], + [0x00FBB2, 0x00FBD2], + [0x00FC5E, 0x00FC63], + [0x00FD3E, 0x00FD4F], + [0x00FD90, 0x00FD91], + [0x00FDC8, 0x00FDEF], + [0x00FDFA, 0x00FE70], + [0x00FE74, 0x00FE76], + [0x00FEFD, 0x00FF20], + [0x00FF3B, 0x00FF40], + [0x00FF5B, 0x00FF65], + [0x00FF9E, 0x00FF9F], + [0x00FFBF, 0x00FFC1], + [0x00FFC8, 0x00FFC9], + [0x00FFD0, 0x00FFD1], + [0x00FFD8, 0x00FFD9], + [0x00FFDD, 0x00FFFF], + [0x01004E, 0x01004F], + [0x01005E, 0x01007F], + [0x0100FB, 0x01013F], + [0x010175, 0x01027F], + [0x01029D, 0x01029F], + [0x0102D1, 0x0102FF], + [0x010320, 0x01032C], + [0x01034B, 0x01034F], + [0x010376, 0x01037F], + [0x01039E, 0x01039F], + [0x0103C4, 0x0103C7], + [0x0103D6, 0x0103FF], + [0x01049E, 0x0104AF], + [0x0104D4, 0x0104D7], + [0x0104FC, 0x0104FF], + [0x010528, 0x01052F], + [0x010564, 0x0105FF], + [0x010737, 0x01073F], + [0x010756, 0x01075F], + [0x010768, 0x0107FF], + [0x010806, 0x010807], + [0x010839, 0x01083B], + [0x01083D, 0x01083E], + [0x010856, 0x01085F], + [0x010877, 0x01087F], + [0x01089F, 0x0108DF], + [0x0108F6, 0x0108FF], + [0x010916, 0x01091F], + [0x01093A, 0x01097F], + [0x0109B8, 0x0109BD], + [0x0109C0, 0x0109FF], + [0x010A01, 0x010A0F], + [0x010A36, 0x010A5F], + [0x010A7D, 0x010A7F], + [0x010A9D, 0x010ABF], + [0x010AE5, 0x010AFF], + [0x010B36, 0x010B3F], + [0x010B56, 0x010B5F], + [0x010B73, 0x010B7F], + [0x010B92, 0x010BFF], + [0x010C49, 0x010C7F], + [0x010CB3, 0x010CBF], + [0x010CF3, 0x010CFF], + [0x010D24, 0x010E7F], + [0x010EAA, 0x010EAF], + [0x010EB2, 0x010EFF], + [0x010F1D, 0x010F26], + [0x010F28, 0x010F2F], + [0x010F46, 0x010FAF], + [0x010FC5, 0x010FDF], + [0x010FF7, 0x011002], + [0x011038, 0x011082], + [0x0110B0, 0x0110CF], + [0x0110E9, 0x011102], + [0x011127, 0x011143], + [0x011145, 0x011146], + [0x011148, 0x01114F], + [0x011173, 0x011175], + [0x011177, 0x011182], + [0x0111B3, 0x0111C0], + [0x0111C5, 0x0111D9], + [0x0111DD, 0x0111FF], + [0x01122C, 0x01127F], + [0x0112A9, 0x0112AF], + [0x0112DF, 0x011304], + [0x01130D, 0x01130E], + [0x011311, 0x011312], + [0x01133A, 0x01133C], + [0x01133E, 0x01134F], + [0x011351, 0x01135C], + [0x011362, 0x0113FF], + [0x011435, 0x011446], + [0x01144B, 0x01145E], + [0x011462, 0x01147F], + [0x0114B0, 0x0114C3], + [0x0114C8, 0x01157F], + [0x0115AF, 0x0115D7], + [0x0115DC, 0x0115FF], + [0x011630, 0x011643], + [0x011645, 0x01167F], + [0x0116AB, 0x0116B7], + [0x0116B9, 0x0116FF], + [0x01171B, 0x0117FF], + [0x01182C, 0x01189F], + [0x0118E0, 0x0118FE], + [0x011907, 0x011908], + [0x01190A, 0x01190B], + [0x011930, 0x01193E], + [0x011942, 0x01199F], + [0x0119A8, 0x0119A9], + [0x0119D1, 0x0119E0], + [0x0119E4, 0x0119FF], + [0x011A01, 0x011A0A], + [0x011A33, 0x011A39], + [0x011A3B, 0x011A4F], + [0x011A51, 0x011A5B], + [0x011A8A, 0x011A9C], + [0x011A9E, 0x011ABF], + [0x011AF9, 0x011BFF], + [0x011C2F, 0x011C3F], + [0x011C41, 0x011C71], + [0x011C90, 0x011CFF], + [0x011D31, 0x011D45], + [0x011D47, 0x011D5F], + [0x011D8A, 0x011D97], + [0x011D99, 0x011EDF], + [0x011EF3, 0x011FAF], + [0x011FB1, 0x011FFF], + [0x01239A, 0x0123FF], + [0x01246F, 0x01247F], + [0x012544, 0x012FFF], + [0x01342F, 0x0143FF], + [0x014647, 0x0167FF], + [0x016A39, 0x016A3F], + [0x016A5F, 0x016ACF], + [0x016AEE, 0x016AFF], + [0x016B30, 0x016B3F], + [0x016B44, 0x016B62], + [0x016B78, 0x016B7C], + [0x016B90, 0x016E3F], + [0x016E80, 0x016EFF], + [0x016F4B, 0x016F4F], + [0x016F51, 0x016F92], + [0x016FA0, 0x016FDF], + [0x016FE4, 0x016FFF], + [0x0187F8, 0x0187FF], + [0x018CD6, 0x018CFF], + [0x018D09, 0x01AFFF], + [0x01B11F, 0x01B14F], + [0x01B153, 0x01B163], + [0x01B168, 0x01B16F], + [0x01B2FC, 0x01BBFF], + [0x01BC6B, 0x01BC6F], + [0x01BC7D, 0x01BC7F], + [0x01BC89, 0x01BC8F], + [0x01BC9A, 0x01D3FF], + [0x01D4A0, 0x01D4A1], + [0x01D4A3, 0x01D4A4], + [0x01D4A7, 0x01D4A8], + [0x01D50B, 0x01D50C], + [0x01D547, 0x01D549], + [0x01D6A6, 0x01D6A7], + [0x01D7CC, 0x01E0FF], + [0x01E12D, 0x01E136], + [0x01E13E, 0x01E14D], + [0x01E14F, 0x01E2BF], + [0x01E2EC, 0x01E7FF], + [0x01E8C5, 0x01E8FF], + [0x01E944, 0x01E94A], + [0x01E94C, 0x01EDFF], + [0x01EE25, 0x01EE26], + [0x01EE3C, 0x01EE41], + [0x01EE43, 0x01EE46], + [0x01EE55, 0x01EE56], + [0x01EE65, 0x01EE66], + [0x01EE9C, 0x01EEA0], + [0x01EEBC, 0x01FFFF], + [0x02A6DE, 0x02A6FF], + [0x02B735, 0x02B73F], + [0x02B81E, 0x02B81F], + [0x02CEA2, 0x02CEAF], + [0x02EBE1, 0x02F7FF], + [0x02FA1E, 0x02FFFF], + [0x03134B, 0x10FFFF] + ] +}); +testPropertyEscapes( + /^\P{XID_Start}+$/u, + nonMatchSymbols, + "\\P{XID_Start}" +); +testPropertyEscapes( + /^\P{XIDS}+$/u, + nonMatchSymbols, + "\\P{XIDS}" +); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/browser.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/browser.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/browser.js diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/shell.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/shell.js new file mode 100644 index 0000000000..3c80817b09 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/generated/shell.js @@ -0,0 +1,60 @@ +// GENERATED, DO NOT EDIT +// file: regExpUtils.js +// Copyright (C) 2017 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: | + Collection of functions used to assert the correctness of RegExp objects. +defines: [buildString, testPropertyEscapes, matchValidator] +---*/ + +function buildString({ loneCodePoints, ranges }) { + const CHUNK_SIZE = 10000; + let result = Reflect.apply(String.fromCodePoint, null, loneCodePoints); + for (let i = 0; i < ranges.length; i++) { + const range = ranges[i]; + const start = range[0]; + const end = range[1]; + const codePoints = []; + for (let length = 0, codePoint = start; codePoint <= end; codePoint++) { + codePoints[length++] = codePoint; + if (length === CHUNK_SIZE) { + result += Reflect.apply(String.fromCodePoint, null, codePoints); + codePoints.length = length = 0; + } + } + result += Reflect.apply(String.fromCodePoint, null, codePoints); + } + return result; +} + +function testPropertyEscapes(regex, string, expression) { + if (!regex.test(string)) { + for (const symbol of string) { + const hex = symbol + .codePointAt(0) + .toString(16) + .toUpperCase() + .padStart(6, "0"); + assert( + regex.test(symbol), + `\`${ expression }\` should match U+${ hex } (\`${ symbol }\`)` + ); + } + } +} + +// Returns a function that will validate RegExp match result +// +// Example: +// +// var validate = matchValidator(['b'], 1, 'abc'); +// validate(/b/.exec('abc')); +// +function matchValidator(expectedEntries, expectedIndex, expectedInput) { + return function(match) { + assert.compareArray(match, expectedEntries, 'Match entries'); + assert.sameValue(match.index, expectedIndex, 'Match index'); + assert.sameValue(match.input, expectedInput, 'Match input'); + } +} diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js new file mode 100644 index 0000000000..8ab448df23 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{InAdlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js new file mode 100644 index 0000000000..b139524bc5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{InAdlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js new file mode 100644 index 0000000000..8ab448df23 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{InAdlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js new file mode 100644 index 0000000000..b139524bc5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{InAdlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js new file mode 100644 index 0000000000..6b31a3c0df --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{InScript=Adlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js new file mode 100644 index 0000000000..dcf2113476 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{InScript=Adlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js new file mode 100644 index 0000000000..cc3ccecaed --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{IsScript=Adlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js new file mode 100644 index 0000000000..008b8bd4ee --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{IsScript=Adlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js new file mode 100644 index 0000000000..28967cae69 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{^General_Category=Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js new file mode 100644 index 0000000000..ed8e89df8c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{^General_Category=Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js new file mode 100644 index 0000000000..0909592d23 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\p{}]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-empty.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-empty.js new file mode 100644 index 0000000000..3120c8940e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-empty.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\P{}]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js new file mode 100644 index 0000000000..9f4ccd404f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\P{invalid}]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-invalid.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-invalid.js new file mode 100644 index 0000000000..f531b70649 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-invalid.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/[\p{invalid}]/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js new file mode 100644 index 0000000000..5e089d4761 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js new file mode 100644 index 0000000000..6c650ab77c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\PL/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js new file mode 100644 index 0000000000..5d037c8628 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\pL/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js new file mode 100644 index 0000000000..561b9f7e1b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js new file mode 100644 index 0000000000..3b1fee83e0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{=Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js new file mode 100644 index 0000000000..88c9c3aec2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{=Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js new file mode 100644 index 0000000000..4d5e6a666f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{General_Category:Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js new file mode 100644 index 0000000000..065dd2941a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js new file mode 100644 index 0000000000..e23fd43900 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator.js new file mode 100644 index 0000000000..8f56f2542c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-separator.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{General_Category:Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js new file mode 100644 index 0000000000..e6fc977f8e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js new file mode 100644 index 0000000000..cacdb6c7bf --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js new file mode 100644 index 0000000000..33b071dbe8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unopened.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unopened.js new file mode 100644 index 0000000000..a7a2afb492 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/grammar-extension-unopened.js @@ -0,0 +1,22 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-01-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-01-negated.js new file mode 100644 index 0000000000..0fd0bb3770 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-01-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ General_Category=Uppercase_Letter }/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-01.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-01.js new file mode 100644 index 0000000000..5962132504 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-01.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ General_Category=Uppercase_Letter }/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-02-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-02-negated.js new file mode 100644 index 0000000000..4bc3ad10bb --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-02-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ Lowercase }/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-02.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-02.js new file mode 100644 index 0000000000..d7979fe1a5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-02.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ Lowercase }/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-03-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-03-negated.js new file mode 100644 index 0000000000..6981de9cb1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-03-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ANY}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-03.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-03.js new file mode 100644 index 0000000000..55d551e70f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-03.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ANY}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-04-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-04-negated.js new file mode 100644 index 0000000000..bcb22bc1d2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-04-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ASSIGNED}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-04.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-04.js new file mode 100644 index 0000000000..a217494e04 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-04.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ASSIGNED}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-05-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-05-negated.js new file mode 100644 index 0000000000..c13df11cfa --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-05-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Ascii}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-05.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-05.js new file mode 100644 index 0000000000..55ff24397e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-05.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Ascii}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-06-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-06-negated.js new file mode 100644 index 0000000000..bb30a870d6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-06-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{General_Category = Uppercase_Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-06.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-06.js new file mode 100644 index 0000000000..baf7361a6d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-06.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{General_Category = Uppercase_Letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-07-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-07-negated.js new file mode 100644 index 0000000000..2f3ac150de --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-07-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{_-_lOwEr_C-A_S-E_-_}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-07.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-07.js new file mode 100644 index 0000000000..f149cdefd7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-07.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{_-_lOwEr_C-A_S-E_-_}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-08-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-08-negated.js new file mode 100644 index 0000000000..571558b88f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-08-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{any}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-08.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-08.js new file mode 100644 index 0000000000..c799535a8a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-08.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{any}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-09-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-09-negated.js new file mode 100644 index 0000000000..72829c262b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-09-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{ascii}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-09.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-09.js new file mode 100644 index 0000000000..a3403243ea --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-09.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{ascii}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-10-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-10-negated.js new file mode 100644 index 0000000000..6d0451789b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-10-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{assigned}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-10.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-10.js new file mode 100644 index 0000000000..0789f4f774 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-10.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{assigned}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-11-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-11-negated.js new file mode 100644 index 0000000000..5ca93c9627 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-11-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{gC=uppercase_letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-11.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-11.js new file mode 100644 index 0000000000..dd8db3de99 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-11.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{gC=uppercase_letter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-12-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-12-negated.js new file mode 100644 index 0000000000..800f90a70f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-12-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{gc=uppercaseletter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-12.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-12.js new file mode 100644 index 0000000000..45ca136b9d --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-12.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{gc=uppercaseletter}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-13-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-13-negated.js new file mode 100644 index 0000000000..e2e2ddcad2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-13-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{lowercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-13.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-13.js new file mode 100644 index 0000000000..ffec23980b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-13.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{lowercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-14-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-14-negated.js new file mode 100644 index 0000000000..e2e2ddcad2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-14-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{lowercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-14.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-14.js new file mode 100644 index 0000000000..ffec23980b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/loose-matching-14.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{lowercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js new file mode 100644 index 0000000000..71d88e250f --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{General_Category=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js new file mode 100644 index 0000000000..5fc26a981a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{General_Category=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js new file mode 100644 index 0000000000..acf816c2c6 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{General_Category}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js new file mode 100644 index 0000000000..fb5143ecd9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{General_Category}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js new file mode 100644 index 0000000000..0f52ab07b8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Script=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js new file mode 100644 index 0000000000..9614a7f5e7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Script=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js new file mode 100644 index 0000000000..9888ae8f99 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Script}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js new file mode 100644 index 0000000000..a68249040a --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Script}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js new file mode 100644 index 0000000000..06a9bdc448 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Script_Extensions=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js new file mode 100644 index 0000000000..6456cc6af4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Script_Extensions=}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js new file mode 100644 index 0000000000..68d76f139c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Script_Extensions}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js new file mode 100644 index 0000000000..994aa6d308 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Script_Extensions}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js new file mode 100644 index 0000000000..eafa369663 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{UnknownBinaryProperty}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-binary-property.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-binary-property.js new file mode 100644 index 0000000000..da1e017aa0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-binary-property.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{UnknownBinaryProperty}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js new file mode 100644 index 0000000000..828fbcd236 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Line_Breakz=WAT}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-and-value.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-and-value.js new file mode 100644 index 0000000000..299186715c --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-and-value.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Line_Breakz=WAT}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js new file mode 100644 index 0000000000..ad5a450868 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Line_Breakz=Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js new file mode 100644 index 0000000000..3c15bb1002 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js @@ -0,0 +1,18 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Line_Breakz=Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js new file mode 100644 index 0000000000..a04bb578f2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\\P{General_Category=WAT}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js new file mode 100644 index 0000000000..d5b5fcd371 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\\P{Script=FooBarBazInvalid}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js new file mode 100644 index 0000000000..7e84a9d711 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\\p{Script=FooBarBazInvalid}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js new file mode 100644 index 0000000000..af3d4e6439 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\\P{Script_Extensions=H_e_h}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js new file mode 100644 index 0000000000..a1e1a5d8d5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\\p{Script_Extensions=H_e_h}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js new file mode 100644 index 0000000000..bf78af52f5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\\p{General_Category=WAT}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/shell.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/shell.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/shell.js diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js new file mode 100644 index 0000000000..a774724470 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Composition_Exclusion}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js new file mode 100644 index 0000000000..ed01765fd3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Composition_Exclusion}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js new file mode 100644 index 0000000000..103fbd35de --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Expands_On_NFC}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js new file mode 100644 index 0000000000..3f4f1f0bce --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Expands_On_NFC}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js new file mode 100644 index 0000000000..6b6c5c6285 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Expands_On_NFD}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js new file mode 100644 index 0000000000..a5b0c12895 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Expands_On_NFD}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js new file mode 100644 index 0000000000..5b09ad7ed4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Expands_On_NFKC}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js new file mode 100644 index 0000000000..1bb2b25b23 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Expands_On_NFKC}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js new file mode 100644 index 0000000000..51222095c4 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Expands_On_NFKD}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js new file mode 100644 index 0000000000..57bcc73f79 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Expands_On_NFKD}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js new file mode 100644 index 0000000000..9bf81d7cee --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{FC_NFKC_Closure}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js new file mode 100644 index 0000000000..4bca8d9ba5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{FC_NFKC_Closure}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js new file mode 100644 index 0000000000..8a07b645f3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Full_Composition_Exclusion}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js new file mode 100644 index 0000000000..6f609a5bff --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Full_Composition_Exclusion}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js new file mode 100644 index 0000000000..6b64ce8ced --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Grapheme_Link}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js new file mode 100644 index 0000000000..338961643e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Grapheme_Link}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js new file mode 100644 index 0000000000..0f5976b2c2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Hyphen}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js new file mode 100644 index 0000000000..b2e4e1e1e8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Hyphen}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js new file mode 100644 index 0000000000..e5d8507899 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js new file mode 100644 index 0000000000..4f9eaed6e8 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js new file mode 100644 index 0000000000..2dccaf3785 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_Default_Ignorable_Code_Point}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js new file mode 100644 index 0000000000..86897448f1 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_Default_Ignorable_Code_Point}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js new file mode 100644 index 0000000000..70a1b13be3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_Grapheme_Extend}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js new file mode 100644 index 0000000000..d1e95b7ef7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_Grapheme_Extend}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js new file mode 100644 index 0000000000..842fdbd71b --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_ID_Continue}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js new file mode 100644 index 0000000000..60aadfa0d7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_ID_Continue}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js new file mode 100644 index 0000000000..5ed7b1de63 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_ID_Start}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js new file mode 100644 index 0000000000..735e931eb5 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_ID_Start}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js new file mode 100644 index 0000000000..894a3a1712 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_Lowercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js new file mode 100644 index 0000000000..612026b404 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_Lowercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js new file mode 100644 index 0000000000..a5d8abf5a2 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_Math}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js new file mode 100644 index 0000000000..ae05560fd9 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_Math}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js new file mode 100644 index 0000000000..e201bcdb18 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Other_Uppercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js new file mode 100644 index 0000000000..fd0d742924 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Other_Uppercase}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js new file mode 100644 index 0000000000..fcabc64b75 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Prepended_Concatenation_Mark}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js new file mode 100644 index 0000000000..42282d6854 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Prepended_Concatenation_Mark}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js new file mode 100644 index 0000000000..fbd2eaf307 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Block=Adlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js new file mode 100644 index 0000000000..60d924a8e7 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Block=Adlam}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js new file mode 100644 index 0000000000..aea0c316d0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{FC_NFKC_Closure}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js new file mode 100644 index 0000000000..e09437ed21 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{FC_NFKC_Closure}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js new file mode 100644 index 0000000000..f28b28f567 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Line_Break=Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js new file mode 100644 index 0000000000..f28b28f567 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\P{Line_Break=Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js new file mode 100644 index 0000000000..39a9c89535 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Line_Break=Alphabetic}/u; diff --git a/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js new file mode 100644 index 0000000000..16879d8ad0 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js @@ -0,0 +1,19 @@ +// |reftest| error:SyntaxError +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +$DONOTEVALUATE(); + +/\p{Line_Break}/u; |